From 7c5484cc1169aa6ef55c77c70f136a781469a7c3 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 06 一月 2025 17:01:01 +0800
Subject: [PATCH] 最新版本541200007

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                 |    4 +
 server/system_service/src/main/java/com/doumee/dao/system/dto/LoginH5DTO.java                            |   37 ++++++++++++
 server/system_service/src/main/java/com/doumee/service/business/impl/third/TmsServiceImpl.java           |    8 +-
 server/system_service/src/main/java/com/doumee/dao/business/model/SmsEmail.java                          |    3 +
 server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java                    |    4 +
 server/visits/dmvisit_admin/src/main/java/com/doumee/config/shiro/ShiroCache.java                        |    2 
 server/visits/dmvisit_admin/src/main/resources/bootstrap.yml                                             |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java |   58 ++++++++++++++++--
 server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java           |   27 +++++++-
 server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java                        |    9 +-
 10 files changed, 130 insertions(+), 24 deletions(-)

diff --git a/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java b/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
index 539f4d4..b47e8d0 100644
--- a/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
+++ b/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
@@ -6,6 +6,7 @@
 import com.doumee.core.annotation.pr.PreventRepeat;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.dao.system.dto.LoginH5DTO;
 import com.doumee.service.business.third.model.ApiResponse;
 import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.core.utils.Constants;
@@ -97,11 +98,11 @@
     @ApiOperation("H5涓氬姟鐧诲綍")
     @PostMapping("/loginH5")
     @LoginNoRequired
-    public ApiResponse<String> loginH5 (@Validated @RequestBody LoginDTO dto, ServerWebExchange serverWebExchange) {
+    public ApiResponse<String> loginH5 (@Validated @RequestBody LoginH5DTO dto, ServerWebExchange serverWebExchange) {
         try {
             ServerHttpRequest request = serverWebExchange.getRequest();
             dto.setCheckCode(false);
-            LoginUserInfo user =  systemLoginService.loginByPasswordNew(dto,request);
+            LoginUserInfo user =  systemLoginService.loginH5(dto,request);
             String token = jwtTokenUtil.generateToken(user);
             return ApiResponse.success(token);
         }catch (BusinessException e){
@@ -112,7 +113,7 @@
         }
     }
     @PreventRepeat(limit = 10, lockTime = 10000)
-    @ApiOperation("H5涓氬姟鐧诲綍")
+    @ApiOperation("H5涓氬姟鐧诲綍(鎵嬫満鍙烽獙璇佺爜鐧诲綍锛�")
     @PostMapping("/loginH5ByPhone")
     @LoginNoRequired
     public ApiResponse<String> loginH5ByPhone (@Validated @RequestBody LoginPhoneDTO dto, ServerWebExchange serverWebExchange) {
@@ -170,7 +171,7 @@
     @ApiOperation("鍙告満鐧诲綍")
     @PostMapping("/loginDriver")
     @LoginNoRequired
-    public ApiResponse<String> loginDriver (@Validated @RequestBody LoginDTO dto, ServerWebExchange serverWebExchange) {
+    public ApiResponse<String> loginDriver (@Validated @RequestBody LoginH5DTO dto, ServerWebExchange serverWebExchange) {
         try {
             ServerHttpRequest request = serverWebExchange.getRequest();
             dto.setCheckCode(false);
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 2456df6..9b6bc6d 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -541,6 +541,10 @@
     }
 
 
+    /**
+     * 杩愬崟浜嗗崟浣嶇被鍨� 0涓囨敮 1绠�
+     */
+    public static final  int UNIT_TYPE =1;
 public interface  memberType{
     int driver = 0;//鍙告満浜哄憳
     int visitor = 1;//鏅�氳瀹�
diff --git a/server/system_service/src/main/java/com/doumee/dao/business/model/SmsEmail.java b/server/system_service/src/main/java/com/doumee/dao/business/model/SmsEmail.java
index 65570b2..f8ad0d2 100644
--- a/server/system_service/src/main/java/com/doumee/dao/business/model/SmsEmail.java
+++ b/server/system_service/src/main/java/com/doumee/dao/business/model/SmsEmail.java
@@ -100,4 +100,7 @@
     @ApiModelProperty(value = "缁撴潫鏃堕棿")
     @TableField(exist = false)
     private Date endTime;
+    @ApiModelProperty(value = "鐢ㄦ埛绫诲瀷 0鍙告満 1璁垮 2鍐呴儴鍛樺伐 3")
+    @TableField(exist = false)
+    private Integer userType;
 }
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/dto/LoginH5DTO.java b/server/system_service/src/main/java/com/doumee/dao/system/dto/LoginH5DTO.java
new file mode 100644
index 0000000..5cda109
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/dao/system/dto/LoginH5DTO.java
@@ -0,0 +1,37 @@
+package com.doumee.dao.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/05/04 18:21
+ */
+@Data
+@ApiModel("鐧诲綍鍙傛暟")
+public class LoginH5DTO implements Serializable {
+
+    @NotBlank(message = "鐢ㄦ埛鍚嶄笉鑳戒负绌�")
+    @ApiModelProperty(value = "鐢ㄦ埛鍚�")
+    private String username;
+
+    @ApiModelProperty(value = "寰俊openId")
+    private String openid;
+
+    @NotBlank(message = "瀵嗙爜涓嶈兘涓虹┖")
+    @ApiModelProperty(value = "瀵嗙爜")
+    private String password;
+
+    @ApiModelProperty(value = "楠岃瘉鐮�")
+    private String code;
+
+    @ApiModelProperty(value = "楠岃瘉鐮乁UID")
+    private String uuid;
+
+    @ApiModelProperty(value = "鏄惁楠岃瘉楠岃瘉鐮�" , hidden = true)
+    private Boolean checkCode;
+}
diff --git a/server/system_service/src/main/java/com/doumee/service/business/impl/third/TmsServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/business/impl/third/TmsServiceImpl.java
index f12f323..e1351b6 100644
--- a/server/system_service/src/main/java/com/doumee/service/business/impl/third/TmsServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/business/impl/third/TmsServiceImpl.java
@@ -288,12 +288,12 @@
     public   TmsEmployeeListResponse getEmployeeList(TmsEmployeeListRequest param){
         String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                     +TMSContants.InterfacePath.getEmployeeList[0];
-        TmsBaseResponse<TmsEmployeeListResponse > response = sendHttpRequest(url,TMSContants.InterfacePath.getEmployeeList[1],JSONObject.toJSONString(param)
-                ,new TypeReference< TmsBaseResponse<TmsEmployeeListResponse>>(){});
-        if(response ==null || response.getData() == null){
+        TmsBaseResponse<List<TmsEmployeeListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getEmployeeList[1],JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse<List<TmsEmployeeListResponse>>>(){});
+        if(response ==null || response.getData() == null || response.getData().size() ==0){
             return  new TmsEmployeeListResponse();
         }
-        return  response.getData();
+        return  response.getData().get(0);
     }
     /**
      * 鍑哄簱鑳藉姏缁熻
diff --git a/server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java b/server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java
index 6c95876..58bc41f 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.system;
 
+import com.doumee.dao.system.dto.LoginH5DTO;
 import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.dao.system.dto.LoginDTO;
 import com.doumee.dao.system.dto.LoginPhoneDTO;
@@ -22,13 +23,14 @@
     String loginByPassword (LoginDTO dto, HttpServletRequest request);
 
     LoginUserInfo loginByPasswordNew (LoginDTO dto, ServerHttpRequest request);
+    LoginUserInfo loginH5 (LoginH5DTO dto, ServerHttpRequest request);
 
     LoginUserInfo loginByPasswordForPda(LoginDTO dto, ServerHttpRequest request);
 
     LoginUserInfo loginByPhone(LoginPhoneDTO dto, ServerHttpRequest request);
 
 
-    LoginUserInfo driverLogin(LoginDTO dto, ServerHttpRequest request);
+    LoginUserInfo driverLogin(LoginH5DTO dto, ServerHttpRequest request);
     LoginUserInfo loginDriverWithCode(LoginPhoneDTO dto, ServerHttpRequest request);
     LoginUserInfo loginGkUserWithCode(LoginPhoneDTO dto, ServerHttpRequest request);
     /**
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index b4adca4..527883a 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -5,6 +5,7 @@
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.config.jwt.JwtTokenUtil;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.dao.system.dto.LoginH5DTO;
 import com.doumee.service.business.third.TmsService;
 import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.core.constants.ResponseStatus;
@@ -140,6 +141,26 @@
 
     @Override
     public LoginUserInfo loginByPasswordNew(LoginDTO dto, ServerHttpRequest request) {
+        SystemLoginLog loginLog = getInitLoginlog(dto.getUsername(),request);
+
+        if((isDebug == null  || !isDebug) && (Objects.isNull(dto.getCheckCode()) || dto.getCheckCode()) ){
+            // 鏍¢獙楠岃瘉鐮�
+            try {
+                captchaService.check(dto.getUuid(), dto.getCode());
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                loginLog.setReason(e.getMessage().length() > 200 ? (e.getMessage().substring(0, 190) + "...") : e.getMessage());
+                loginLog.setSuccess(Boolean.FALSE);
+                systemLoginLogService.create(loginLog);
+                throw e;
+            }
+        }
+        LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid(),request);
+        systemLoginLogService.create(loginLog);
+        return  user;
+    }
+    @Override
+    public LoginUserInfo loginH5 (LoginH5DTO dto, ServerHttpRequest request) {
         SystemLoginLog loginLog = getInitLoginlog(dto.getUsername(),request);
 
         if((isDebug == null  || !isDebug) && (Objects.isNull(dto.getCheckCode()) || dto.getCheckCode()) ){
@@ -356,7 +377,7 @@
 
 
     @Override
-    public LoginUserInfo driverLogin(LoginDTO dto, ServerHttpRequest request) {
+    public LoginUserInfo driverLogin(LoginH5DTO dto, ServerHttpRequest request) {
         SystemLoginLog loginLog =getInitLoginlog(dto.getUsername(),request);
         LoginUserInfo userInfo = dealLoginDriverBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid());
         systemLoginLogService.create(loginLog);
@@ -521,10 +542,6 @@
         if (systemUser == null) {
             //鏂板绠℃帶浜哄憳鏁版嵁
             systemUser = systemUser = autoRegisterUser(Constants.memberType.gkuser,param.getPhone(),param.getOpenid(),false);
-        }else{
-            if(!Constants.equalsInteger(systemUser.getType(),Constants.memberType.gkuser)){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇蜂娇鐢ㄦ纭殑绠℃帶浜哄憳鎵嬫満鍙风櫥闄嗭紒");
-            }
         }
         dealOpenIdBizForGk(systemUser,param.getOpenid());
         LoginUserInfo userInfo = LoginUserInfo.from(systemUser, null, null,null,null);
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/config/shiro/ShiroCache.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/config/shiro/ShiroCache.java
index 4e61661..7a12456 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/config/shiro/ShiroCache.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/config/shiro/ShiroCache.java
@@ -45,7 +45,7 @@
 
     @Override
     public Serializable get(Object key) throws CacheException {
-        if (key == null) {
+        if (key == null || getKey(key) == null) {
             return null;
         }
         return redisTemplate.opsForValue().get(getKey(key));
diff --git a/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml b/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
index 2df12af..3ba1f68 100644
--- a/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
+++ b/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: pro
+    active: self
   application:
     name: visitsAdmin
     # 瀹夊叏閰嶇疆
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index 5577379..a4fdea4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -38,6 +38,7 @@
 import com.doumee.service.business.third.model.response.*;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -2150,6 +2151,11 @@
                     if(t.getTotalNum().compareTo(new BigDecimal(0)) !=0){
                         t.setUseRate(t.getCurrentNum().divide(t.getTotalNum(),4,BigDecimal.ROUND_HALF_UP));
                     }
+                    if(Constants.UNIT_TYPE == 1) {
+                        //澶勭悊鍗曚綅鎴愨�滅鈥濓紝涓�绠�=5涓囨敮
+                        t.setCurrentNum(Constants.formatBigdecimal(t.getCurrentNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+                        t.setTotalNum(Constants.formatBigdecimal(t.getTotalNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+                    }
                 }
                 result.getDetailList().add(t);
                 result.setCurrentNum(result.getCurrentNum().add(t.getCurrentNum()));
@@ -2292,6 +2298,15 @@
         if(data.getCrrentRestCarNum()<=0){
             data.setCrrentRestCarNum(0);
         }
+        //澶勭悊鍗曚綅鎴愨�滅鈥濓紝涓�绠�=5涓囨敮
+        if(Constants.UNIT_TYPE == 1) {
+            data.setMaxAbility(Constants.formatBigdecimal(data.getMaxAbility()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+            data.setHoursAbility(Constants.formatBigdecimal(data.getHoursAbility()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+            data.setCrrentRestNum(Constants.formatBigdecimal(data.getCrrentRestNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+            data.setCurrentPlanNum(Constants.formatBigdecimal(data.getCurrentPlanNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+            data.setCrrentOutNum(Constants.formatBigdecimal(data.getCrrentOutNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+            data.setCurrentOrderNum(Constants.formatBigdecimal(data.getCurrentOrderNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+        }
     }
 
     private boolean notInList(String transportCode, List<String> planCodes) {
@@ -2380,6 +2395,16 @@
             data.setSameOutNum(data.getLastOutNum());
             data.setSameInNum(data.getLastInNum());
         }
+
+        //澶勭悊鍗曚綅鎴愨�滅鈥濓紝涓�绠�=5涓囨敮
+        if(Constants.UNIT_TYPE == 1) {
+            data.setCurrentInNum(Constants.formatBigdecimal(data.getCurrentInNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+            data.setCurrentOutNum(Constants.formatBigdecimal(data.getCurrentOutNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+            data.setLastInNum(Constants.formatBigdecimal(data.getLastInNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+            data.setLastOutNum(Constants.formatBigdecimal(data.getLastOutNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+            data.setSameInNum(Constants.formatBigdecimal(data.getSameInNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+            data.setSameOutNum(Constants.formatBigdecimal(data.getSameOutNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+        }
         return data;
     }
     /**
@@ -2397,14 +2422,20 @@
         List<TmsDistributionOfDeliveryLocResponse> response  = tmsService.getDistributionOfDeliveryLocations(param);//鏌ヨ鍑哄簱閲�
         if(response!=null &&response.size()>0){
             for(TmsDistributionOfDeliveryLocResponse model : response){
-                WholeProvinceMapVO tt = getFromProvinceResultList(model ,result);
-                if(tt == null){
-                    tt =new WholeProvinceMapVO();
-                    tt.setMonthNum( Constants.formatBigdecimal0Float(model.getMonthOutboundQuantity()));
-                    tt.setYearNum( Constants.formatBigdecimal0Float(model.getYearOutboundQuantity()));
-                    tt.setProvinceCode(model.getToProvinceCode());
-                    tt.setProvinceName(model.getToProvinceName());
-                    result.add(tt);
+                WholeProvinceMapVO t = getFromProvinceResultList(model ,result);
+                if(t == null){
+                    t =new WholeProvinceMapVO();
+                    t.setMonthNum( Constants.formatBigdecimal0Float(model.getMonthOutboundQuantity()));
+                    t.setYearNum( Constants.formatBigdecimal0Float(model.getYearOutboundQuantity()));
+
+                    if(Constants.UNIT_TYPE == 1) {
+                        //澶勭悊鍗曚綅鎴愨�滅鈥濓紝涓�绠�=5涓囨敮
+                        t.setMonthNum(Constants.formatBigdecimal(t.getMonthNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+                        t.setYearNum(Constants.formatBigdecimal(t.getYearNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+                    }
+                    t.setProvinceCode(model.getToProvinceCode());
+                    t.setProvinceName(model.getToProvinceName());
+                    result.add(t);
                 }
             }
         }
@@ -2528,6 +2559,12 @@
                 if(t.getTotalNum().compareTo(new BigDecimal(0)) !=0){
                     t.setUseRate(t.getCurrentNum().divide(t.getTotalNum(),4,BigDecimal.ROUND_HALF_UP));
                 }
+                if(Constants.UNIT_TYPE == 1) {
+                    //澶勭悊鍗曚綅鎴愨�滅鈥濓紝涓�绠�=5涓囨敮
+                    t.setCurrentNum(Constants.formatBigdecimal(t.getCurrentNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+                    t.setTotalNum(Constants.formatBigdecimal(t.getTotalNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+
+                }
                 result.getDetailList().add(t);
                 result.setCurrentNum(result.getCurrentNum().add(t.getCurrentNum()));
                 result.setTotalNum(result.getTotalNum().add(t.getTotalNum()));
@@ -2586,6 +2623,11 @@
                 if(t.getTotalNum().compareTo(new BigDecimal(0)) !=0){
                     t.setUseRate(t.getCurrentNum().divide(t.getTotalNum(),4,BigDecimal.ROUND_HALF_UP));
                 }
+                if(Constants.UNIT_TYPE == 1){
+                    //澶勭悊鍗曚綅鎴愨�滅鈥濓紝涓�绠�=5涓囨敮
+                    t.setCurrentNum(Constants.formatBigdecimal(t.getCurrentNum()).divide(new BigDecimal(5),2,BigDecimal.ROUND_HALF_UP));
+                    t.setTotalNum(Constants.formatBigdecimal(t.getTotalNum()).divide(new BigDecimal(5),2,BigDecimal.ROUND_HALF_UP));
+                }
                 result.getDetailList().add(t);
                 result.setCurrentNum(result.getCurrentNum().add(t.getCurrentNum()));
                 result.setTotalNum(result.getTotalNum().add(t.getTotalNum()));

--
Gitblit v1.9.3