|
@@ -1409,7 +1409,43 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
@Transactional(rollbackFor = Throwable.class, propagation = Propagation.REQUIRED)
|
|
|
public R finishStoreOrder(Long orderId){
|
|
|
FsStoreOrder order= fsStoreOrderMapper.selectFsStoreOrderById(orderId);
|
|
|
- if(order.getStatus()==OrderInfoEnum.STATUS_2.getValue()){
|
|
|
+
|
|
|
+ // 如果是套餐类型的
|
|
|
+ if(ObjectUtil.equal(order.getIsPackage(),1)) {
|
|
|
+ logger.info("订单是套餐类型, 订单ID: {}", order.getId());
|
|
|
+ // 如果该套餐有定时发放优惠券,就放置到定时发放优惠券队列
|
|
|
+ FsStoreProductPackage fsStoreProductPackage = productPackageService.selectFsStoreProductPackageById(order.getPackageId());
|
|
|
+ logger.info("查询到的套餐信息: {}", fsStoreProductPackage);
|
|
|
+
|
|
|
+ if(ObjectUtil.equal(1,fsStoreProductPackage.getIcgEnable())){
|
|
|
+ logger.info("套餐开启了定时发放优惠券功能, 套餐ID: {}", fsStoreProductPackage.getPackageId());
|
|
|
+
|
|
|
+ FsCouponSchedule fsCouponSchedule = new FsCouponSchedule();
|
|
|
+ fsCouponSchedule.setOrderId(order.getId());
|
|
|
+ fsCouponSchedule.setSetmealId(fsStoreProductPackage.getPackageId());
|
|
|
+ fsCouponSchedule.setSetmealTitle(fsStoreProductPackage.getTitle());
|
|
|
+ fsCouponSchedule.setMonth(fsStoreProductPackage.getIcgMonth().longValue());
|
|
|
+ fsCouponSchedule.setCount(0L);
|
|
|
+ fsCouponSchedule.setPage(fsStoreProductPackage.getIcgUrl());
|
|
|
+ fsCouponSchedule.setCouponIds(StringUtils.join(fsStoreProductPackage.getIcgCouponsId(),","));
|
|
|
+ fsCouponSchedule.setRemark(fsStoreProductPackage.getIcgMark());
|
|
|
+ fsCouponSchedule.setStatus(IcgProcessStatusEnum.PENDING.getCode());
|
|
|
+ fsCouponSchedule.setOrderTime(LocalDateTime.now());
|
|
|
+ fsCouponSchedule.setUserId(order.getUserId());
|
|
|
+ // 如果上次发送时间为空,那么预计发送时间等于=下单时间+1月
|
|
|
+ // 获取下个月10号
|
|
|
+ fsCouponSchedule.setSendTime(fsCouponSchedule.getOrderTime().plusMonths(1L).withDayOfMonth(10));
|
|
|
+ fsCouponSchedule.setRetryCount(0);
|
|
|
+
|
|
|
+ fsCouponSchedule.setCompanyId(order.getCompanyId());
|
|
|
+ fsCouponSchedule.setCompanyUserId(order.getCompanyUserId());
|
|
|
+
|
|
|
+ fsCouponScheduleService.insertFsCouponSchedule(fsCouponSchedule);
|
|
|
+
|
|
|
+ logger.info("插入优惠券定时发放任务成功,任务ID:{}",fsCouponSchedule.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(ObjectUtil.equal(order.getStatus(),OrderInfoEnum.STATUS_2.getValue())){
|
|
|
order.setFinishTime(new Date());
|
|
|
order.setStatus(3);
|
|
|
fsStoreOrderMapper.updateFsStoreOrder(order);
|
|
@@ -1424,7 +1460,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
//模板消息支付成功发布事件
|
|
|
TemplateBean templateBean = TemplateBean.builder()
|
|
|
.orderId(order.getId().toString())
|
|
|
- .orderCode(order.getOrderCode().toString())
|
|
|
+ .orderCode(order.getOrderCode())
|
|
|
.remark("您的订单已签收成功")
|
|
|
.finishTime(order.getFinishTime())
|
|
|
.userId(order.getUserId())
|
|
@@ -1434,7 +1470,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
return R.ok("操作成功");
|
|
|
}
|
|
|
else {
|
|
|
- return R.error("非法操作");
|
|
|
+ throw new RuntimeException("待收货状态才允许完成交易!");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1498,57 +1534,17 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
storeOrder.setPayTime(new Date());
|
|
|
fsStoreOrderMapper.updateFsStoreOrder(storeOrder);
|
|
|
|
|
|
- // 如果是套餐类型的
|
|
|
- if(ObjectUtil.equal(order.getIsPackage(),1)) {
|
|
|
- logger.info("订单是套餐类型, 订单ID: {}", order.getId());
|
|
|
- // 如果该套餐有定时发放优惠券,就放置到定时发放优惠券队列
|
|
|
- FsStoreProductPackage fsStoreProductPackage = productPackageService.selectFsStoreProductPackageById(order.getPackageId());
|
|
|
- logger.info("查询到的套餐信息: {}", fsStoreProductPackage);
|
|
|
-
|
|
|
- if(ObjectUtil.equal(1,fsStoreProductPackage.getIcgEnable())){
|
|
|
- logger.info("套餐开启了定时发放优惠券功能, 套餐ID: {}", fsStoreProductPackage.getPackageId());
|
|
|
-
|
|
|
- FsCouponSchedule fsCouponSchedule = new FsCouponSchedule();
|
|
|
- fsCouponSchedule.setOrderId(order.getId());
|
|
|
- fsCouponSchedule.setSetmealId(fsStoreProductPackage.getPackageId());
|
|
|
- fsCouponSchedule.setSetmealTitle(fsStoreProductPackage.getTitle());
|
|
|
- fsCouponSchedule.setMonth(fsStoreProductPackage.getIcgMonth().longValue());
|
|
|
- fsCouponSchedule.setCount(0L);
|
|
|
- fsCouponSchedule.setPage(fsStoreProductPackage.getIcgUrl());
|
|
|
- fsCouponSchedule.setCouponIds(StringUtils.join(fsStoreProductPackage.getIcgCouponsId(),","));
|
|
|
- fsCouponSchedule.setRemark(fsStoreProductPackage.getIcgMark());
|
|
|
- fsCouponSchedule.setStatus(IcgProcessStatusEnum.PENDING.getCode());
|
|
|
- fsCouponSchedule.setOrderTime(LocalDateTime.now());
|
|
|
- fsCouponSchedule.setUserId(order.getUserId());
|
|
|
- // 如果上次发送时间为空,那么预计发送时间等于=下单时间+1月
|
|
|
- // 获取下个月10号
|
|
|
- fsCouponSchedule.setSendTime(fsCouponSchedule.getOrderTime().plusMonths(1L).withDayOfMonth(10));
|
|
|
- fsCouponSchedule.setRetryCount(0);
|
|
|
-
|
|
|
- fsCouponSchedule.setCompanyId(order.getCompanyId());
|
|
|
- fsCouponSchedule.setCompanyUserId(order.getCompanyUserId());
|
|
|
-
|
|
|
- fsCouponScheduleService.insertFsCouponSchedule(fsCouponSchedule);
|
|
|
-
|
|
|
- logger.info("插入优惠券定时发放任务成功,任务ID:{}",fsCouponSchedule.getId());
|
|
|
- }
|
|
|
- }
|
|
|
//非处方直接提交OMS
|
|
|
- try {
|
|
|
- if(order.getIsPrescribe().equals(0)){
|
|
|
+ if(order.getIsPrescribe().equals(0)){
|
|
|
+ createOmsOrder(order.getId());
|
|
|
+ }
|
|
|
+ else if(order.getIsPrescribe().equals(1)){
|
|
|
+ //是否已开方
|
|
|
+ FsPrescribe prescribe=prescribeService.selectFsPrescribeByOrderId(order.getId());
|
|
|
+ if(prescribe!=null&&prescribe.getStatus()==1){
|
|
|
createOmsOrder(order.getId());
|
|
|
}
|
|
|
- else if(order.getIsPrescribe().equals(1)){
|
|
|
- //是否已开方
|
|
|
- FsPrescribe prescribe=prescribeService.selectFsPrescribeByOrderId(order.getId());
|
|
|
- if(prescribe!=null&&prescribe.getStatus()==1){
|
|
|
- createOmsOrder(order.getId());
|
|
|
- }
|
|
|
- }
|
|
|
- }catch (Exception e){
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
catch (Exception e){
|
|
|
logger.info("payConfirm:"+e.getMessage());
|