Browse Source

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

wucizhong 5 years ago
parent
commit
1bf266a6f1

+ 7 - 7
lift-business-service/src/main/java/cn/com/ty/lift/business/annualinspection/controller/AnnualInspectionController.java

@@ -213,8 +213,8 @@ public class AnnualInspectionController {
         Integer oldStepStatus = ValuePool.nullable(old.getStepStatus(), 2);
         Integer stepStatus = entity.getStepStatus();
         Validate.equals(oldStepName, ValuePool.INSPECTION_STEP_ONE, "请先完成确认操作再进行第一阶段");
-        Validate.between(oldStepStatus, ValuePool.INSPECTION_STAGE_CONFIRM, ValuePool.INSPECTION_STAGE_SELFCHECK, "进行第一阶段操作");
-        Validate.equals(stepStatus,ValuePool.INSPECTION_STAGE_SELFCHECK, "请进行第一阶段操作");
+        Validate.between(oldStepStatus, ValuePool.INSPECTION_STAGE_CONFIRM, ValuePool.INSPECTION_STAGE_SELFCHECK, "年检当前状态(" + oldStepStatus + "),无法进行第一阶段操作");
+        Validate.equals(stepStatus, ValuePool.INSPECTION_STAGE_SELFCHECK, "年检新状态(" + stepStatus + "),无法进行第一阶段操作");
 
         old.setSelfcheckReportImg(entity.getSelfcheckReportImg());
         old.setSelfcheckDate(entity.getSelfcheckDate());
@@ -238,7 +238,7 @@ public class AnnualInspectionController {
         Integer oldStepName = ValuePool.nullable(old.getStepName(), 2);
         Integer oldStepStatus = ValuePool.nullable(old.getStepStatus(), 2);
         Validate.between(oldStepName, ValuePool.INSPECTION_STEP_ONE,ValuePool.INSPECTION_STEP_TWO, "请先完成第一阶段再进行第二阶段");
-        Validate.between(oldStepStatus, ValuePool.INSPECTION_STAGE_SELFCHECK, ValuePool.INSPECTION_STAGE_CONFIRM_CHECK, "进行第二阶段操作");
+        Validate.between(oldStepStatus, ValuePool.INSPECTION_STAGE_SELFCHECK, ValuePool.INSPECTION_STAGE_CONFIRM_CHECK, "年检当前状态(" + oldStepStatus + "),无法进行第二阶段操作");
 
         old.setCheckDate(entity.getCheckDate());
         old.setInspector(entity.getInspector());
@@ -287,8 +287,8 @@ public class AnnualInspectionController {
         Integer oldStepStatus = ValuePool.nullable(old.getStepStatus(), 3);
         Integer stepStatus = entity.getStepStatus();
         Validate.between(oldStepName,ValuePool.INSPECTION_STEP_TWO, ValuePool.INSPECTION_STEP_THREE, "请先完成第二阶段再进行第三阶段");
-        Validate.between(oldStepStatus,ValuePool.INSPECTION_STAGE_CONFIRM_CHECK, ValuePool.INSPECTION_STAGE_CHECK_UNQUALIFIED, "进行第三阶段操作");
-        Validate.between(stepStatus,ValuePool.INSPECTION_STAGE_UPLOAD_CHECK,ValuePool.INSPECTION_STAGE_CHECK_UNQUALIFIED, "请进行第三阶段操作");
+        Validate.between(oldStepStatus, ValuePool.INSPECTION_STAGE_CONFIRM_CHECK, ValuePool.INSPECTION_STAGE_CHECK_UNQUALIFIED, "年检当前状态(" + oldStepStatus + "),无法进行第三阶段操作");
+        Validate.between(stepStatus, ValuePool.INSPECTION_STAGE_UPLOAD_CHECK, ValuePool.INSPECTION_STAGE_CHECK_UNQUALIFIED, "年检新状态(" + stepStatus + "),无法进行第三阶段操作");
         if(Objects.nonNull(old.getPlanDate())){
             LocalDate deadline = old.getPlanDate().plusDays(DateUtils.daysOfYear());
             Validate.notTrue(deadline.isBefore(entity.getNextInspectionTime()), "上次年检" + old.getPlanDate() + ",下次年检设置" + deadline + "之前有效");
@@ -324,8 +324,8 @@ public class AnnualInspectionController {
         Integer oldStepStatus = ValuePool.nullable(old.getStepStatus(), 5);
         Integer stepStatus = entity.getStepStatus();
         Validate.between(oldStepName,ValuePool.INSPECTION_STEP_THREE, ValuePool.INSPECTION_STEP_FOUR, "请先完成第三阶段再进行第四阶段");
-        Validate.between(oldStepStatus, ValuePool.INSPECTION_STAGE_CHECK_QUALIFIED, ValuePool.INSPECTION_STAGE_CERT_REPORT_UNQUALIFIED, "进行第四阶段操作");
-        Validate.between(stepStatus,ValuePool.INSPECTION_STAGE_UPLOAD_CERT_REPORT,ValuePool.INSPECTION_STAGE_CERT_REPORT_UNQUALIFIED, "进行第四阶段操作");
+        Validate.between(oldStepStatus, ValuePool.INSPECTION_STAGE_CHECK_QUALIFIED, ValuePool.INSPECTION_STAGE_CERT_REPORT_UNQUALIFIED, "年检当前状态(" + oldStepStatus + "),无法进行第四阶段操作");
+        Validate.between(stepStatus, ValuePool.INSPECTION_STAGE_UPLOAD_CERT_REPORT, ValuePool.INSPECTION_STAGE_CERT_REPORT_UNQUALIFIED, "年检新状态(" + stepStatus + "),无法进行第四阶段操作");
 
         old.setStepStatus(entity.getStepStatus());
         old.setAnnualInspectionImg(entity.getAnnualInspectionImg());

+ 32 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/framework/conf/BigDecimalDeserializer.java

@@ -0,0 +1,32 @@
+package cn.com.ty.lift.business.framework.conf;
+
+import com.alibaba.fastjson.parser.DefaultJSONParser;
+import com.alibaba.fastjson.parser.JSONLexer;
+import com.alibaba.fastjson.parser.JSONToken;
+import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer;
+
+import java.lang.reflect.Type;
+import java.math.BigDecimal;
+
+/**
+ * BigDecimal反序列化
+ *
+ * @author wcz
+ * @since 2020/4/26
+ */
+public class BigDecimalDeserializer implements ObjectDeserializer {
+    @Override
+    public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
+        final JSONLexer lexer = parser.lexer;
+        if(type != BigDecimal.class){
+            return (T) lexer.numberString();
+        }
+        BigDecimal bigDecimal = lexer.decimalValue();
+        return (T) bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP);
+    }
+
+    @Override
+    public int getFastMatchToken() {
+        return JSONToken.LITERAL_INT;
+    }
+}

+ 24 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/framework/conf/BigDecimalSerializer.java

@@ -0,0 +1,24 @@
+package cn.com.ty.lift.business.framework.conf;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.Objects;
+
+/**
+ * BigDecimal序列化
+ *
+ * @author wcz
+ * @since 2020/4/26
+ */
+public class BigDecimalSerializer extends JsonSerializer<BigDecimal> {
+    @Override
+    public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
+        if(Objects.nonNull(value)){
+            gen.writeNumber(value.setScale(2, BigDecimal.ROUND_HALF_UP));
+        }
+    }
+}

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/controller/MaintenanceRecordController.java

@@ -142,7 +142,7 @@ public class MaintenanceRecordController {
             Map<String, String> opts = Splitter.on(ValuePool.COMMA).withKeyValueSeparator(ValuePool.COLON).split(maintenanceOption);
             Map<Long, Integer> optMap = new HashMap<>();
             opts.forEach((key, value) -> {
-                optMap.put(Long.valueOf(key), Integer.valueOf(value));
+                optMap.put(Long.parseLong(key.trim()), Integer.parseInt(value.trim()));
             });
             Collection<MaintenanceOption> mtOptions = maintenanceOptionService.listByIds(optMap.keySet());
             mtOptions.forEach(option -> {

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

@@ -89,42 +89,42 @@ public interface ValuePool {
     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_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();
-    long     PLATFORM_IDENTIFICATION    = 10086;
+    String[] EMPTY_ARRAY                              = new String[0];
+    byte[]   BYTES_NEW_LINE                           = NEWLINE.getBytes();
+    long     PLATFORM_IDENTIFICATION                  = 10086;
     //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}$";
     //======================年检相关状态值和判断方法======================================
     /**
      * 年检待完成
      */
-    int      INSPECTION_STATUS_TO_DO    = 0;
-    int      INSPECTION_STATUS_COMPLETE = 1;
+    int      INSPECTION_STATUS_TO_DO                  = 0;
+    int      INSPECTION_STATUS_COMPLETE               = 1;
     int      INSPECTION_STATUS_OVERDUE                = 2;
     /**
      * 年检 第一阶段