| 
					
				 | 
			
			
				@@ -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()); 
			 |