|
@@ -11,6 +11,7 @@ import com.ym.mec.common.exception.BizException;
|
|
import com.ym.mec.common.page.PageInfo;
|
|
import com.ym.mec.common.page.PageInfo;
|
|
import com.ym.mec.common.service.IdGeneratorService;
|
|
import com.ym.mec.common.service.IdGeneratorService;
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
|
+import com.ym.mec.common.tenant.TenantContextHolder;
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
import com.ym.mec.util.date.DateUtil;
|
|
import com.ym.mec.util.date.DateUtil;
|
|
@@ -135,17 +136,13 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.get(subjectChange.getOrderId().longValue());
|
|
StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.get(subjectChange.getOrderId().longValue());
|
|
|
|
|
|
if (studentPaymentOrder != null && studentPaymentOrder.getStatus() == DealStatusEnum.ING) {
|
|
if (studentPaymentOrder != null && studentPaymentOrder.getStatus() == DealStatusEnum.ING) {
|
|
-
|
|
|
|
// 查询订单状态
|
|
// 查询订单状态
|
|
PayStatus payStatus = studentPaymentOrderService.queryPayStatus(studentPaymentOrder.getPaymentChannel(), studentPaymentOrder.getOrderNo(), studentPaymentOrder.getTransNo());
|
|
PayStatus payStatus = studentPaymentOrderService.queryPayStatus(studentPaymentOrder.getPaymentChannel(), studentPaymentOrder.getOrderNo(), studentPaymentOrder.getTransNo());
|
|
if (payStatus != PayStatus.FAILED) {
|
|
if (payStatus != PayStatus.FAILED) {
|
|
if (payStatus == PayStatus.SUCCESSED) {
|
|
if (payStatus == PayStatus.SUCCESSED) {
|
|
throw new BizException("订单已支付成功,请勿重复支付");
|
|
throw new BizException("订单已支付成功,请勿重复支付");
|
|
- }/*else if(payStatus == PayStatus.PAYING){
|
|
|
|
- throw new BizException("订单还在交易中,请稍后重试");
|
|
|
|
- }*/
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
studentPaymentOrder.setStatus(DealStatusEnum.CLOSE);
|
|
studentPaymentOrder.setStatus(DealStatusEnum.CLOSE);
|
|
studentPaymentOrder.setUpdateTime(date);
|
|
studentPaymentOrder.setUpdateTime(date);
|
|
studentPaymentOrderService.update(studentPaymentOrder);
|
|
studentPaymentOrderService.update(studentPaymentOrder);
|
|
@@ -174,6 +171,8 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
|
|
|
|
String channelType = "";
|
|
String channelType = "";
|
|
|
|
|
|
|
|
+ Integer tenantId = TenantContextHolder.getTenantId();
|
|
|
|
+
|
|
//只允许使用这类型的优惠券
|
|
//只允许使用这类型的优惠券
|
|
String[] checkCoupon = CouponDetailTypeEnum.getAllowType(CouponDetailTypeEnum.ACCESSORIES, CouponDetailTypeEnum.MUSICAL);
|
|
String[] checkCoupon = CouponDetailTypeEnum.getAllowType(CouponDetailTypeEnum.ACCESSORIES, CouponDetailTypeEnum.MUSICAL);
|
|
StudentPaymentOrder studentPaymentOrder = sysCouponCodeService.use(subjectChangeParamDto.getCouponIdList(), amount, true, checkCoupon);
|
|
StudentPaymentOrder studentPaymentOrder = sysCouponCodeService.use(subjectChangeParamDto.getCouponIdList(), amount, true, checkCoupon);
|
|
@@ -188,7 +187,7 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
studentPaymentOrder.setUpdateTime(date);
|
|
studentPaymentOrder.setUpdateTime(date);
|
|
studentPaymentOrder.setOrganId(subjectChange.getOrganId());
|
|
studentPaymentOrder.setOrganId(subjectChange.getOrganId());
|
|
studentPaymentOrder.setRoutingOrganId(subjectChange.getOrganId());
|
|
studentPaymentOrder.setRoutingOrganId(subjectChange.getOrganId());
|
|
-
|
|
|
|
|
|
+ studentPaymentOrder.setTenantId(tenantId);
|
|
studentPaymentOrderService.insert(studentPaymentOrder);
|
|
studentPaymentOrderService.insert(studentPaymentOrder);
|
|
|
|
|
|
subjectChange.setOrderId(studentPaymentOrder.getId().intValue());
|
|
subjectChange.setOrderId(studentPaymentOrder.getId().intValue());
|
|
@@ -390,12 +389,10 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
if (StringUtils.isNotBlank(goodsIds)) {
|
|
if (StringUtils.isNotBlank(goodsIds)) {
|
|
List<Integer> goodsIdList = Arrays.stream(goodsIds.split(",")).map(Integer::parseInt).collect(Collectors.toList());
|
|
List<Integer> goodsIdList = Arrays.stream(goodsIds.split(",")).map(Integer::parseInt).collect(Collectors.toList());
|
|
//添加新订单
|
|
//添加新订单
|
|
- this.addSellOrder(studentPaymentOrder.getId(),
|
|
|
|
|
|
+ this.addSellOrder(studentPaymentOrder,
|
|
subjectChange.getMusicGroupId(),
|
|
subjectChange.getMusicGroupId(),
|
|
goodsIdList,
|
|
goodsIdList,
|
|
- BigDecimal.ZERO,
|
|
|
|
- BigDecimal.ZERO,
|
|
|
|
- subjectChange.getKitGroupPurchaseType(), BigDecimal.ZERO);
|
|
|
|
|
|
+ subjectChange.getKitGroupPurchaseType());
|
|
}
|
|
}
|
|
//乐保处理
|
|
//乐保处理
|
|
studentInstrumentService.subjectChangeUpdateInstrument(subjectChange);
|
|
studentInstrumentService.subjectChangeUpdateInstrument(subjectChange);
|
|
@@ -621,13 +618,6 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
subjectChange.setStatus(SubjectChangeStatusEnum.SUCCESSED);
|
|
subjectChange.setStatus(SubjectChangeStatusEnum.SUCCESSED);
|
|
subjectChange.setSellTime(nowDate);
|
|
subjectChange.setSellTime(nowDate);
|
|
|
|
|
|
- //乐器辅件价差大于0时,有销售金额
|
|
|
|
-// if (subjectChange.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.GROUP) && studentPaymentOrder.getActualAmount().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
-// BigDecimal sellAmount = studentPaymentOrder.getActualAmount().multiply(subjectChange.getGoodsMargin())
|
|
|
|
-// .divide(studentPaymentOrder.getExpectAmount(), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
-// subjectChange.setSellAmount(sellAmount);
|
|
|
|
-// }
|
|
|
|
-
|
|
|
|
if (this.update(subjectChange) <= 0) {
|
|
if (this.update(subjectChange) <= 0) {
|
|
throw new BizException("维修单更新失败");
|
|
throw new BizException("维修单更新失败");
|
|
}
|
|
}
|
|
@@ -645,12 +635,9 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
sellOrderService.refundByOrderId(subjectChange.getOriginalOrderId().longValue(), false);
|
|
sellOrderService.refundByOrderId(subjectChange.getOriginalOrderId().longValue(), false);
|
|
}
|
|
}
|
|
//添加新订单
|
|
//添加新订单
|
|
- List<SellOrder> sellOrders = this.addSellOrder(studentPaymentOrder.getId(),
|
|
|
|
- subjectChange.getMusicGroupId(),
|
|
|
|
|
|
+ List<SellOrder> sellOrders = this.addSellOrder(studentPaymentOrder,subjectChange.getMusicGroupId(),
|
|
goodsIdList,
|
|
goodsIdList,
|
|
- studentPaymentOrder.getExpectAmount(),
|
|
|
|
- studentPaymentOrder.getBalancePaymentAmount(),
|
|
|
|
- subjectChange.getKitGroupPurchaseType(), studentPaymentOrder.getCouponRemitFee());
|
|
|
|
|
|
+ subjectChange.getKitGroupPurchaseType());
|
|
if (sellOrders != null && sellOrders.size() > 0) {
|
|
if (sellOrders != null && sellOrders.size() > 0) {
|
|
SubjectChange change = subjectChangeDao.get(subjectChange.getId());
|
|
SubjectChange change = subjectChangeDao.get(subjectChange.getId());
|
|
BigDecimal instrumentAmount = sellOrders.stream().filter(e -> e.getType() == SellTypeEnum.INSTRUMENT).map(e -> e.getExpectAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
BigDecimal instrumentAmount = sellOrders.stream().filter(e -> e.getType() == SellTypeEnum.INSTRUMENT).map(e -> e.getExpectAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
@@ -767,19 +754,21 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
- public List<SellOrder> addSellOrder(Long orderId,
|
|
|
|
|
|
+ public List<SellOrder> addSellOrder(StudentPaymentOrder order,
|
|
String musicGroupId,
|
|
String musicGroupId,
|
|
List<Integer> goodsIds,
|
|
List<Integer> goodsIds,
|
|
- BigDecimal totalAmount,
|
|
|
|
- BigDecimal balance,
|
|
|
|
- KitGroupPurchaseTypeEnum kitGroupPurchaseType, BigDecimal couponRemitAmount) {
|
|
|
|
|
|
+ KitGroupPurchaseTypeEnum kitGroupPurchaseType) {
|
|
if (goodsIds == null || goodsIds.size() <= 0) {
|
|
if (goodsIds == null || goodsIds.size() <= 0) {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
+ BigDecimal balance = order.getBalancePaymentAmount();
|
|
if (balance == null) {
|
|
if (balance == null) {
|
|
balance = BigDecimal.ZERO;
|
|
balance = BigDecimal.ZERO;
|
|
}
|
|
}
|
|
- StudentPaymentOrder order = studentPaymentOrderDao.get(orderId);
|
|
|
|
|
|
+ Long orderId = order.getId();
|
|
|
|
+ BigDecimal totalAmount = order.getExpectAmount();
|
|
|
|
+ BigDecimal couponRemitAmount = order.getCouponRemitFee();
|
|
|
|
+ Integer tenantId = order.getTenantId();
|
|
MusicGroup musicGroup = new MusicGroup();
|
|
MusicGroup musicGroup = new MusicGroup();
|
|
if (StringUtils.isNotBlank(musicGroupId)) {
|
|
if (StringUtils.isNotBlank(musicGroupId)) {
|
|
musicGroup = musicGroupDao.get(musicGroupId);
|
|
musicGroup = musicGroupDao.get(musicGroupId);
|
|
@@ -882,6 +871,7 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
sellOrder.setSellTime(order.getCreateTime());
|
|
sellOrder.setSellTime(order.getCreateTime());
|
|
sellOrder.setCreateIme(new Date());
|
|
sellOrder.setCreateIme(new Date());
|
|
sellOrder.setUpdateTime(new Date());
|
|
sellOrder.setUpdateTime(new Date());
|
|
|
|
+ sellOrder.setTenantId(tenantId);
|
|
if (nowGoods.getType().equals(GoodsType.INSTRUMENT)) {
|
|
if (nowGoods.getType().equals(GoodsType.INSTRUMENT)) {
|
|
sellOrder.setType(SellTypeEnum.INSTRUMENT);
|
|
sellOrder.setType(SellTypeEnum.INSTRUMENT);
|
|
} else if (nowGoods.getType().equals(GoodsType.ACCESSORIES)) {
|
|
} else if (nowGoods.getType().equals(GoodsType.ACCESSORIES)) {
|