diff --git a/crmeb/sql/crmeb_java_v1.3.2_part.sql b/crmeb/sql/crmeb_java_v1.3.2_part.sql index 2755aa80..1babd926 100644 --- a/crmeb/sql/crmeb_java_v1.3.2_part.sql +++ b/crmeb/sql/crmeb_java_v1.3.2_part.sql @@ -3,7 +3,7 @@ 适用于1.3.1版本升级1.3.2 运行此脚本必须保证已经导入了1.3.1 的sql脚本 */ -alter table eb_system_admin add integral varchar(15) DEFAULT NULL COMMENT '手机号码'; +alter table eb_system_admin add phone varchar(15) DEFAULT NULL COMMENT '手机号码'; alter table eb_system_admin add is_sms tinyint(1) unsigned DEFAULT '0' COMMENT '是否接收短信'; select * from `eb_system_attachment` s where s.`satt_dir` like 'image/%'; diff --git a/crmeb/src/main/java/com/zbkj/crmeb/payment/service/impl/OrderPayServiceImpl.java b/crmeb/src/main/java/com/zbkj/crmeb/payment/service/impl/OrderPayServiceImpl.java index f431c334..37edef85 100644 --- a/crmeb/src/main/java/com/zbkj/crmeb/payment/service/impl/OrderPayServiceImpl.java +++ b/crmeb/src/main/java/com/zbkj/crmeb/payment/service/impl/OrderPayServiceImpl.java @@ -658,6 +658,57 @@ public class OrderPayServiceImpl extends PayService implements OrderPayService { } // 添加支付成功redis队列 redisUtil.lPush(Constants.ORDER_TASK_PAY_SUCCESS_AFTER, storeOrder.getOrderId()); + + // 处理拼团 + if (storeOrder.getCombinationId() > 0) { + // 判断拼团团长是否存在 + StorePink headPink = new StorePink(); + Integer pinkId = storeOrder.getPinkId(); + if (pinkId > 0) { + headPink = storePinkService.getById(pinkId); + if (ObjectUtil.isNull(headPink) || headPink.getIsRefund().equals(true) || headPink.getStatus() == 3) { + pinkId = 0; + } + } + StoreCombination storeCombination = storeCombinationService.getById(storeOrder.getCombinationId()); + // 生成拼团表数据 + StorePink storePink = new StorePink(); + storePink.setUid(user.getUid()); + storePink.setAvatar(user.getAvatar()); + storePink.setNickname(user.getNickname()); + storePink.setOrderId(storeOrder.getOrderId()); + storePink.setOrderIdKey(storeOrder.getId()); + storePink.setTotalNum(storeOrder.getTotalNum()); + storePink.setTotalPrice(storeOrder.getTotalPrice()); + storePink.setCid(storeCombination.getId()); + storePink.setPid(storeCombination.getProductId()); + storePink.setPeople(storeCombination.getPeople()); + storePink.setPrice(storeCombination.getPrice()); + Integer effectiveTime = storeCombination.getEffectiveTime();// 有效小时数 + DateTime dateTime = cn.hutool.core.date.DateUtil.date(); + storePink.setAddTime(dateTime.getTime()); + if (pinkId > 0) { + storePink.setStopTime(headPink.getStopTime()); + } else { + DateTime hourTime = cn.hutool.core.date.DateUtil.offsetHour(dateTime, effectiveTime); + long stopTime = hourTime.getTime(); + if (stopTime > storeCombination.getStopTime()) { + stopTime = storeCombination.getStopTime(); + } + storePink.setStopTime(stopTime); + } + storePink.setKId(pinkId); + storePink.setIsTpl(false); + storePink.setIsRefund(false); + storePink.setStatus(1); + storePinkService.save(storePink); + // 如果是开团,需要更新订单数据 + if (storePink.getKId() == 0) { + storeOrder.setPinkId(storePink.getId()); + storeOrderService.updateById(storeOrder); + } + } + return Boolean.TRUE; }); if (!execute) throw new CrmebException("余额支付订单失败"); diff --git a/crmeb/src/main/java/com/zbkj/crmeb/store/utilService/OrderUtils.java b/crmeb/src/main/java/com/zbkj/crmeb/store/utilService/OrderUtils.java index 7cb0e822..1486e211 100644 --- a/crmeb/src/main/java/com/zbkj/crmeb/store/utilService/OrderUtils.java +++ b/crmeb/src/main/java/com/zbkj/crmeb/store/utilService/OrderUtils.java @@ -389,12 +389,12 @@ public class OrderUtils { // 积分兑换金额小于实际支付金额 if(deductionPrice.compareTo(payPrice) < 0){ payPrice = payPrice.subtract(deductionPrice); - usedIntegral = currentUser.getIntegral().intValue(); + usedIntegral = currentUser.getIntegral(); }else{ deductionPrice = payPrice; if(payPrice.compareTo(BigDecimal.ZERO) > 0){ - usedIntegral = payPrice.divide(BigDecimal.valueOf(Double.parseDouble(cor.getOther().get("integralRatio").toString()))).setScale(0, BigDecimal.ROUND_UP).intValue(); - surPlusIntegral = currentUser.getIntegral().intValue() - usedIntegral; + usedIntegral = payPrice.divide(BigDecimal.valueOf(Double.parseDouble(cor.getOther().get("integralRatio").toString())), 0, BigDecimal.ROUND_UP).intValue(); + surPlusIntegral = currentUser.getIntegral() - usedIntegral; } payPrice = BigDecimal.ZERO; } diff --git a/crmeb/src/main/resources/application.yml b/crmeb/src/main/resources/application.yml index ebc76c9d..365c7429 100644 --- a/crmeb/src/main/resources/application.yml +++ b/crmeb/src/main/resources/application.yml @@ -37,7 +37,7 @@ spring: redis: host: #地址 port: 6379 #端口 - password: + password: timeout: 30000 # 连接超时时间(毫秒) database: 0 #默认数据库 jedis: