Ver a proveniência

update

release_toaliyun_real
xiaohanzi há 6 anos
ascendente
cometimento
e945210caf
3 ficheiros alterados com 28 adições e 19 eliminações
  1. +23
    -16
      mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java
  2. +1
    -1
      mallinkSchedule/src/main/resources/application-dev.yml
  3. +4
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java

+ 23
- 16
mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java Ver ficheiro

@@ -98,7 +98,7 @@ public class OrderExpiringSchedule {
List<WxOrder> orderCoupons = wxOrderMapper.findListOfUnpaidOrderByDate(dateMap); List<WxOrder> orderCoupons = wxOrderMapper.findListOfUnpaidOrderByDate(dateMap);
orderCoupons.stream().forEach( o -> { orderCoupons.stream().forEach( o -> {
try { try {
proxy.orderExpired(o);
proxy.orderExpired(o,true);
} catch (Exception e) { } catch (Exception e) {
logger.error("券过期失败" + e.getMessage()); logger.error("券过期失败" + e.getMessage());
} }
@@ -112,7 +112,7 @@ public class OrderExpiringSchedule {
List<WxOrder> orderPresss = wxOrderMapper.findListOfCompleteUnPaidPressOrderByDate(dateMap); List<WxOrder> orderPresss = wxOrderMapper.findListOfCompleteUnPaidPressOrderByDate(dateMap);
orderPresss.stream().forEach( o -> { orderPresss.stream().forEach( o -> {
try { try {
proxy.orderPressExpired(o, true);
proxy.orderPressExpired(o, true,true);
} catch (Exception e) { } catch (Exception e) {
logger.error("砍价券支付过期失败" + e.getMessage()); logger.error("砍价券支付过期失败" + e.getMessage());
} }
@@ -123,7 +123,7 @@ public class OrderExpiringSchedule {
orderPresss = wxOrderMapper.findListOfUnpaidPressOrderByDate(dateMap); orderPresss = wxOrderMapper.findListOfUnpaidPressOrderByDate(dateMap);
orderPresss.stream().forEach( o -> { orderPresss.stream().forEach( o -> {
try { try {
proxy.orderPressExpired(o, false);
proxy.orderPressExpired(o, false,true);
} catch (Exception e) { } catch (Exception e) {
logger.error("砍价券过期失败" +e.getMessage()); logger.error("砍价券过期失败" +e.getMessage());
} }
@@ -135,7 +135,7 @@ public class OrderExpiringSchedule {
order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode()); order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode());
wxOrderMapper.selectList(new QueryWrapper(order)).stream().forEach(o -> { wxOrderMapper.selectList(new QueryWrapper(order)).stream().forEach(o -> {
try { try {
proxy.orderGroupExpired((WxOrder) o);
proxy.orderGroupExpired((WxOrder) o,true);
} catch (Exception e) { } catch (Exception e) {
logger.error("拼团取消失败" + e.getMessage()); logger.error("拼团取消失败" + e.getMessage());
} }
@@ -147,7 +147,9 @@ public class OrderExpiringSchedule {
order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_OVERTIME.getCode()); order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_OVERTIME.getCode());
wxOrderMapper.selectList(new QueryWrapper(order)).stream().forEach(o -> { wxOrderMapper.selectList(new QueryWrapper(order)).stream().forEach(o -> {
try { try {
proxy.returnMoney((WxOrder) o);
proxy.orderGroupExpired((WxOrder) o,false);
//wxOrderService.stockBack(order);
//proxy.returnMoney((WxOrder) o);
} catch (Exception e) { } catch (Exception e) {
logger.error("拼团过期退款失败" + e.getMessage()); logger.error("拼团过期退款失败" + e.getMessage());
} }
@@ -178,8 +180,7 @@ public class OrderExpiringSchedule {
order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_SCHEDU_REFUND.getCode()); order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_SCHEDU_REFUND.getCode());
wxOrderMapper.selectList(new QueryWrapper(order)).stream().forEach(o -> { wxOrderMapper.selectList(new QueryWrapper(order)).stream().forEach(o -> {
try { try {
wxOrderService.stockBack(order);
proxy.returnMoney((WxOrder) o);
proxy.orderGroupExpired((WxOrder) o,false);
} catch (Exception e) { } catch (Exception e) {
logger.error("参团失败退款失败" + e.getMessage()); logger.error("参团失败退款失败" + e.getMessage());
} }
@@ -227,9 +228,11 @@ public class OrderExpiringSchedule {
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public void orderExpired(WxOrder order) {
if (wxPaySuccess(order)) {
return;
public void orderExpired(WxOrder order,boolean checkRealPay) {
if (checkRealPay) {
if (wxPaySuccess(order)) {
return;
}
} }
// 库存退回 // 库存退回
wxOrderService.stockBack(order); wxOrderService.stockBack(order);
@@ -248,9 +251,11 @@ public class OrderExpiringSchedule {
} }


@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public void orderPressExpired(WxOrder order, boolean payExpired) {
if (wxPaySuccess(order)) {
return;
public void orderPressExpired(WxOrder order, boolean payExpired,boolean checkRealPay) {
if (checkRealPay) {
if (wxPaySuccess(order)) {
return;
}
} }
Date curDate = new Date(); Date curDate = new Date();
@@ -272,9 +277,11 @@ public class OrderExpiringSchedule {




@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public void orderGroupExpired(WxOrder order) {
if (wxPaySuccess(order)) {
return;
public void orderGroupExpired(WxOrder order,boolean checkRealPay) {
if (checkRealPay) {
if (wxPaySuccess(order)) {
return;
}
} }
Date curDate = new Date(); Date curDate = new Date();


+ 1
- 1
mallinkSchedule/src/main/resources/application-dev.yml Ver ficheiro

@@ -4,7 +4,7 @@ spring:
#include: rabbitMQ #include: rabbitMQ
# JDBC # JDBC
datasource: datasource:
url: jdbc:mysql://rm-2zel9i9t555zy7lft.mysql.rds.aliyuncs.com:3306/mallink?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useUnicode=true&useSSL=false&useAffectedRows=true
url: jdbc:mysql://zc349w82qvn56ftl5e64-rw4rm.rwlb.rds.aliyuncs.com:3306/mallink?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useUnicode=true&useSSL=false&useAffectedRows=true
username: ENC(dZ8fmrtuBMQYaRytKQgTqg==) username: ENC(dZ8fmrtuBMQYaRytKQgTqg==)
password: ENC(IKH7HxMZwIqMttMc9+QsqWa1KMsJvTs4) password: ENC(IKH7HxMZwIqMttMc9+QsqWa1KMsJvTs4)
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource


+ 4
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java Ver ficheiro

@@ -112,14 +112,16 @@ public class WxOrderGroupServiceImpl implements WxOrderGroupService {
if(wxOrderGroup.getRemainPeople()<1) { if(wxOrderGroup.getRemainPeople()<1) {
//如果是定时任务处理订单时候补程序发现拼团已满,则此时发起退款,回滚库存, 不能设置为未付款,回引起死循环 //如果是定时任务处理订单时候补程序发现拼团已满,则此时发起退款,回滚库存, 不能设置为未付款,回引起死循环
if(isScheduleTask) { if(isScheduleTask) {
//错误,更新状态,定时任务会发起退款,回滚库存
//错误,更新状态,定时任务会发起退款,回滚库存,到此结束
order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_SCHEDU_REFUND.getCode()); order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_SCHEDU_REFUND.getCode());
wxOrderMapper.updateById(order); wxOrderMapper.updateById(order);
//此处不要抛出异常,会导致事务回滚,状态写不上
return;
}else { }else {
order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode()); order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode());
wxOrderMapper.updateById(order); wxOrderMapper.updateById(order);
throw new MallinkException(ErrorCode.ORDER_GROUP_COOPERATING_FAILD.getCode(),"参团人数已满,将稍后退款。");
} }
throw new MallinkException(ErrorCode.ORDER_GROUP_COOPERATING_FAILD.getCode(),"参团人数已满,将稍后退款。");
} }
int remainPeople = updateOrderGroup(wxOrderGroup,order,wxCoupon); int remainPeople = updateOrderGroup(wxOrderGroup,order,wxCoupon);


Carregando…
Cancelar
Guardar