ソースを参照

Merge remote-tracking branch 'origin/feature/asyncOrder' into feature/asyncOrder

qzy 11 ヶ月 前
コミット
09d54485d3

+ 2 - 2
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrder.java

@@ -119,12 +119,12 @@ public class TbOrder extends Model<TbOrder> implements Serializable {
 	private String buyUserType;
 
 	/**
-	 * 交易状态(0=未支付,1=已支付)
+	 * 打款状态(0=初始值,1=打款成功,2=打款失败)
 	 */
 	private Integer tradeStatus;
 
 	/**
-	 * 交易时间
+	 * 打款回执时间
 	 */
 	private Date tradeTime;
 

+ 4 - 4
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderService.java

@@ -842,8 +842,8 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         // 更新状态保存交易记录
         if (2 == SXB023Status) {
             tbOrderList.forEach(order -> {
-                order.setTradeStatus(TradeStatus.TRADE_STATUS_Two.getCode()); //支付失败
-                order.setTradeTime(new Date()); //支付回执时间
+                order.setTradeStatus(TradeStatus.TRADE_STATUS_Two.getCode()); //打款失败
+                order.setTradeTime(new Date()); //打款回执时间
                 order.setUpdateTime(new Date());
 
                 boolean result = updateById(order);
@@ -855,8 +855,8 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
             htTradeSettlement.setFinishStatus(1).setFinishTime(new Date());
             htTradeSettlementService.updateById(htTradeSettlement);
             tbOrderList.forEach(order -> {
-                order.setTradeStatus(TradeStatus.TRADE_STATUS_ONE.getCode()); //已支付
-                order.setTradeTime(new Date()); //支付回执时间
+                order.setTradeStatus(TradeStatus.TRADE_STATUS_ONE.getCode()); //打款成功
+                order.setTradeTime(new Date()); //打款回执时间
                 order.setPayType(0); //支付类型
                 order.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode()); //已完成->完成后可以进行转售
                 order.setFinishTime(new Date());

+ 14 - 4
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrders.java

@@ -37,6 +37,7 @@ public class TbOrders extends Model<TbOrders> implements Serializable {
 	public static final String PERMISSION_CODE_EDIT = "tb-orders-edit";
 	public static final String PERMISSION_CODE_DEL = "tb-orders-del";
 	public static final String PERMISSION_CODE_EDIT_PRICE = "tb-order-edit-price";
+	public static final String PERMISSION_CODE_DEDUCTION = "tb-orders-deduction";
 
 
 
@@ -227,22 +228,22 @@ public class TbOrders extends Model<TbOrders> implements Serializable {
 	private Double resalePrice;
 
 	/**
-	 * 是否支付(0=未支付,1=支付,2=支付失败)
+	 * 是否支付(0=未支付,1=支付成功,2=支付失败,3=支付中)
 	 */
 	private Integer isPay;
 
 	/**
-	 * 支付时间
+	 * 支付/回执时间
 	 */
 	private Date payTime;
 
 	/**
-	 * 是否缴税缴费(0=未缴费,1=缴费,2=缴费失败)
+	 * 是否缴税缴费(0=未缴费,1=缴费成功,2=缴费失败,3=缴费中)
 	 */
 	private Integer payTax;
 
 	/**
-	 * 缴税缴费时间
+	 * 缴税缴费/回执时间
 	 */
 	private Date payTaxTime;
 
@@ -252,4 +253,13 @@ public class TbOrders extends Model<TbOrders> implements Serializable {
 	private String netWet;
 	private String totalWeight;
 	private String singlePrice;
+
+	/**
+	 * (二级市场)采购商补扣款次数
+	 */
+	private Integer deductionCount;
+	/**
+	 * (二级市场)采购商最近一次补扣款时间
+	 */
+	private Date deductionTime;
 }

+ 8 - 0
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersController.java

@@ -213,4 +213,12 @@ public class TbOrdersController {
         return AjaxJson.getSuccessData(so);
     }
 
+
+    /** 采购商补扣款 */
+    @RequestMapping("deduction")
+    @SaCheckPermission(TbOrders.PERMISSION_CODE_DEDUCTION)
+    public AjaxJson deduction(Long id){
+        tbOrdersService.deduction(id);
+        return AjaxJson.getSuccess();
+    }
 }

+ 33 - 6
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersService.java

@@ -2,6 +2,8 @@ package com.pj.tb_orders;
 
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
+import cn.hutool.log.StaticLog;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -173,6 +175,8 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
             }
             orderTwo.setPurchaserId(purchaser.getId());
             orderTwo.setPurchaserName(purchaser.getName());
+            orderTwo.setIsPay(3);//支付中
+            orderTwo.setPayTime(new Date());//支付时间
             boolean b = updateById(orderTwo);
             if (!b) throw new RuntimeException("购买异常,请重新登录或联系管理员!");
 
@@ -215,19 +219,21 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
         OrderDto orderOne = levelOneServerInterface.getOrderDtoById(orderTwo.getLevelOneOrderId());
         if (null == orderOne) new RuntimeException("收到采购商支付扣款回执:一级市场订单不存在");
 
-        if (2 == MKT008Status) {//扣款失败
+        if (2 == MKT008Status) {//支付失败
             //todo 订单状态更新
-            orderTwo.setIsPay(2);//支付失败
+            orderTwo.setIsPay(2);
             orderTwo.setPayTime(new Date());
-        } else if (1 == MKT008Status) {//扣款成功
+        } else if (1 == MKT008Status) {//支付成功
             //todo 1、订单状态更新
-            orderTwo.setIsPay(1);//支付成功
+            orderTwo.setIsPay(1);
             orderTwo.setPayTime(new Date());
 
+            orderTwo.setPayTax(3);//缴费中
+            orderTwo.setPayTaxTime(new Date());//缴费时间
             //todo 2、同步订单信息,发送航通
-            OrdersDto ordersDto = new OrdersDto();
+            /*OrdersDto ordersDto = new OrdersDto();
             BeanUtils.copyProperties(orderTwo, ordersDto);
-            asyncServerInterface.sendLevelTwoOrdersDto(ordersDto, DataType.DATA_TYPE_FOUR.getCode());
+            asyncServerInterface.sendLevelTwoOrdersDto(ordersDto, DataType.DATA_TYPE_FOUR.getCode());*/
 
             //todo 3、系统将服务费自动分账,将分账信息自动发送至银行进行划扣
             List<TbItemRules> ruleList = new ArrayList<>();
@@ -640,4 +646,25 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
     public List<OrderStaticsDTO> getPurchaserStatistics(SoMap so) {
         return tbOrdersMapper.getPurchaserStatistics(so);
     }
+
+    /**
+     * 采购商补扣款
+     */
+    public boolean deduction(Long id) {
+        TbOrders tbOrders = getById(id);
+        if (tbOrders == null) {
+            log.error("采购商补扣款失败:{}不存在", id);
+            return false;
+        }
+
+        OrderDto orderOne = levelOneServerInterface.getOrderDtoById(tbOrders.getLevelOneOrderId());
+        PaymentTwoDto paymentTwoDto = this.getPaymentData(tbOrders, orderOne);
+        StaticLog.info("\n---采购商补扣款---sendMKT006_NoCommission——PaymentTwoDto——:{}", JSONUtil.toJsonStr(paymentTwoDto));
+        paymentServerInterface.sendMKT006_NoCommission(paymentTwoDto);
+
+        tbOrders.setDeductionCount(tbOrders.getDeductionCount() + 1);
+        tbOrders.setDeductionTime(new Date());
+
+        return super.updateById(tbOrders);
+    }
 }