Browse Source

feat(order): 修改订单ID为订单编号并生成唯一订单号

- 使用雪花算法生成唯一订单编号
- 更新数据库字段类型从Integer到String
- 修改Excel导入导出配置以适应新字段
- 调整关联查询SQL以支持订单编号关联
- 更新搜索条件以支持订单编号模糊查询
- 补充缺失的订单编号设置逻辑
- 删除调试用的订单ID打印语句
dev
科技小王子 4 hours ago
parent
commit
b1a8fc3dee
  1. 14
      src/main/java/com/gxwebsoft/sdy/controller/SdyDealerOrderController.java
  2. 4
      src/main/java/com/gxwebsoft/sdy/param/SdyDealerOrderImportParam.java
  3. 9
      src/main/java/com/gxwebsoft/shop/entity/ShopDealerCapital.java
  4. 6
      src/main/java/com/gxwebsoft/shop/entity/ShopDealerOrder.java
  5. 7
      src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerCapitalMapper.xml
  6. 5
      src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerOrderMapper.xml
  7. 6
      src/main/java/com/gxwebsoft/shop/param/ShopDealerCapitalParam.java
  8. 6
      src/main/java/com/gxwebsoft/shop/param/ShopDealerOrderParam.java
  9. 4
      src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderUpdate10550ServiceImpl.java

14
src/main/java/com/gxwebsoft/sdy/controller/SdyDealerOrderController.java

