Просмотр исходного кода

fix neupos

release_toaliyun_real
lin 3 лет назад
Родитель
Сommit
478aa89a5e
6 измененных файлов: 172 добавлений и 1 удалений
  1. +38
    -0
      mallinkNeuPosAdmin/src/main/java/com/iformall/controller/NeuPosAdminController.java
  2. +29
    -0
      mallinkService/src/main/java/com/iformall/domain/dto/NeuPosUpdatePayDto.java
  3. +12
    -0
      mallinkService/src/main/java/com/iformall/mapper/NeuPosOrderMasterExtMapper.java
  4. +7
    -0
      mallinkService/src/main/java/com/iformall/service/NeuPosOrderService.java
  5. +63
    -0
      mallinkService/src/main/java/com/iformall/service/impl/NeuPosOrderServiceImpl.java
  6. +23
    -1
      mallinkService/src/main/resources/mapper/NeuPosOrderMasterExtMapper.xml

+ 38
- 0
mallinkNeuPosAdmin/src/main/java/com/iformall/controller/NeuPosAdminController.java Просмотреть файл

@@ -1,10 +1,13 @@
package com.iformall.controller; package com.iformall.controller;


import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.dto.NeuPosUpdatePayDto;
import com.iformall.domain.po.NeuPosOrderMasterExt; import com.iformall.domain.po.NeuPosOrderMasterExt;
import com.iformall.domain.po.WxActivity; import com.iformall.domain.po.WxActivity;
import com.iformall.domain.po.WxMallApply;
import com.iformall.domain.vo.NeuPosOrderDataBVo; import com.iformall.domain.vo.NeuPosOrderDataBVo;
import com.iformall.domain.vo.NeuPosSumDataBVo; import com.iformall.domain.vo.NeuPosSumDataBVo;
import com.iformall.domain.vo.WxCouponOrderBVo; import com.iformall.domain.vo.WxCouponOrderBVo;
@@ -21,6 +24,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;


@@ -201,4 +206,37 @@ public class NeuPosAdminController extends BaseController {
new String[] {"orderNumber","serialNo","orderAmount","discountAmount","payTypeName","paidTime","orderStatus"},"pos交易明细",new NeuPosOrderDataBVo(), request, response); new String[] {"orderNumber","serialNo","orderAmount","discountAmount","payTypeName","paidTime","orderStatus"},"pos交易明细",new NeuPosOrderDataBVo(), request, response);
} }
} }
@GetMapping("deviceList")
@ApiImplicitParams({
@ApiImplicitParam(name = "shopId", value = "租户号", dataType = "Long", paramType = "query", required = true)})
public ResultData deviceList(Long shopId) {
if (null == shopId) {
return new ResultData(Result.ERROR,"shopId is null.");
}
List<Map> maplist = neuPosOrderService.selectDeviceList(24L, shopId);
return new ResultData(maplist);
}
@GetMapping("orderDetail")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "订单编号", dataType = "Long", paramType = "query", required = true)})
public ResultData orderDetail(Long id) {
return new ResultData(neuPosOrderService.queyMasterOrderDetail(id));
}
@PostMapping("updatePayStatus")
public ResultData updatePayStatus(@RequestBody NeuPosUpdatePayDto neuPosUpdatePay) {
logger.info(" updatePayStatus :"+JSON.toJSONString(neuPosUpdatePay));
try {
neuPosOrderService.updatePayStatus(neuPosUpdatePay);
return new ResultData();
}catch(Exception e) {
logger.error("updatePayStatus error.",e);
return new ResultData(Result.ERROR,e.getMessage());
}

}
} }

+ 29
- 0
mallinkService/src/main/java/com/iformall/domain/dto/NeuPosUpdatePayDto.java Просмотреть файл

@@ -0,0 +1,29 @@
package com.iformall.domain.dto;

import lombok.Data;

@Data
public class NeuPosUpdatePayDto {

@io.swagger.annotations.ApiModelProperty(value = "订单编号", name = "订单编号")
private String orderNumber ;
@io.swagger.annotations.ApiModelProperty(value = "支付状态", name = "支付状态")
private Integer payStatus ;
@io.swagger.annotations.ApiModelProperty(value = "实际支付金额", name = "实际支付金额")
private Integer realPayAmount ;
@io.swagger.annotations.ApiModelProperty(value = "设备", name = "设备")
private String deviceId ;
private String deviceName ;
@io.swagger.annotations.ApiModelProperty(value = "支付类型", name = "设备")
private Integer payType;
private String payTypeName;
@io.swagger.annotations.ApiModelProperty(value = "订单金额", name = "订单金额")
private Integer payAmount;
@io.swagger.annotations.ApiModelProperty(value = "退款金额", name = "退款金额")
private Integer refundAmount = 0 ;
private String tradeId;
private String description;
}

