瀏覽代碼

Merge branch 'main' of http://117.174.100.38:3000/lishiqiang/ship-ota-server into main1

luofeiyun 1 天之前
父節點
當前提交
d8fb79b9e9

+ 19 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderRespNewVO.java

@@ -11,6 +11,7 @@ import com.yc.ship.module.trade.dal.dataobject.contract.ContractDO;
 import com.yc.ship.module.trade.dal.dataobject.insurance.InsuranceDO;
 import com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO;
 import com.yc.ship.module.trade.dal.dataobject.orderjz.OrderJzDO;
+import com.yc.ship.module.trade.framework.annotation.ForUpdate;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -215,4 +216,22 @@ public class TradeOrderRespNewVO {
     @Schema(description = "定金支付时间")
     private LocalDateTime deposiPayTime;
 
+    @Schema(description  = "联系人")
+    private String linkMan;
+
+    @Schema(description  = "联系人电话")
+    private String linkMobile;
+
+    @Schema(description  = "联系人邮箱")
+    private String linkEmail;
+
+    @Schema(description  = "客户名称")
+    private String customerName;
+
+    @Schema(description  = "待支付金额")
+    private BigDecimal loadPayAmount;
+
+
+
+
 }

+ 8 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderRespVO.java

@@ -143,6 +143,11 @@ public class TradeOrderRespVO {
     @DictFormat("payment_status")
     private Integer paymentStatus;
 
+    @Schema(description = "支付状态", example = "2")
+//    @ExcelProperty(value = "支付状态", converter = DictConvert.class)
+    @DictFormat("payment_status")
+    private Integer payStatus;
+
     @Schema(description = "支付状态", example = "2")
     private Integer paymentStatusName;
 
@@ -530,5 +535,8 @@ public class TradeOrderRespVO {
     @Schema(description = "订单序号")
     private Integer orderSort;
 
+    @Schema(description = "待支付金额")
+    private BigDecimal loadPayAmount;
+
 
 }

+ 4 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/order/TradeOrderMapper.java

@@ -21,6 +21,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -107,6 +108,9 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
 
     String getPlatOrderNo(@Param("orderNo") String orderNo);
 
+    @TenantIgnore
+    BigDecimal getTotalPayByOrderNo(@Param("orderNo") String orderNo);
+
     IPage<TradeOrderRespVO> getCheckOrder(IPage<TradeOrderRespVO> page, @Param("vo") CheckOrderPageVO reqVO);
 
     int countCheckOrder(@Param("vo") CheckOrderPageVO reqVO);

+ 1 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/TradeOrderRepositoryService.java

@@ -177,6 +177,7 @@ public interface TradeOrderRepositoryService {
     List<TradeOrderPdaRespVO> getOrderAndDetail(PdaQueryOrderReqVO reqVO);
 
     String getPlatOrderNo(String orderNo);
+    BigDecimal getTotalPayByOrderNo(String orderNo);
 
     IPage<TradeOrderRespVO> getCheckOrder(CheckOrderPageVO reqVO);
 

+ 5 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderRepositoryServiceImpl.java

@@ -147,7 +147,6 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
             Long oldOrderId = oldOrder.getId();
             tradeOrderMapper.updateOrderDeleted(oldOrderId,1);
             TradeOrderDO tradeOrderDO = tradeOrderBO.getTradeOrderDO();
-            tradeOrderDO.setCreateTime(oldOrder.getCreateTime());
             tradeOrderDO.setUpdateTime(LocalDateTime.now());
             tradeOrderMapper.insert(tradeOrderDO);
 
@@ -654,6 +653,11 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
         return tradeOrderMapper.getPlatOrderNo(orderNo);
     }
 
+    @Override
+    public BigDecimal getTotalPayByOrderNo(String orderNo) {
+        return tradeOrderMapper.getTotalPayByOrderNo(orderNo);
+    }
+
     @Override
     public IPage<TradeOrderRespVO> getCheckOrder(CheckOrderPageVO pageReqVO) {
         IPage<TradeOrderRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize(), false);

+ 29 - 4
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderServiceImpl.java

@@ -77,6 +77,7 @@ import java.util.stream.Collectors;
 
 import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception0;
+import static com.yc.ship.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
 import static com.yc.ship.module.product.enums.YesOrNoEnum.NO;
 import static com.yc.ship.module.trade.enums.ApiConstants.*;
 import static com.yc.ship.module.trade.enums.ErrorCodeConstants.*;
@@ -185,6 +186,13 @@ public class TradeOrderServiceImpl implements TradeOrderService {
             if (tradeOrderRespVO.getReadUser() != null) {
                 tradeOrderRespVO.setReadUserName(userMap.get(tradeOrderRespVO.getReadUser()));
             }
+            Integer payStatus = tradeOrderRespVO.getPayStatus();
+            if(payStatus!=null && payStatus==1){
+                tradeOrderRespVO.setLoadPayAmount(BigDecimal.ZERO);
+            }else {
+                tradeOrderRespVO.setLoadPayAmount(tradeOrderRespVO.getPayAmount().subtract(tradeOrderRespVO.getDeposi()));
+            }
+
         });
         return new PageResult<>(iPage.getRecords(), iPage.getTotal());
     }