@ -2,6 +2,7 @@ package com.gxwebsoft.sdy.controller;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.gxwebsoft.common.core.annotation.OperationLog;
import com.gxwebsoft.common.core.web.ApiResult;
@ -67,7 +68,6 @@ public class SdyDealerOrderController extends BaseController {
System.out.println("第一条数据: " + first);
System.out.println("comments: " + first.getComments());
System.out.println("userId: " + first.getUserId());
System.out.println("orderId: " + first.getOrderId());
}
if (list == null || list.isEmpty()) {
@ -86,8 +86,12 @@ public class SdyDealerOrderController extends BaseController {
// 不存在相同记录,可以导入
ShopDealerOrder item = new ShopDealerOrder();
// 生成订单号
String orderNo = Long.toString(IdUtil.getSnowflakeNextId());
// 手动映射字段
item.setOrderId(d.getOrderId());
item.setOrderNo(d.getOrderNo());
item.setOrderNo(orderNo);
item.setOrderPrice(d.getOrderPrice());
item.setFirstUserId(d.getFirstUserId());
item.setSecondUserId(d.getSecondUserId());
@ -171,7 +175,7 @@ public class SdyDealerOrderController extends BaseController {
System.out.println("一级分成 = 1");
ShopDealerCapital shopDealerCapital = new ShopDealerCapital();
shopDealerCapital.setUserId(shopDealerOrder.getFirstUserId());
shopDealerCapital.setOrderId(dealerUser.getId());
shopDealerCapital.setOrderNo(shopDealerOrder.getOrderNo());
shopDealerCapital.setMoney(shopDealerOrder.getFirstMoney());
shopDealerCapital.setComments("分销订单结算");
shopDealerCapital.setToUserId(shopDealerOrder.getUserId());
@ -186,7 +190,7 @@ public class SdyDealerOrderController extends BaseController {
System.out.println("二级分成 = 2");
ShopDealerCapital shopDealerCapital2 = new ShopDealerCapital();
shopDealerCapital2.setUserId(shopDealerOrder.getSecondUserId());
shopDealerCapital2.setOrderId(dealerUser.getId());
shopDealerCapital2.setOrderNo(shopDealerOrder.getOrderNo());
shopDealerCapital2.setMoney(shopDealerOrder.getSecondMoney());
shopDealerCapital2.setComments("分销订单结算");
shopDealerCapital2.setToUserId(shopDealerOrder.getUserId());
@ -202,7 +206,7 @@ public class SdyDealerOrderController extends BaseController {
System.out.println("三级分成 = 3");
ShopDealerCapital shopDealerCapital3 = new ShopDealerCapital();
shopDealerCapital3.setUserId(shopDealerOrder.getThirdUserId());
shopDealerCapital3.setOrderId(dealerUser.getId());
shopDealerCapital3.setOrderNo(shopDealerOrder.getOrderNo());
shopDealerCapital3.setMoney(shopDealerOrder.getThirdMoney());
shopDealerCapital3.setComments("分销订单结算");
shopDealerCapital3.setToUserId(shopDealerOrder.getUserId());

4
src/main/java/com/gxwebsoft/sdy/param/SdyDealerOrderImportParam.java

@ -22,8 +22,8 @@ public class SdyDealerOrderImportParam implements Serializable {
@Excel(name = "实际收款人")
private Integer userId;
@Excel(name = "订单ID")
private Integer orderId;
@Excel(name = "订单编号")
private String orderNo;
@Excel(name = "结算电量")
private BigDecimal orderPrice;

9
src/main/java/com/gxwebsoft/shop/entity/ShopDealerCapital.java

@ -2,6 +2,7 @@ package com.gxwebsoft.shop.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -29,8 +30,8 @@ public class ShopDealerCapital implements Serializable {
@Schema(description = "分销商用户ID")
private Integer userId;
@Schema(description = "订单ID")
private Integer orderId;
@Schema(description = "订单编号")
private String orderNo;
@Schema(description = "资金流动类型 (10佣金收入 20提现支出 30转账支出 40转账收入)")
private Integer flowType;
@ -44,6 +45,10 @@ public class ShopDealerCapital implements Serializable {
@Schema(description = "对方用户ID")
private Integer toUserId;
@Schema(description = "对方昵称")
@TableField(exist = false)
private String toNickName;
@Schema(description = "商城ID")
private Integer tenantId;

6
src/main/java/com/gxwebsoft/shop/entity/ShopDealerOrder.java

@ -33,13 +33,13 @@ public class ShopDealerOrder implements Serializable {
@Schema(description = "买家用户ID")
private Integer userId;
@Excel(name = "订单编号")
private String orderNo;
@Schema(description = "买家用户昵称")
@TableField(exist = false)
private String nickname;
@Schema(description = "订单ID")
private Integer orderId;
@Schema(description = "订单总金额(不含运费)")
private BigDecimal orderPrice;

7
src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerCapitalMapper.xml

@ -4,8 +4,9 @@
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
SELECT a.*, b.order_no
FROM shop_dealer_capital a
LEFT JOIN shop_dealer_order b ON a.order_no = b.order_no
<where>
<if test="param.id != null">
AND a.id = #{param.id}
@ -13,8 +14,8 @@
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.orderId != null">
AND a.order_id = #{param.orderId}
<if test="param.orderNo != null">
AND a.order_no = #{param.orderNo}
</if>
<if test="param.flowType != null">
AND a.flow_type = #{param.flowType}

5
src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerOrderMapper.xml

@ -24,8 +24,8 @@
<if test="param.month != null">
AND a.month = #{param.month}
</if>
<if test="param.orderId != null">
AND a.order_id = #{param.orderId}
<if test="param.orderNo != null">
AND a.order_no = #{param.orderNo}
</if>
<if test="param.orderPrice != null">
AND a.order_price = #{param.orderPrice}
@ -68,6 +68,7 @@
</if>
<if test="param.keywords != null">
AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%')
OR a.order_no LIKE CONCAT('%', #{param.keywords}, '%')
)
</if>
</where>

6
src/main/java/com/gxwebsoft/shop/param/ShopDealerCapitalParam.java

@ -1,6 +1,8 @@
package com.gxwebsoft.shop.param;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableField;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
@ -30,9 +32,9 @@ public class ShopDealerCapitalParam extends BaseParam {
@QueryField(type = QueryType.EQ)
private Integer userId;
@Schema(description = "订单ID")
@Schema(description = "订单编号")
@QueryField(type = QueryType.EQ)
private Integer orderId;
private String orderNo;
@Schema(description = "资金流动类型 (10佣金收入 20提现支出 30转账支出 40转账收入)")
@QueryField(type = QueryType.EQ)

6
src/main/java/com/gxwebsoft/shop/param/ShopDealerOrderParam.java

@ -1,6 +1,8 @@
package com.gxwebsoft.shop.param;
import java.math.BigDecimal;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
@ -30,9 +32,9 @@ public class ShopDealerOrderParam extends BaseParam {
@QueryField(type = QueryType.EQ)
private Integer userId;
@Schema(description = "订单ID")
@Excel(name = "订单编号")
@QueryField(type = QueryType.EQ)
private Integer orderId;
private String orderNo;
@Schema(description = "订单总金额(不含运费)")
@QueryField(type = QueryType.EQ)

4
src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderUpdate10550ServiceImpl.java

@ -259,7 +259,7 @@ public class ShopOrderUpdate10550ServiceImpl implements ShopOrderUpdate10550Serv
try {
ShopDealerOrder dealerOrder = new ShopDealerOrder();
dealerOrder.setUserId(parent.getUserId());
dealerOrder.setOrderId(order.getOrderId());
dealerOrder.setOrderNo(order.getOrderNo());
dealerOrder.setOrderPrice(order.getTotalPrice());
dealerOrder.setFirstUserId(order.getUserId());
dealerOrder.setFirstMoney(commission);
@ -284,7 +284,7 @@ public class ShopOrderUpdate10550ServiceImpl implements ShopOrderUpdate10550Serv
try {
ShopDealerCapital dealerCapital = new ShopDealerCapital();
dealerCapital.setUserId(parent.getUserId());
dealerCapital.setOrderId(order.getOrderId());
dealerCapital.setOrderNo(order.getOrderNo());
dealerCapital.setFlowType(10); // 分销收入
shopDealerCapitalService.save(dealerCapital);

Loading…
Cancel
Save