+ 12
- 0
mallinkService/src/main/java/com/iformall/mapper/NeuPosOrderMasterExtMapper.java Просмотреть файл

@@ -2,6 +2,7 @@ package com.iformall.mapper;




import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.iformall.domain.dto.NeuPosUpdatePayDto;
import com.iformall.domain.po.NeuPosOrderMasterExt; import com.iformall.domain.po.NeuPosOrderMasterExt;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -24,5 +25,16 @@ public interface NeuPosOrderMasterExtMapper extends BaseMapper<NeuPosOrderMaster
List<String> selectOrgPayType(@Param("orgId") Integer orgId); List<String> selectOrgPayType(@Param("orgId") Integer orgId);
List<Map> queryOrderListByConditions(NeuPosOrderMasterExt example); List<Map> queryOrderListByConditions(NeuPosOrderMasterExt example);
Map queryMasterById(@Param("id") Long id);
void updateOrderMasterPayStatus(@Param("orderNumber") String orderNumber,@Param("payStatus") Integer payStatus);
List<Map> queryPayOrderByStatus(@Param("orderNumber") String orderNumber,@Param("payStatus") Integer payStatus);
void insertPayOder(NeuPosUpdatePayDto neuPosUpdatePayDto);
List<Map> queryDeviceList(@Param("organizationId") Long organizationId,@Param("shopId") Long shopId );


} }

+ 7
- 0
mallinkService/src/main/java/com/iformall/service/NeuPosOrderService.java Просмотреть файл

@@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.domain.dto.NeuPosUpdatePayDto;
import com.iformall.domain.po.NeuPosOrderMasterExt; import com.iformall.domain.po.NeuPosOrderMasterExt;


public interface NeuPosOrderService { public interface NeuPosOrderService {
@@ -34,4 +35,10 @@ public interface NeuPosOrderService {
PageInfo<Map> queryOrderList(NeuPosOrderMasterExt example,Integer pageIndex, Integer pageSize); PageInfo<Map> queryOrderList(NeuPosOrderMasterExt example,Integer pageIndex, Integer pageSize);
void exportData(List datas, String[] titleNames,String[] columnKeys,String fileName,Object voObject, HttpServletRequest request, HttpServletResponse response); void exportData(List datas, String[] titleNames,String[] columnKeys,String fileName,Object voObject, HttpServletRequest request, HttpServletResponse response);

Map queyMasterOrderDetail(Long id);
void updatePayStatus(NeuPosUpdatePayDto updatePay);
List<Map> selectDeviceList(Long orgId,Long shopId);
} }

+ 63
- 0
mallinkService/src/main/java/com/iformall/service/impl/NeuPosOrderServiceImpl.java Просмотреть файл

@@ -2,6 +2,7 @@ package com.iformall.service.impl;


import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.domain.dto.NeuPosUpdatePayDto;
import com.iformall.domain.po.NeuPosOrderMasterExt; import com.iformall.domain.po.NeuPosOrderMasterExt;
import com.iformall.domain.vo.WxCouponOrderBVo; import com.iformall.domain.vo.WxCouponOrderBVo;
import com.iformall.mapper.NeuPosOrderMasterExtMapper; import com.iformall.mapper.NeuPosOrderMasterExtMapper;
@@ -12,15 +13,19 @@ import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;


import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Random;


import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;


import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;


@Service @Service
public class NeuPosOrderServiceImpl implements NeuPosOrderService { public class NeuPosOrderServiceImpl implements NeuPosOrderService {
@@ -104,6 +109,64 @@ public class NeuPosOrderServiceImpl implements NeuPosOrderService {
} }


@Override
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public void updatePayStatus(NeuPosUpdatePayDto updatePay) {
Integer payStatus = null;
if ("1".equals(updatePay.getPayStatus())) {
payStatus = 1;
}else if ("2".equals(updatePay.getPayStatus())) {
payStatus = 3;
}else if ("3".equals(updatePay.getPayStatus())) {
payStatus = 1;
}else if ("4".equals(updatePay.getPayStatus())) {
payStatus = 1;
}else if ("5".equals(updatePay.getPayStatus())) {
payStatus = 2;
}else if ("6".equals(updatePay.getPayStatus())) {
payStatus = 4;
}else if ("7".equals(updatePay.getPayStatus())) {
payStatus = 4;
}else if ("8".equals(updatePay.getPayStatus())) {
payStatus = 4;
}else if ("9".equals(updatePay.getPayStatus())) {
payStatus = 5;
}
neuPosOrderMasterExtMapper.updateOrderMasterPayStatus(updatePay.getOrderNumber(), updatePay.getPayStatus());
List<Map> payOrderList = neuPosOrderMasterExtMapper.queryPayOrderByStatus(updatePay.getOrderNumber(), payStatus);
if (null == payOrderList || payOrderList.size() <= 0 ) {
updatePay.setTradeId(generateTradeId());
updatePay.setDescription("手动更改支付状态");
updatePay.setPayStatus(payStatus);
neuPosOrderMasterExtMapper.insertPayOder(updatePay);
}
}
private static String generateTradeId() {
String tradeId = (new Date()).getTime()+random(5,"0123456789");
return tradeId;
}
private static String random(int count,String value) {
StringBuffer sb = new StringBuffer();
Random r = new Random();
for (int i = 0 ; i < count; i++) {
int num = r.nextInt(value.length());
sb.append(value.charAt(num));
}
return sb.toString();
}

@Override
public Map queyMasterOrderDetail(Long id) {
return neuPosOrderMasterExtMapper.queryMasterById(id);
}

@Override
public List<Map> selectDeviceList(Long orgId, Long shopId) {
return neuPosOrderMasterExtMapper.queryDeviceList(orgId, shopId);
}



} }

