Ver código fonte

代码优化

lishiqiang 6 dias atrás
pai
commit
0a364d3e70

+ 6 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/insurance/InsuranceServiceImpl.java

@@ -41,6 +41,7 @@ import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -195,6 +196,11 @@ public class InsuranceServiceImpl implements InsuranceService {
         insuranceDO.setInsuranceStatus(InsuranceStatusEnum.INSURE.getValue());
         insuranceDO.setInsuredNum(insuredList.size());
         insuranceDO.setInsuranceNo(orderInfo.getOrderNo());
+        insuranceDO.setInsuranceNo(orderInfo.getOrderNo());
+        insuranceDO.setTenantId(voyage.getTenantId());
+        insuranceDO.setRationType(insuranceOrderInfoDTO.getProductNo());
+        insuranceDO.setResMsg(String.valueOf(commonResult.getCheckedData()));
+        insuranceDO.setInsuranceEffectDate(LocalDateTime.parse(DateUtil.format(voyage.getBoardingTime(), "yyyy-MM-dd")));
         Long id = IdWorker.getId(insuranceDO);
         insuranceDO.setId(id);
         insuranceMapper.insert(insuranceDO);

+ 3 - 3
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/invoice/impl/InvoiceGroupServiceImpl.java

@@ -690,9 +690,9 @@ public class InvoiceGroupServiceImpl implements InvoiceGroupService {
                 detailObj.set("SL", taxRate);
                 //含税金额
                 taxIncludedAmount = invoice.getPrice();
-                if (type == 1) {
-                    taxIncludedAmount = BigDecimal.ZERO.subtract(invoice.getPrice());
-                }
+//                if (type == 1) {
+//                    taxIncludedAmount = BigDecimal.ZERO.subtract(invoice.getPrice());
+//                }
 //                String dylzfpmxxh = String.valueOf(IdWorker.getId()).substring(0,8);
 //                detailObj.set("DYLZFPMXXH", dylzfpmxxh);
                 //不含税金额

+ 40 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/AdminTradeOrderServiceImpl.java

@@ -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("订单取消审核中");
     }