Преглед на файлове

管理端订单中心新增transactionId字段,用于根据渠道交易号查询订单数据

codingliang преди 1 година
родител
ревизия
59a0295290

+ 4 - 0
db/update_241127.sql

@@ -0,0 +1,4 @@
+ALTER TABLE pay_details  MODIFY COLUMN `trade_no` VARCHAR(32) COMMENT '支付系统交易订单号';
+
+CREATE INDEX order_number_index ON pay_details(order_id);
+CREATE INDEX trade_no_index ON pay_details(trade_no);

+ 2 - 2
src/main/java/com/sqx/modules/order/controller/OrderController.java

@@ -39,8 +39,8 @@ public class OrderController extends AbstractController {
 
     @ApiOperation("条件查询所有订单")
     @GetMapping(value = "selectAllOrder")
-    public Result selectAllOrder(Integer page, Integer limit, Integer status, String phone, Long shopId, String userName, String orderNumber, Integer orderType, String shopName) {
-        return appOrderService.selectAllOrder(page, limit, status, phone, shopId, userName, orderNumber, orderType, shopName);
+    public Result selectAllOrder(Integer page, Integer limit, Integer status, String phone, Long shopId, String userName, String orderNumber, Integer orderType, String shopName, String transactionId) {
+        return appOrderService.selectAllOrder(page, limit, status, phone, shopId, userName, orderNumber, orderType, shopName, transactionId);
     }
 
     @ApiOperation("条件查询所有订单(管理端)")

+ 4 - 2
src/main/java/com/sqx/modules/order/dao/AppOrderDao.java

@@ -23,8 +23,10 @@ public interface AppOrderDao extends BaseMapper<TbOrder> {
 
     int insertOrder(TbOrder order);
 
-    IPage<TbOrder> selectOrder(Page<TbOrder> pages,@Param("status") Integer status,@Param("phone") String phone, @Param("shopId") Long shopId,
-                               @Param("userName") String userName, @Param("orderNumber") String orderNumber,@Param("orderType") Integer orderType,@Param("shopName")String shopName);
+    IPage<TbOrder> selectOrder(Page<TbOrder> pages,
+                               @Param("status") Integer status, @Param("phone") String phone, @Param("shopId") Long shopId,
+                               @Param("userName") String userName, @Param("orderNumber") String orderNumber,@Param("orderType") Integer orderType,
+                               @Param("shopName") String shopName, @Param("transactionId") String transactionId);
 
     @DataSource("dynamic")
     IPage<TbOrder> selectAllOrderAdmin(Page<TbOrder> pages,@Param("query") OrderQueryDto queryDto);

+ 4 - 0
src/main/java/com/sqx/modules/order/entity/TbOrder.java

@@ -285,5 +285,9 @@ public class TbOrder implements Serializable {
     @ApiModelProperty("超时时间")
     private Long timeOut;
 
+    @ApiModelProperty("交易号")
+    @TableField(exist = false)
+    private String transactionId;
+
     public TbOrder() {}
 }

+ 1 - 1
src/main/java/com/sqx/modules/order/service/AppOrderService.java

@@ -31,7 +31,7 @@ public interface AppOrderService extends IService<TbOrder> {
 
     TbOrder selectOrderByNum(String orderNum);
 
-    Result selectAllOrder(Integer page, Integer limit, Integer status, String phone, Long shopId, String userName, String orderNumber, Integer orderType,String shopName);
+    Result selectAllOrder(Integer page, Integer limit, Integer status, String phone, Long shopId, String userName, String orderNumber, Integer orderType,String shopName, String transactionId);
 
     Result selectAllOrderAdmin(OrderQueryDto queryDto);
 

+ 2 - 2
src/main/java/com/sqx/modules/order/service/impl/AppAppOrderServiceImpl.java

@@ -1287,9 +1287,9 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
     }
 
     @Override
-    public Result selectAllOrder(Integer page, Integer limit, Integer status, String phone, Long shopId, String userName, String orderNumber, Integer orderType, String shopName) {
+    public Result selectAllOrder(Integer page, Integer limit, Integer status, String phone, Long shopId, String userName, String orderNumber, Integer orderType, String shopName, String transactionId) {
         Page<TbOrder> pages = new Page<>(page, limit);
-        IPage<TbOrder> tbOrderIPage = appOrderDao.selectOrder(pages, status, phone, shopId, userName, orderNumber, orderType, shopName);
+        IPage<TbOrder> tbOrderIPage = appOrderDao.selectOrder(pages, status, phone, shopId, userName, orderNumber, orderType, shopName, transactionId);
         for (int i = 0; i < tbOrderIPage.getRecords().size(); i++) {
             List<OrderGoods> orderGoodsList = orderGoodsDao.selectList(new QueryWrapper<OrderGoods>()
                     .eq("order_id", tbOrderIPage.getRecords().get(i).getOrderId()));

+ 1 - 1
src/main/java/com/sqx/modules/pay/entity/PayDetails.java

@@ -75,7 +75,7 @@ public class PayDetails implements Serializable {
     private String remark;
 
     /**
-     * 支付交易订单号
+     * 支付系统交易订单号
      */
     private String tradeNo;
 

+ 2 - 0
src/main/java/com/sqx/modules/pay/service/impl/NewPayServiceImpl.java

@@ -189,6 +189,7 @@ public class NewPayServiceImpl implements NewPayService {
 
             String status = map.get("status");
             String orderNo = map.get("traceno");
+            String channelTraceNo = map.get("channelTraceno");
             String transDateStr = map.get("transDate");
             String transTime = map.get("transTime");
             if (StrUtil.equals(String.valueOf(PayStateEnums.PAY_SUCCESS.getStateCode()), status)) {
@@ -205,6 +206,7 @@ public class NewPayServiceImpl implements NewPayService {
 
                 payDetails.setState(PayStateEnums.PAY_SUCCESS.getStateCode());
                 payDetails.setPayTime(transDateStr + " " + transTime);
+                payDetails.setTradeNo(channelTraceNo);
                 payDetails.setRemark("RHT PAY SUCCESS");
                 payDetailsService.updateDetail(payDetails);
 

+ 6 - 1
src/main/resources/mapper/order/OrderMapper.xml

@@ -44,12 +44,14 @@
     <select id="selectOrder" resultType="com.sqx.modules.order.entity.TbOrder">
         select tor.*, tu.avatar as avatar, gs.shop_name as shopName, gs.detailed_address as detailedAddress, gs.phone as
         shopPhone,
-        ti.rider_user_id as riderUserId, tcu.money as couponMoney
+        ti.rider_user_id as riderUserId, tcu.money as couponMoney,
+        pd.trade_no as transactionId
         from tb_order tor
         left join tb_user tu on tor.user_id = tu.user_id
         left join goods_shop gs on tor.shop_id = gs.shop_id
         left join tb_indent ti on tor.order_id = ti.order_id
         left join tb_coupon_user tcu on tor.coupon_id = tcu.id
+        left join pay_details pd on pd.order_id = tor.order_number
         where 1 = 1 and tor.is_pay = 1
         <if test="shopName!=null and shopName!=''">
             and gs.shop_name like concat('%',#{shopName},'%')
@@ -78,6 +80,9 @@
         <if test="orderType!=null">
             and tor.order_type = #{orderType}
         </if>
+        <if test="transactionId != null and transactionId != ''">
+            and pd.trade_no = #{transactionId}
+        </if>
         order by tor.pay_time desc, tor.create_time desc
     </select>