+ 23
- 1
mallinkService/src/main/resources/mapper/NeuPosOrderMasterExtMapper.xml Просмотреть файл

@@ -214,7 +214,7 @@ SELECT
</select> </select>
<select id="queryOrderListByConditions" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map"> <select id="queryOrderListByConditions" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map">
SELECT o.paid_time AS paidTime,o.order_number AS orderNumber,o.serial_no AS serialNo,
SELECT o.id,o.shop_id as shopId,o.paid_time AS paidTime,o.order_number AS orderNumber,o.serial_no AS serialNo,
o.order_amount/100 AS orderAmount, o.order_amount/100 AS orderAmount,
sum( IF ( p.pay_type = 29, pay_amount, 0 ) )/100 AS discountAmount, sum( IF ( p.pay_type = 29, pay_amount, 0 ) )/100 AS discountAmount,
o.real_pay_amount / 100 AS realPayAmount, o.real_pay_amount / 100 AS realPayAmount,
@@ -241,4 +241,26 @@ SELECT
ORDER BY o.created_at desc ORDER BY o.created_at desc
</select> </select>
<select id="queryMasterById" parameterType="Integer" resultType="java.util.Map">
select * from order_master_v2 where id=#{id}
</select>
<update id="updateOrderMasterPayStatus" parameterType="java.util.Map">
update order_master_v2 set order_status=#{payStatus} where order_number=#{orderNumber}
</update>
<select id="queryPayOrderByStatus" parameterType="java.util.Map" resultType="java.util.Map">
select * from pay_order_v2 where m_order_number=#{orderNumber} and pay_status = #{payStatus}
</select>
<insert id="insertPayOder" parameterType="com.iformall.domain.dto.NeuPosUpdatePayDto">
insert into pay_order_v2(m_order_number,trade_id,device_id,device_name,description,pay_type,pay_type_name,pay_amount,refunded_amount,
time_expire,pay_status,pay_time,version,trade_type,created_at,created_by,updated_by,updated_at)
values (#{orderNumber},#{tradeId},#{deviceId},#{deviceName},#{description},#{payType},#{payTypeName},#{realPayAmount},#{refundAmount},
now(),#{payStatus},now(),1,"NATIVE",now(),"system","system",now())
</insert>
<select id="queryDeviceList" parameterType="java.util.Map" resultType="java.util.Map">
select serial_no as serialNo,alias from device where status = 0 and organization_id = #{organizationId} and store_id = #{shopId}
</select>
</mapper> </mapper>

Загрузка…
Отмена
Сохранить