|
|
@@ -15,10 +15,15 @@ import com.yc.ship.framework.common.util.collection.CollectionUtils;
|
|
|
import com.yc.ship.framework.common.util.object.ObjectUtils;
|
|
|
import com.yc.ship.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
import com.yc.ship.framework.security.core.LoginUser;
|
|
|
+import com.yc.ship.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
import com.yc.ship.module.ota.api.OtaDistributorApi;
|
|
|
import com.yc.ship.module.ota.api.dto.DistributorRespDTO;
|
|
|
import com.yc.ship.module.otc.api.agency.dto.AgencyUserLoginInfoRespDTO;
|
|
|
import com.yc.ship.module.product.api.dto.ProductSpuRespDTO;
|
|
|
+import com.yc.ship.module.system.api.notify.NotifyMessageSendApi;
|
|
|
+import com.yc.ship.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
|
|
|
+import com.yc.ship.module.system.api.user.AdminUserApi;
|
|
|
+import com.yc.ship.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
import com.yc.ship.module.trade.api.contract.ContractApi;
|
|
|
import com.yc.ship.module.trade.api.contract.dto.ContractApplyReqDTO;
|
|
|
import com.yc.ship.module.trade.api.contract.dto.ContractTouristDTO;
|
|
|
@@ -101,6 +106,12 @@ public class AdminTradeOrderServiceImpl implements AdminTradeOrderService {
|
|
|
@Resource
|
|
|
private InvoiceService invoiceService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private NotifyMessageSendApi notifyMessageSendApi;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private AdminUserApi adminUserApi;
|
|
|
+
|
|
|
@Override
|
|
|
public CommonResult<TradeRefundCreateRespVO> refund(LoginUser loginUser, TradeRefundCreateReqVO refundCreateReqVO) {
|
|
|
AgencyUserLoginInfoRespDTO agencyUserLoginInfo = loginUser.getContext(AGENCY_LOGIN_INFO, AgencyUserLoginInfoRespDTO.class);
|
|
|
@@ -327,7 +338,7 @@ public class AdminTradeOrderServiceImpl implements AdminTradeOrderService {
|
|
|
tradeOrderBindMapper.insert(tradeOrderBindDO);
|
|
|
|
|
|
List<TradeDetailDO> tradeDetailList = tradeOrderRepositoryService.queryYcDetailByOrderId(orderId);
|
|
|
- long between = DateUtil.between(new Date(),tradeOrderDO.getTravelDate(), DateUnit.DAY,false);
|
|
|
+ long between = DateUtil.between(new Date(), tradeOrderDO.getTravelDate(), DateUnit.DAY, false);
|
|
|
BigDecimal damaged;
|
|
|
if (between > 21) {
|
|
|
damaged = new BigDecimal(500).multiply(new BigDecimal(tradeDetailList.size()));
|
|
|
@@ -339,6 +350,34 @@ public class AdminTradeOrderServiceImpl implements AdminTradeOrderService {
|
|
|
|
|
|
AuditUserDO auditUserDO = auditUserMapper.selectOne(new LambdaQueryWrapperX<AuditUserDO>().eq(AuditUserDO::getType, 4).eq(AuditUserDO::getAuditStatus, 1).eq(AuditUserDO::getDeleted, 0).orderByDesc(AuditUserDO::getCreateTime).last("limit 1"));
|
|
|
tradeOrderMapper.update(new UpdateWrapper<TradeOrderDO>().set("audit_type", 4).set("audit_user", auditUserDO == null ? "" : auditUserDO.getAuditUser()).set("order_status", TradeOrderStatusEnum.CANCEL_AUDIT.getStatus()).set("audit_status", 1).set("damaged", damaged).set("damaged_status", 1).set("damaged_time", LocalDateTime.now()).eq("id", tradeOrderDO.getId()));
|
|
|
+
|
|
|
+ try {
|
|
|
+ Map map = new HashMap();
|
|
|
+ Long userId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
+ map.put("orderNo", tradeOrderDO.getOrderNo());
|
|
|
+ map.put("oldOrderStatus", TradeOrderStatusEnum.valueOf(tradeOrderDO.getOrderStatus()).getName());
|
|
|
+ map.put("newOrderStatus", TradeOrderStatusEnum.CANCEL_AUDIT.getName());
|
|
|
+ AdminUserRespDTO user = adminUserApi.getUser(userId);
|
|
|
+ map.put("modifyUser", user.getNickname());
|
|
|
+ NotifySendSingleToUserReqDTO reqDTO = new NotifySendSingleToUserReqDTO();
|
|
|
+ reqDTO.setTemplateParams(map);
|
|
|
+ //订单({orderNo})已修改, 状态由{oldOrderStatus} 改为{newOrderStatus}, 修改人为: {modifyUser} ,请注意核对!
|
|
|
+ //订单详情页面展示具体变更内容
|
|
|
+ reqDTO.setTemplateCode("sendmsg_cd_12");
|
|
|
+
|
|
|
+ List<Long> userIds = adminUserApi.getUserListByRoleCode("jdtx");
|
|
|
+ if (userIds != null) {
|
|
|
+ userIds.forEach(senduser -> {
|
|
|
+ reqDTO.setUserId(senduser);
|
|
|
+ notifyMessageSendApi.sendSingleMessageToAdmin(reqDTO);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ log.error("获取角色jdtx用户为空");
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("发送站内信异常", e);
|
|
|
+ }
|
|
|
+
|
|
|
TradeOrderLogUtils.setOrderInfo(orderId, tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.CANCEL_AUDIT.getStatus());
|
|
|
return CommonResult.success("订单取消审核中");
|
|
|
}
|