diff --git a/pom.xml b/pom.xml index 5b6c3bf..7188635 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.gxwebsoft - com-gxwebsoft-modules + mp-api 1.5.0 com-gxwebsoft-api diff --git a/src/main/java/com/gxwebsoft/sdy/controller/SdyDealerOrderController.java b/src/main/java/com/gxwebsoft/sdy/controller/SdyDealerOrderController.java index 5fd1cbe..7b13648 100644 --- a/src/main/java/com/gxwebsoft/sdy/controller/SdyDealerOrderController.java +++ b/src/main/java/com/gxwebsoft/sdy/controller/SdyDealerOrderController.java @@ -80,7 +80,7 @@ public class SdyDealerOrderController extends BaseController { for (SdyDealerOrderImportParam d : list) { // 检查是否已存在相同的记录(根据comments字段和未结算状态) com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper queryWrapper = new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<>(); - queryWrapper.eq(ShopDealerOrder::getComments, d.getComments()); // 使用comments字段 + queryWrapper.eq(ShopDealerOrder::getTitle, d.getTitle()); // 使用comments字段 queryWrapper.eq(ShopDealerOrder::getIsSettled, 0); // 未结算状态 if (shopDealerOrderService.count(queryWrapper) == 0) { @@ -91,61 +91,66 @@ public class SdyDealerOrderController extends BaseController { String orderNo = Long.toString(IdUtil.getSnowflakeNextId()); // 手动映射字段 - item.setOrderNo(d.getOrderNo()); +// item.setOrderNo(d.getOrderNo()); item.setOrderNo(orderNo); item.setOrderPrice(d.getOrderPrice()); + item.setTitle(d.getTitle()); item.setDegreePrice(d.getOrderPrice().multiply(new BigDecimal(1000))); - item.setFirstUserId(d.getFirstUserId()); - item.setSecondUserId(d.getSecondUserId()); - item.setThirdUserId(d.getThirdUserId()); + item.setFirstUserId(Integer.valueOf(d.getFirstUserId())); + item.setSecondUserId(Integer.valueOf(d.getSecondUserId())); + item.setThirdUserId(Integer.valueOf(d.getThirdUserId())); item.setFirstMoney(d.getFirstMoney()); item.setSecondMoney(d.getSecondMoney()); item.setThirdMoney(d.getThirdMoney()); item.setTenantId(d.getTenantId()); item.setComments(d.getComments()); // 假设d.getPrice()返回的BigDecimal未设置精度 - item.setPrice(d.getPrice().divide(new BigDecimal(1000), 3, BigDecimal.ROUND_HALF_UP)); + if(d.getPrice() == null){ + item.setPrice(d.getPrice().divide(new BigDecimal(1000), 3, BigDecimal.ROUND_HALF_UP)); + }else { + item.setPrice(d.getPrice()); + } item.setSettledPrice(d.getSettledPrice()); item.setPayPrice(d.getPayPrice()); item.setRate(d.getRate()); item.setMonth(d.getMonth()); - item.setIsInvalid(1); + item.setIsInvalid(0); item.setIsSettled(0); // 新导入的数据设为未结算 // TODO 导入指定用户ID - if(d.getUserId() != null){ - item.setUserId(d.getUserId()); - item.setIsInvalid(1); - - }else { - // TODO 通过报备客户信息查询绑定关系 - ShopDealerApply dealerApply = shopDealerApplyService.getByDealerNameRel(d.getComments()); - - // 已签约客户 - if(dealerApply != null){ - item.setIsInvalid(0); - item.setUserId(dealerApply.getUserId()); - item.setFirstUserId(dealerApply.getRefereeId()); - } - } +// if(d.getUserId() != null){ +// item.setUserId(d.getUserId()); +// item.setIsInvalid(1); +// +// }else { +// // TODO 通过报备客户信息查询绑定关系 +// ShopDealerApply dealerApply = shopDealerApplyService.getByDealerNameRel(d.getComments()); +// +// // 已签约客户 +// if(dealerApply != null){ +// item.setIsInvalid(0); +// item.setUserId(dealerApply.getUserId()); +// item.setFirstUserId(dealerApply.getRefereeId()); +// } +// } // 查询推荐关系 - if(ObjectUtil.isNotEmpty(item.getUserId())){ - ShopDealerReferee referee = shopDealerRefereeService.getByUserIdRel(item.getUserId()); - item.setFirstUserId(referee.getDealerId()); - item.setFirstNickname(referee.getDealerName()); - ShopDealerReferee referee2 = shopDealerRefereeService.getByUserIdRel(referee.getDealerId()); - if(ObjectUtil.isNotEmpty(referee2)){ - item.setSecondUserId(referee2.getDealerId()); - item.setSecondNickname(referee2.getDealerName()); - ShopDealerReferee referee3 = shopDealerRefereeService.getByUserIdRel(referee2.getDealerId()); - if(ObjectUtil.isNotEmpty(referee3)){ - item.setThirdUserId(referee3.getDealerId()); - item.setThirdNickname(referee3.getDealerName()); - } - } - item.setIsInvalid(0); - } +// if(ObjectUtil.isNotEmpty(item.getUserId())){ +// ShopDealerReferee referee = shopDealerRefereeService.getByUserIdRel(item.getUserId()); +// item.setFirstUserId(referee.getDealerId()); +// item.setFirstNickname(referee.getDealerName()); +// ShopDealerReferee referee2 = shopDealerRefereeService.getByUserIdRel(referee.getDealerId()); +// if(ObjectUtil.isNotEmpty(referee2)){ +// item.setSecondUserId(referee2.getDealerId()); +// item.setSecondNickname(referee2.getDealerName()); +// ShopDealerReferee referee3 = shopDealerRefereeService.getByUserIdRel(referee2.getDealerId()); +// if(ObjectUtil.isNotEmpty(referee3)){ +// item.setThirdUserId(referee3.getDealerId()); +// item.setThirdNickname(referee3.getDealerName()); +// } +// } +// item.setIsInvalid(0); +// } System.out.println("准备导入数据: " + item); if (ObjectUtil.isNotEmpty(item)) { diff --git a/src/main/java/com/gxwebsoft/sdy/param/SdyDealerOrderImportParam.java b/src/main/java/com/gxwebsoft/sdy/param/SdyDealerOrderImportParam.java index b1e7439..4e4c6fd 100644 --- a/src/main/java/com/gxwebsoft/sdy/param/SdyDealerOrderImportParam.java +++ b/src/main/java/com/gxwebsoft/sdy/param/SdyDealerOrderImportParam.java @@ -19,12 +19,15 @@ import java.time.LocalDateTime; public class SdyDealerOrderImportParam implements Serializable { private static final long serialVersionUID = 1L; - @Excel(name = "实际收款人") - private Integer userId; + @Excel(name = "业务员ID") + private String userId; @Excel(name = "订单编号") private String orderNo; + @Excel(name = "公司名称") + private String title; + @Excel(name = "结算电量") private BigDecimal orderPrice; @@ -47,24 +50,24 @@ public class SdyDealerOrderImportParam implements Serializable { private String month; @Excel(name = "一级分销商ID") - private Integer firstUserId; + private String firstUserId; @Excel(name = "二级分销商ID") - private Integer secondUserId; + private String secondUserId; @Excel(name = "三级分销商ID") - private Integer thirdUserId; + private String thirdUserId; - @Excel(name = "一级佣金") + @Excel(name = "一级佣金30%") private BigDecimal firstMoney; - @Excel(name = "二级佣金") + @Excel(name = "二级佣金10%") private BigDecimal secondMoney; - @Excel(name = "三级佣金") + @Excel(name = "三级佣金60%") private BigDecimal thirdMoney; - @Excel(name = "公司名称") + @Excel(name = "备注") private String comments; @Excel(name = "租户ID") diff --git a/src/main/java/com/gxwebsoft/shop/entity/ShopDealerOrder.java b/src/main/java/com/gxwebsoft/shop/entity/ShopDealerOrder.java index aba4899..0656d2a 100644 --- a/src/main/java/com/gxwebsoft/shop/entity/ShopDealerOrder.java +++ b/src/main/java/com/gxwebsoft/shop/entity/ShopDealerOrder.java @@ -36,6 +36,9 @@ public class ShopDealerOrder implements Serializable { @Excel(name = "订单编号") private String orderNo; + @Excel(name = "商品名称") + private String title; + @Schema(description = "买家用户昵称") @TableField(exist = false) private String nickname; diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index dd00c0d..34f80c7 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -16,8 +16,8 @@ spring: # redis redis: database: 0 - host: 8.134.169.209 - port: 16379 + host: 1Panel-redis-Q1LE + port: 6379 password: redis_WSDb88 # 日志配置 @@ -29,7 +29,7 @@ logging: org.apache.ibatis: DEBUG socketio: - host: localhost #IP地址 + host: 0.0.0.0 #IP地址 # MQTT配置 mqtt: @@ -44,22 +44,32 @@ mqtt: keep-alive-interval: 20 auto-reconnect: true + # 框架配置 config: - # 开发环境接口 + # 文件服务器 + file-server: https://file-s209.shoplnk.cn + # 生产环境接口 server-url: https://server.websoft.top/api - upload-path: /Users/gxwebsoft/JAVA/mp-java/src/main/resources # window(D:\Temp) + upload-path: /www/wwwroot/file.ws - # JWT配置 - jwt: - secret: websoft-jwt-secret-key-2025-dev-environment - expire: 86400 # token过期时间(秒) 24小时 + # 阿里云OSS云存储 + endpoint: https://oss-cn-shenzhen.aliyuncs.com + accessKeyId: LTAI4GKGZ9Z2Z8JZ77c3GNZP + accessKeySecret: BiDkpS7UXj72HWwDWaFZxiXjNFBNCM + bucketName: oss-gxwebsoft + bucketDomain: https://oss.wsdns.cn + aliyunDomain: https://oss-gxwebsoft.oss-cn-shenzhen.aliyuncs.com -# 开发环境证书配置 +# 生产环境证书配置 certificate: - load-mode: CLASSPATH # 开发环境从classpath加载 - wechat-pay: - dev: - private-key-file: "apiclient_key.pem" - apiclient-cert-file: "apiclient_cert.pem" - wechatpay-cert-file: "wechatpay_cert.pem" + load-mode: VOLUME # 生产环境从Docker挂载卷加载 + cert-root-path: /www/wwwroot/file.ws + +# 支付配置缓存 +payment: + cache: + # 支付配置缓存键前缀,生产环境使用 Payment:1* 格式 + key-prefix: "Payment:1" + # 缓存过期时间(小时) + expire-hours: 24