@@ -496,16 +504,32 @@ public class TradeOrderServiceImpl implements TradeOrderService {
     private TradeOrderBO buildShipCreateOrder(ShipTradeOrderCreateReqVO orderCreateReqDTO) {
         //重置金额
         TradeOrderBO tradeOrderBO = new TradeOrderBO();
+        TradeOrderDO oldtradeOrderDO = orderCreateReqDTO.getOldtradeOrderDO();
         //订单
         TradeOrderDO tradeOrderDO = new TradeOrderDO();
-        tradeOrderDO.setSellMethod(orderCreateReqDTO.getOrderProperty().getSellMethod());
+        if(oldtradeOrderDO!=null){
+            tradeOrderDO.setSellMethod(oldtradeOrderDO.getSellMethod());
+        }else{
+            tradeOrderDO.setSellMethod(orderCreateReqDTO.getOrderProperty().getSellMethod());
+        }
         tradeOrderDO.setSourceId(orderCreateReqDTO.getOrderProperty().getSourceId());
         tradeOrderDO.setSourceName(orderCreateReqDTO.getOrderProperty().getSourceName());
         tradeOrderDO.setSellerId(orderCreateReqDTO.getOrderProperty().getSellerId());
         tradeOrderDO.setMemberId(orderCreateReqDTO.getOrderProperty().getMemberId());
-        tradeOrderDO.setStoreId(orderCreateReqDTO.getOrderProperty().getStoreId());
-        tradeOrderDO.setStoreName(orderCreateReqDTO.getOrderProperty().getStoreName());
-        tradeOrderDO.setExternalOrderNo(orderCreateReqDTO.getExternalOrderNo());
+        if(oldtradeOrderDO!=null) {
+            tradeOrderDO.setStoreId(oldtradeOrderDO.getStoreId());
+            tradeOrderDO.setStoreName(oldtradeOrderDO.getStoreName());
+            tradeOrderDO.setExternalOrderNo(oldtradeOrderDO.getExternalOrderNo());
+            tradeOrderDO.setConfirmDate(oldtradeOrderDO.getConfirmDate());
+            tradeOrderDO.setCreator(oldtradeOrderDO.getCreator());
+            tradeOrderDO.setCreateTime(oldtradeOrderDO.getCreateTime());
+        }else{
+            tradeOrderDO.setStoreId(orderCreateReqDTO.getOrderProperty().getStoreId());
+            tradeOrderDO.setStoreName(orderCreateReqDTO.getOrderProperty().getStoreName());
+            tradeOrderDO.setExternalOrderNo(orderCreateReqDTO.getExternalOrderNo());
+            tradeOrderDO.setCreator(getLoginUserId()+"");
+            tradeOrderDO.setCreateTime(LocalDateTime.now());
+        }
         tradeOrderDO.setTravelDate(orderCreateReqDTO.getTravelDate());
         tradeOrderDO.setAmount(orderCreateReqDTO.getAmount());
         tradeOrderDO.setIsRead(orderCreateReqDTO.getIsRead());
@@ -524,6 +548,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
         tradeOrderDO.setLinkMobile(orderCreateReqDTO.getLinkMobile());
         tradeOrderDO.setLinkEmail(orderCreateReqDTO.getLinkEmail());
         tradeOrderDO.setDeposi(orderCreateReqDTO.getDeposi());
+
         //设置团散类型
         if (tradeOrderDO.getVisitorType() == null) {
             if (tradeOrderDO.getSellMethod() == 7 || tradeOrderDO.getSellMethod() == 1) {

+ 10 - 2
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java

@@ -1962,7 +1962,9 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             if (!Objects.equals(shipTradeOrderCreateReqVO.getAmount(), tradeOrderDO.getAmount()) && loginUser.getDistributorId() == null) {
                 auditType = 3;
             }
-            if (!Objects.equals(shipTradeOrderCreateReqVO.getDeposi(), tradeOrderDO.getDeposi())) {
+            BigDecimal oldDeposi = tradeOrderDO.getDeposi()==null?BigDecimal.ZERO:tradeOrderDO.getDeposi();
+            BigDecimal newDeposi = shipTradeOrderCreateReqVO.getDeposi()==null?BigDecimal.ZERO:shipTradeOrderCreateReqVO.getDeposi();
+            if (oldDeposi.compareTo(newDeposi)!=0) {
                 auditType = 3;
             }
             if (!Objects.equals(oldleaderAmount, leaderAmount) || !Objects.equals(oldwithAmount, withAmount) || !Objects.equals(oldotherMoney, otherMoney)) {
@@ -1984,7 +1986,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                 log.error(orderNo+">>>>>>>>>>>>>>>>>>>>>> motifyOtcOrder 进入审核流程 <<<<<<<<<<<<<<<<<<<<<<"+auditType+";"+(auditUserDO == null ? "" : auditUserDO.getAuditUser()));
                 msg = "修改提交成功,等待管理员审核";
                 neworderStatus = TradeOrderStatusEnum.TRANSFER.getStatus();
-            } else if (shipTradeOrderCreateReqVO.getDeposi().compareTo(BigDecimal.ZERO) > 0 && createVO.getIsYd() != 1 && Objects.equals(tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.YD.getStatus())) {
+            } else if (oldDeposi.compareTo(newDeposi)!=0) {
                 AuditUserDO auditUserDO = auditUserMapper.selectOne(new LambdaQueryWrapperX<AuditUserDO>().eq(AuditUserDO::getType, 3).eq(AuditUserDO::getAuditStatus, 1).eq(AuditUserDO::getDeleted, 0).orderByDesc(AuditUserDO::getCreateTime).last("limit 1"));
                 tradeOrderMapper.update(new UpdateWrapper<TradeOrderDO>().set("audit_type", 3).set("audit_user", auditUserDO == null ? "" : auditUserDO.getAuditUser()).set("order_status", TradeOrderStatusEnum.TRANSFER.getStatus()).set("audit_status", 1).eq("id", neworderId));
                 msg = "修改提交成功,等待管理员审核";
@@ -2061,6 +2063,12 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             }
         });
 
+        BigDecimal payTotalAmount  = tradeOrderRepositoryService.getTotalPayByOrderNo(orderRespNewVO.getOrderNo());
+        if(payTotalAmount==null){
+            payTotalAmount = BigDecimal.ZERO;
+        }
+        orderRespNewVO.setLoadPayAmount(orderRespNewVO.getPayAmount().subtract(payTotalAmount));
+
         orderRespNewVO.setRoomModelList(roomModelList);
 
         if (tradeOrderDO.getPayStatus() == 0) {

+ 5 - 0
ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/order/TradeOrderMapper.xml

@@ -1346,6 +1346,11 @@
             where t1.order_no = #{orderNo}
     </select>
 
+    <select id="getTotalPayByOrderNo"  resultType="java.math.BigDecimal">
+        select sum(t2.pay_amount) from trade_order t1 inner join trade_order_pay t2 on t1.id = t2.order_id
+        where t1.order_no = #{orderNo} and t2.pay_status = 1
+    </select>
+
     <select id="getCheckOrder" resultType="com.yc.ship.module.trade.controller.admin.order.vo.order.TradeOrderRespVO">
         SELECT td.id,td.order_no,td.external_order_no,td.route_plan_id,td.travel_status,plan.name as route_plan_name,td.visitor_type,td.travel_date,
                td.sell_method,td.source_name,td.seller_id,td.member_id,td.amount,td.pay_amount,td.order_status,

+ 5 - 5
ship-server-web/src/main/resources/application-sxtest.yaml

@@ -112,11 +112,11 @@ xxl:
 spring:
   # RabbitMQ 配置项,对应 RabbitProperties 配置类
   rabbitmq:
-    host: 10.3.10.50 # RabbitMQ 服务的地址
-    port: 55672 # RabbitMQ 服务的端口
-    username: ship # RabbitMQ 服务的账号
-    password: ship # RabbitMQ 服务的密码
-    virtual-host: /ship # RabbitMQ 服务的密码
+    host: 127.0.0.1 # RabbitMQ 服务的地址
+    port: 5672 # RabbitMQ 服务的端口
+    username: ticket # RabbitMQ 服务的账号
+    password: ticket # RabbitMQ 服务的密码
+    virtual-host: /ticket # RabbitMQ 服务的密码
   # Kafka 配置项,对应 KafkaProperties 配置类
   kafka:
     bootstrap-servers: 127.0.0.1:9092 # 指定 Kafka Broker 地址,可以设置多个,以逗号分隔

+ 3 - 0
ship-server-web/src/main/resources/application.yaml

@@ -109,6 +109,9 @@ huilv:
     pay-notify-url: https://tms2.hbsxly.com/travl-app-api/trade/payNotify
     pay-return-url: http://xxx/api/pay/order/return
     refund-notify-url: https://tms2.hbsxly.com/travl-app-api/trade/refundNotify
+    cbbpay-notify-url: https://tms2.hbsxly.com/travl-app-api/trade/payNotify
+    cbbpay-return-url: http://xxx/api/pay/order/return
+    cbbrefund-notify-url: https://tms2.hbsxly.com/travl-app-api/trade/refundNotify
 
 aj:
   captcha: