Browse Source

Merge branch 'feature-wcz' of lift-manager/lift-server into develop

wucizhong 5 years ago
parent
commit
14f7f74622

+ 7 - 5
lift-business-service/src/main/java/cn/com/ty/lift/business/common/CommonController.java

@@ -12,7 +12,7 @@ import cn.com.ty.lift.common.verify.Ver;
 import cn.com.ty.lift.common.verify.Verifier;
 import cn.com.ty.lift.common.verify.Verify;
 import cn.com.xwy.boot.web.dto.RestResponse;
-import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@@ -22,6 +22,8 @@ import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 
 /**
@@ -35,7 +37,7 @@ import java.util.*;
 @RequestMapping("common")
 public class CommonController {
 
-    private static final String DateInPath = "yyyy/MM/dd";
+    private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy/MM/dd");
 
     private RedisTemplate<String, Object> redisTemplate;
     private SystemConfiguration           systemConfiguration;
@@ -80,7 +82,7 @@ public class CommonController {
      */
     @PostMapping("uploads")
     public RestResponse uploads(@RequestParam("files") MultipartFile[] files) {
-        Verify.notTrue(Objects.isNull(files) || files.length == 0, Verify.Upload.fileDataMissing);
+        Verify.notTrue(ArrayUtil.isEmpty(files), Verify.Upload.fileDataMissing);
         Map<String, MultipartFile> fileMap = new HashMap<>();
         //1 先解析文件格式
         for (MultipartFile file : files) {
@@ -133,7 +135,7 @@ public class CommonController {
         Verify.notTrue(Objects.isNull(file) || file.isEmpty(), Verify.Upload.fileDataMissing);
         // 获取文件名,带后缀
         String originalFilename = file.getOriginalFilename();
-        log.info("the original file name is:{}", originalFilename);
+        log.info("the original file name:{}", originalFilename);
         // 获取文件的后缀格式
         Verify.notNull(originalFilename, "原文件名不能为空");
         int lastDotIndex = originalFilename.lastIndexOf(ValuePool.DOT);
@@ -151,7 +153,7 @@ public class CommonController {
         } else {
             throw Verify.verifyException(Verify.Upload.fileFormatNotSupport);
         }
-        String fileName = StrUtil.format("{}/{}{}", DateUtil.format(DateUtil.date(), DateInPath), IdWorker.getIdStr(), fileSuffix);
+        String fileName = StrUtil.format("{}/{}{}", DATE_TIME_FORMATTER.format(LocalDate.now()), IdWorker.getIdStr(), fileSuffix);
         log.info("the new file name:{}", fileName);
         return fileName;
     }

+ 4 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/common/CommonRequest.java

@@ -22,4 +22,8 @@ public class CommonRequest {
      */
     @Min(value = 1, message = "当前用户ID有误")
     private Long userId;
+    /**
+     * 当前用户角色code
+     */
+    private String currentRoleCode;
 }

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/emergency/controller/EmergencyRepairController.java

@@ -264,7 +264,7 @@ public class EmergencyRepairController {
      * @return RestResponse
      */
     @PostMapping("pageWorker")
-    @Verifier(fields = {"workerId"})
+    @Verifier(fields = {"mtCompanyId", "workerId"})
     public RestResponse pageWorker(@Ver @RequestBody RepairRequest request) {
         IPage<RepairResponse> pages = emergencyRepairService.pageByCondition(request);
         return RestResponse.success(pages);

+ 0 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/emergency/mapper/EmergencyRepairMapper.java

@@ -37,6 +37,4 @@ public interface EmergencyRepairMapper extends BaseMapper<EmergencyRepair> {
     long countDoingByWorker(@Param("cond") CommonRequest request);
 
     long countDoingByUser(@Param("cond") CommonRequest request);
-
-    String findUserRole(@Param("cond") CommonRequest request);
 }

+ 5 - 3
lift-business-service/src/main/java/cn/com/ty/lift/business/emergency/service/EmergencyRepairService.java

@@ -213,6 +213,7 @@ public class EmergencyRepairService extends ServiceImpl<EmergencyRepairMapper, E
         }
         PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(mtCompanyId, liftId);
         if (Objects.isNull(relevance)) {
+            rollback();
             return RestResponse.fail("平台公司电梯关联信息不存在,请核查");
         }
         //电梯业务状态改成维保中
@@ -252,6 +253,7 @@ public class EmergencyRepairService extends ServiceImpl<EmergencyRepairMapper, E
         }
         PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(mtCompanyId, liftId);
         if (Objects.isNull(relevance)) {
+            rollback();
             return RestResponse.fail("平台公司电梯关联信息不存在,请核查");
         }
         //电梯业务状态改成急修中
@@ -507,9 +509,9 @@ public class EmergencyRepairService extends ServiceImpl<EmergencyRepairMapper, E
     }
 
     public long countDoingByUser(CommonRequest request){
-        String userRole = baseMapper.findUserRole(request);
-        if(Objects.nonNull(userRole)){
-            if(Objects.equals("13", userRole)){
+        String currentRoleCode = request.getCurrentRoleCode();
+        if(Objects.nonNull(currentRoleCode)){
+            if(Objects.equals(CommonEnum.DefaultRole.MTWORK.getCode(), currentRoleCode)){
                 return baseMapper.countDoingByWorker(request);
             }else{
                 return baseMapper.countDoingByUser(request);

+ 3 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/framework/aspect/VerifyMethodInterceptor.java

@@ -8,6 +8,7 @@ import org.aopalliance.intercept.MethodInvocation;
 
 import java.lang.reflect.Method;
 import java.lang.reflect.Parameter;
+import java.util.Objects;
 
 /**
  * the {@link MethodInterceptor} for verify parameter.
@@ -26,7 +27,7 @@ public class VerifyMethodInterceptor implements MethodInterceptor {
         }
         //check the list of parameters.
         Parameter[] parameters = method.getParameters();
-        if(null == parameters || parameters.length == 0){
+        if(Objects.isNull(parameters) || parameters.length == 0){
             return invocation.proceed();
         }
         //if the parameter is present with Ver. return the index.
@@ -38,7 +39,7 @@ public class VerifyMethodInterceptor implements MethodInterceptor {
                 break;
             }
         }
-        if(null == object){
+        if(Objects.isNull(object)){
             return invocation.proceed();
         }
         Verifier verifier = method.getDeclaredAnnotation(Verifier.class);

+ 2 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/framework/job/BusinessJob.java

@@ -116,9 +116,9 @@ public class BusinessJob {
                     //循环同一个公司同一个区域下的数据
                     for (RepairTips tip : tips) {
                         total += tip.getTotal();
-                        if(1 == tip.getStatus()){
+                        if(tip.isRepairing()){
                             doings += tip.getTotal();
-                        }else if(2 == tip.getStatus()){
+                        }else if(tip.isFinish()){
                             finish += tip.getTotal();
                         }
                     }

+ 10 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/push/entity/RepairTips.java

@@ -36,11 +36,11 @@ public class RepairTips {
     /**
      * 急修状态
      */
-    private Integer status;
+    private int status;
     /**
      * 急修单总数
      */
-    private Integer total;
+    private int total;
 
     /**
      * 返回区域主管和文员的id列表
@@ -62,4 +62,12 @@ public class RepairTips {
         }
         return members;
     }
+
+    public boolean isRepairing(){
+        return this.status == 1;
+    }
+
+    public boolean isFinish(){
+        return this.status == 2;
+    }
 }

+ 0 - 15
lift-business-service/src/main/resources/mapper/emergency/EmergencyRepairMapper.xml

@@ -315,19 +315,4 @@
             AND er.mt_company_id = #{cond.mtCompanyId}
         </if>
     </select>
-
-    <select id="findUserRole" resultType="java.lang.String" parameterType="cn.com.ty.lift.business.common.CommonRequest">
-        SELECT
-            pu.user_role
-        FROM
-            project_user pu
-        <where>
-            <if test="cond.userId != null and cond.userId > 0">
-                AND pu.user_id = #{cond.userId}
-            </if>
-            <if test="cond.mtCompanyId != null and cond.mtCompanyId > 0">
-                AND pu.mt_company_id = #{cond.mtCompanyId}
-            </if>
-        </where>
-    </select>
 </mapper>

+ 4 - 6
lift-common/src/main/java/cn.com.ty.lift.common/model/PushMessage.java

@@ -524,10 +524,7 @@ public class PushMessage implements Serializable {
     }
 
     /**
-     * 同时推送到android和ios的指定设备token
-     *
-     * @param jmsMessagingTemplate jms
-     * @param pushUserInfos            推送列表
+     * 同时推送到指定的android和ios设备token
      */
     public boolean sendTokenOnPlatform(JmsMessagingTemplate jmsMessagingTemplate, List<PushUserInfo> pushUserInfos) {
         try {
@@ -563,6 +560,9 @@ public class PushMessage implements Serializable {
         }
     }
 
+    /**
+     * 推送到单个设备
+     */
     public boolean sendTokenOnPlatform(JmsMessagingTemplate jmsMessagingTemplate, PushUserInfo pushUserInfo) {
         try {
             if (Objects.isNull(pushUserInfo)) {
@@ -590,8 +590,6 @@ public class PushMessage implements Serializable {
 
     /**
      * 同时推送android和ios全平台
-     *
-     * @param jmsMessagingTemplate jms
      */
     public boolean sendAllOnPlatform(JmsMessagingTemplate jmsMessagingTemplate) {
         try {

+ 84 - 84
lift-common/src/main/java/cn.com.ty.lift.common/utils/ValuePool.java

@@ -20,100 +20,100 @@ package cn.com.ty.lift.common.utils;
  */
 public interface ValuePool {
 
-    String AMPERSAND                 = "&";
-    String AND                       = "and";
-    String AT                        = "@";
-    String ASTERISK                  = "*";
-    String STAR                      = ASTERISK;
-    String BACK_SLASH                = "\\";
-    String COLON                     = ":";
-    String COMMA                     = ",";
-    String DASH                      = "-";
-    String DOLLAR                    = "$";
-    String DOT                       = ".";
-    String DOTDOT                    = "..";
-    String DOT_CLASS                 = ".class";
-    String DOT_JAVA                  = ".java";
-    String EMPTY                     = "";
-    String EQUALS                    = "=";
-    String FALSE                     = "false";
-    String SLASH                     = "/";
-    String HASH                      = "#";
-    String HAT                       = "^";
-    String LEFT_BRACE                = "{";
-    String LEFT_BRACKET              = "(";
-    String LEFT_CHEV                 = "<";
-    String NEWLINE                   = "\n";
-    String N                         = "n";
-    String NO                        = "no";
-    String NULL                      = "null";
-    String OFF                       = "off";
-    String ON                        = "on";
-    String PERCENT                   = "%";
-    String PIPE                      = "|";
-    String PLUS                      = "+";
-    String QUESTION_MARK             = "?";
-    String EXCLAMATION_MARK          = "!";
-    String QUOTE                     = "\"";
-    String RETURN                    = "\r";
-    String TAB                       = "\t";
-    String RIGHT_BRACE               = "}";
-    String RIGHT_BRACKET             = ")";
-    String RIGHT_CHEV                = ">";
-    String SEMICOLON                 = ";";
-    String SINGLE_QUOTE              = "'";
-    String SPACE                     = " ";
-    String LEFT_SQ_BRACKET           = "[";
-    String RIGHT_SQ_BRACKET          = "]";
-    String TRUE                      = "true";
-    String UNDERSCORE                = "_";
-    String UTF_8                     = "UTF-8";
-    String ISO_8859_1                = "ISO-8859-1";
-    String Y                         = "y";
-    String YES                       = "yes";
-    String ONE                       = "1";
-    String ZERO                      = "0";
-    String DOLLAR_LEFT_BRACE         = "${";
-    String HASH_LEFT_BRACE           = "#{";
-    String CRLF                      = "\r\n";
+    String AMPERSAND         = "&";
+    String AND               = "and";
+    String AT                = "@";
+    String ASTERISK          = "*";
+    String STAR              = ASTERISK;
+    String BACK_SLASH        = "\\";
+    String COLON             = ":";
+    String COMMA             = ",";
+    String DASH              = "-";
+    String DOLLAR            = "$";
+    String DOT               = ".";
+    String DOTDOT            = "..";
+    String DOT_CLASS         = ".class";
+    String DOT_JAVA          = ".java";
+    String EMPTY             = "";
+    String EQUALS            = "=";
+    String FALSE             = "false";
+    String SLASH             = "/";
+    String HASH              = "#";
+    String HAT               = "^";
+    String LEFT_BRACE        = "{";
+    String LEFT_BRACKET      = "(";
+    String LEFT_CHEV         = "<";
+    String NEWLINE           = "\n";
+    String N                 = "n";
+    String NO                = "no";
+    String NULL              = "null";
+    String OFF               = "off";
+    String ON                = "on";
+    String PERCENT           = "%";
+    String PIPE              = "|";
+    String PLUS              = "+";
+    String QUESTION_MARK     = "?";
+    String EXCLAMATION_MARK  = "!";
+    String QUOTE             = "\"";
+    String RETURN            = "\r";
+    String TAB               = "\t";
+    String RIGHT_BRACE       = "}";
+    String RIGHT_BRACKET     = ")";
+    String RIGHT_CHEV        = ">";
+    String SEMICOLON         = ";";
+    String SINGLE_QUOTE      = "'";
+    String SPACE             = " ";
+    String LEFT_SQ_BRACKET   = "[";
+    String RIGHT_SQ_BRACKET  = "]";
+    String TRUE              = "true";
+    String UNDERSCORE        = "_";
+    String UTF_8             = "UTF-8";
+    String ISO_8859_1        = "ISO-8859-1";
+    String Y                 = "y";
+    String YES               = "yes";
+    String ONE               = "1";
+    String ZERO              = "0";
+    String DOLLAR_LEFT_BRACE = "${";
+    String HASH_LEFT_BRACE   = "#{";
+    String CRLF              = "\r\n";
 
-    String HTML_NBSP                 = "&nbsp;";
-    String HTML_AMP                  = "&amp";
-    String HTML_QUOTE                = "&quot;";
-    String HTML_LT                   = "&lt;";
-    String HTML_GT                   = "&gt;";
+    String   HTML_NBSP                 = "&nbsp;";
+    String   HTML_AMP                  = "&amp";
+    String   HTML_QUOTE                = "&quot;";
+    String   HTML_LT                   = "&lt;";
+    String   HTML_GT                   = "&gt;";
     // ----------------------------------------------------------------log
-    String  LOG_PREFIX                = "###| ";
-    String  LOG_LINE                  = "============================================================";
-    String  LOG_GLOBAL_EXCEPTION_LINE = "====================== GlobalDefaultException ======================";
-    String  LOG_URL                   = LOG_PREFIX + "URL          : ";
-    String  LOG_IP                    = LOG_PREFIX + "IP           : ";
-    String  LOG_CLASS_METHOD          = LOG_PREFIX + "CLASS_METHOD : ";
-    String  LOG_ARGS                  = LOG_PREFIX + "ARGS         : ";
-    String  LOG_RESPONSE              = LOG_PREFIX + "RESPONSE     : ";
-    String  LOG_STATUS                = LOG_PREFIX + "STATUS       : ";
-    String  LOG_EXCEPTION             = LOG_PREFIX + "EXCEPTION    : ";
+    String   LOG_PREFIX                = "###| ";
+    String   LOG_LINE                  = "============================================================";
+    String   LOG_GLOBAL_EXCEPTION_LINE = "====================== GlobalDefaultException ======================";
+    String   LOG_URL                   = LOG_PREFIX + "URL          : ";
+    String   LOG_IP                    = LOG_PREFIX + "IP           : ";
+    String   LOG_CLASS_METHOD          = LOG_PREFIX + "CLASS_METHOD : ";
+    String   LOG_ARGS                  = LOG_PREFIX + "ARGS         : ";
+    String   LOG_RESPONSE              = LOG_PREFIX + "RESPONSE     : ";
+    String   LOG_STATUS                = LOG_PREFIX + "STATUS       : ";
+    String   LOG_EXCEPTION             = LOG_PREFIX + "EXCEPTION    : ";
     //是否打印全部的结果
-    boolean LOG_PRINT_ALL             = false;
+    boolean  LOG_PRINT_ALL             = false;
     // 结果字符串 > LOG_PRINT_MAX ,格式化打印首尾(LOG_PRINT_MAX / 2)部分,中间省略
-    int      LOG_PRINT_MAX       = 1000;
+    int      LOG_PRINT_MAX             = 1000;
     // 方法处理耗时 > LOG_GOOD_TIME,日志到warn中
-    long     LOG_GOOD_TIME       = 10 * 1000;
+    long     LOG_GOOD_TIME             = 10 * 1000;
     // ---------------------------------------------------------------- array
-    String[] EMPTY_ARRAY         = new String[0];
-    byte[]   BYTES_NEW_LINE      = NEWLINE.getBytes();
+    String[] EMPTY_ARRAY               = new String[0];
+    byte[]   BYTES_NEW_LINE            = NEWLINE.getBytes();
     //android平台的推送
-    String   QUEUE_ANDROID_TOKEN = "liftmanager_queue_android_token";
+    String   QUEUE_ANDROID_TOKEN       = "liftmanager_queue_android_token";
     //ios平台的推送
-    String   QUEUE_IOS_TOKEN     = "liftmanager_queue_ios_token";
+    String   QUEUE_IOS_TOKEN           = "liftmanager_queue_ios_token";
     //android全平台的推送
-    String   QUEUE_ANDROID_ALL   = "liftmanager_queue_android_all";
+    String   QUEUE_ANDROID_ALL         = "liftmanager_queue_android_all";
     //ios全平台的推送
-    String   QUEUE_IOS_ALL       = "liftmanager_queue_ios_all";
+    String   QUEUE_IOS_ALL             = "liftmanager_queue_ios_all";
     //一次最多推送的账号个数
-    int      PUSH_MAX_SIZE       = 1000;
+    int      PUSH_MAX_SIZE             = 1000;
     //消息推送失败后重新尝试的最多次数
-    int      PUSH_TRY_MAX_TIMES  = 100;
-    String PATTERN_NAME = "^[\u4e00-\u9fa5a-zA-Z0-9·.。;&\\s]{1,20}$";
-    String PATTERN_TELEPHONE = "^1[345789]\\d{9}|0[1-9](\\d{1,2}\\-?)[1-9]\\d{6,7}$";
+    int      PUSH_TRY_MAX_TIMES        = 100;
+    String   PATTERN_NAME              = "^[\u4e00-\u9fa5a-zA-Z0-9·.。;&\\s]{1,20}$";
+    String   PATTERN_TELEPHONE         = "^1[345789]\\d{9}|0[1-9](\\d{1,2}\\-?)[1-9]\\d{6,7}$";
 }

+ 1 - 1
lift-common/src/main/java/cn.com.ty.lift.common/verify/Verifier.java

@@ -15,7 +15,7 @@ import java.lang.annotation.*;
 public @interface Verifier {
 
     /**
-     * 标注在method上,指定fields,需要校验的对象属性 include,exclude
+     * 标注在method上,指定fields,需要校验的对象属性
      */
     String[] fields() default {};
 }

+ 5 - 1
lift-common/src/main/java/cn.com.ty.lift.common/verify/VerifyProcessor.java

@@ -178,6 +178,10 @@ public class VerifyProcessor {
         return array == null || array.length == 0;
     }
 
+    private static <T> boolean notEmpty(T[] array) {
+        return array != null && array.length > 0;
+    }
+
     private static boolean notBlank(String value) {
         return null != value && !value.trim().isEmpty();
     }
@@ -1455,7 +1459,7 @@ public class VerifyProcessor {
         //get all annotation of the field
         Annotation[] annotations = field.getDeclaredAnnotations();
         //filter the validation annotation
-        if (Objects.nonNull(annotations) && annotations.length > 0) {
+        if (notEmpty(annotations)) {
             List<Annotation> verifyAnnos = Arrays.stream(annotations).filter(anno -> ClassMethodCache.keySet().contains(anno.annotationType())).collect(Collectors.toList());
             annotations = verifyAnnos.toArray(new Annotation[verifyAnnos.size()]);
         }

+ 3 - 2
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/config/VerifyMethodInterceptor.java

@@ -8,6 +8,7 @@ import org.aopalliance.intercept.MethodInvocation;
 
 import java.lang.reflect.Method;
 import java.lang.reflect.Parameter;
+import java.util.Objects;
 
 /**
  * the {@link MethodInterceptor} for verify parameter.
@@ -26,7 +27,7 @@ public class VerifyMethodInterceptor implements MethodInterceptor {
         }
         //check the list of parameters.
         Parameter[] parameters = method.getParameters();
-        if(null == parameters || parameters.length == 0){
+        if(Objects.isNull(parameters) || parameters.length == 0){
             return invocation.proceed();
         }
         //if the parameter is present with Ver. return the index.
@@ -38,7 +39,7 @@ public class VerifyMethodInterceptor implements MethodInterceptor {
                 break;
             }
         }
-        if(null == object){
+        if(Objects.isNull(object)){
             return invocation.proceed();
         }
         Verifier verifier = method.getDeclaredAnnotation(Verifier.class);