瀏覽代碼

[chg] 维保单填写,删除电梯重复注册代码,重复评论

wcz 5 年之前
父節點
當前提交
9d4c8a17d0

+ 3 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/evaluation/controller/EvaluationController.java

@@ -51,8 +51,9 @@ public class EvaluationController {
                 stringBuilder.append("DELETE FROM evaluation WHERE id IN (").append(StrUtil.join(",", toDelete.toArray())).append(")").append(";\n");
             }
         }
-        System.err.println(stringBuilder.toString());
-        FileUtil.writeString(stringBuilder.toString(), new File("./sql/0.delete_duplicate_evaluation.sql"), "utf-8");
+        String deletesql = "./sql/0.delete_duplicate_evaluation.sql";
+        log.info("生成delete删除同一record下多余的评价记录:{}", deletesql);
+        FileUtil.writeString(stringBuilder.toString(), new File(deletesql), "utf-8");
         return RestResponse.success(true);
     }
 }

+ 2 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/mapper/LiftMapper.java

@@ -43,4 +43,6 @@ public interface LiftMapper extends BaseMapper<Lift> {
      * 查询待确认的年检信息
      */
     IPage<LiftAnnualInspectionResponse> toConfirmAnnualInspection(IPage<LiftAnnualInspectionResponse> page, @Param("mtCompanyId") Long mtCompanyId, @Param("days") int days);
+
+    List<Lift> groupByRegistrationCode();
 }

+ 2 - 6
lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/LiftService.java

@@ -32,7 +32,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -456,10 +455,7 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
      * @author wcz
      */
     public List<Lift> groupByRegistrationCode() {
-        LambdaQueryWrapper<Lift> lambdaQueryWrapper = Wrappers.lambdaQuery();
-        lambdaQueryWrapper.groupBy(Lift::getRegistrationCode);
-        lambdaQueryWrapper.having("count(*) > 1");
-        return list(lambdaQueryWrapper);
+        return baseMapper.groupByRegistrationCode();
     }
 
     /**
@@ -478,7 +474,7 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
      */
     public boolean clearData() {
         //1 获取同一registration_code对应多个电梯的记录
-        //SELECT DISTINCT registration_code FROM lift GROUP BY registration_code HAVING count(*) > 1
+        //SELECT registration_code FROM lift GROUP BY registration_code HAVING count(*) > 1
         List<Lift> liftCodes = groupByRegistrationCode();
         Validate.notNull(liftCodes, "电梯注册信息为空");
         //按照registration_code 分组

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

@@ -2,10 +2,7 @@ package cn.com.ty.lift.business.maintenance.controller;
 
 import cn.com.ty.lift.business.evaluation.dao.entity.Evaluation;
 import cn.com.ty.lift.business.evaluation.service.EvaluationService;
-import cn.com.ty.lift.business.maintenance.dao.entity.MaintenanceOption;
-import cn.com.ty.lift.business.maintenance.dao.entity.MaintenanceRecord;
-import cn.com.ty.lift.business.maintenance.dao.entity.MtRecordCost;
-import cn.com.ty.lift.business.maintenance.dao.entity.MtRecordImg;
+import cn.com.ty.lift.business.maintenance.dao.entity.*;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MtPlanRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MtRecordRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.response.MtOptionTree;
@@ -220,6 +217,9 @@ public class MaintenanceRecordController {
      */
     @PostMapping("tofill")
     public RestResponse tofill(@Valid @RequestBody MaintenanceRecord entity) {
+        MaintenancePlan plan = maintenancePlanService.getById(entity.getMtPlanId());
+        Validate.notNull(plan, ValuePool.MAINTENANCE_PLAN_NOT_EXIST);
+        entity.setPlanDate(plan.getPlanDate());
         entity.setStatus("-2");
         entity.setIsRegular(0);
         //补录
@@ -235,6 +235,9 @@ public class MaintenanceRecordController {
      */
     @PostMapping("add")
     public RestResponse add(@Valid @RequestBody MaintenanceRecord entity) {
+        MaintenancePlan plan = maintenancePlanService.getById(entity.getMtPlanId());
+        Validate.notNull(plan, ValuePool.MAINTENANCE_PLAN_NOT_EXIST);
+        entity.setPlanDate(plan.getPlanDate());
         /**
          * app端添加维保单
          * -3:没有维保记录(可以补录)null -> -3
@@ -299,8 +302,7 @@ public class MaintenanceRecordController {
         MaintenanceRecord entity = maintenanceRecordService.getById(request.getId());
         Validate.notNull(entity, ValuePool.MAINTENANCE_RECORD_NOT_EXIST);
 
-        String maintenanceOption = request.getMaintenanceOption();
-        entity.setMaintenanceOption(maintenanceOption);
+        entity.setMaintenanceOption(request.getMaintenanceOption());
         entity.setStatus("0");
         return maintenanceRecordService.fill(entity, request.getImgs());
     }

+ 6 - 5
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/MaintenanceRecord.java

@@ -8,7 +8,6 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.hibernate.validator.constraints.Range;
 
-import javax.validation.constraints.Min;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.PastOrPresent;
 import java.math.BigDecimal;
@@ -29,8 +28,6 @@ public class MaintenanceRecord extends BaseEntity {
 	 * 保养记录ID
 	 */
 	@TableId(value = "id",type = IdType.ID_WORKER)
-	@NotNull(message = "保养记录ID不能为空")
-	@Min(value = 1, message = "保养记录ID有误")
 	private Long id;
 
 	/**
@@ -87,23 +84,27 @@ public class MaintenanceRecord extends BaseEntity {
 	/**
 	 * 计划保养时间
 	 */
-	@NotNull(message = "缺少计划保养时间")
 	private LocalDate planDate;
 
 	/**
 	 * 实际保养时间
 	 */
-	@PastOrPresent(message = "缺少实际保养时间")
+	@NotNull(message = "缺少实际保养时间")
+	@PastOrPresent(message = "保养时间不能早于标准北京时间")
 	private LocalDate workDate;
 
 	/**
 	 * 停梯时间
 	 */
+	@NotNull(message = "缺少停梯时间")
+	@PastOrPresent(message = "停梯时间不能早于标准北京时间")
 	private LocalDateTime stopDate;
 
 	/**
 	 * 恢复时间
 	 */
+	@NotNull(message = "缺少恢复时间")
+	@PastOrPresent(message = "恢复时间不能早于标准北京时间")
 	private LocalDateTime recoveryDate;
 
 	/**

+ 19 - 0
lift-business-service/src/main/resources/mapper/lift/LiftMapper.xml

@@ -248,4 +248,23 @@
             AND plr.mt_company_id = #{mtCompanyId}
         </if>
     </select>
+    <select id="groupByRegistrationCode" resultType="cn.com.ty.lift.business.library.dao.entity.Lift">
+        SELECT
+            *
+        FROM
+            lift
+        WHERE
+            registration_code IN (
+                SELECT
+                    registration_code
+                FROM
+                    lift
+                GROUP BY
+                    registration_code
+                HAVING
+                    count( * ) > 1
+            )
+        ORDER BY
+            registration_code
+    </select>
 </mapper>

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

@@ -546,10 +546,10 @@ public class PushMessage implements Serializable {
             }
             if (IterUtil.isNotEmpty(toAndroid)) {
                 this.setToList(new ArrayList<>(toAndroid));
-                jmsMessagingTemplate.send(ValuePool.QUEUE_ANDROID_TOKEN, new GenericMessage<>(this));
+                jmsMessagingTemplate.send(ValuePool.PUSH_QUEUE_ANDROID_TOKEN, new GenericMessage<>(this));
             } else if (IterUtil.isNotEmpty(toIos)) {
                 this.setToList(new ArrayList<>(toIos));
-                jmsMessagingTemplate.send(ValuePool.QUEUE_IOS_TOKEN, new GenericMessage<>(this));
+                jmsMessagingTemplate.send(ValuePool.PUSH_QUEUE_IOS_TOKEN, new GenericMessage<>(this));
             } else {
                 return false;
             }
@@ -575,9 +575,9 @@ public class PushMessage implements Serializable {
             }
             this.setToList(Arrays.asList(deviceFlag));
             if (1 == deviceModel) {
-                jmsMessagingTemplate.send(ValuePool.QUEUE_ANDROID_TOKEN, new GenericMessage<>(this));
+                jmsMessagingTemplate.send(ValuePool.PUSH_QUEUE_ANDROID_TOKEN, new GenericMessage<>(this));
             } else if (2 == deviceModel) {
-                jmsMessagingTemplate.send(ValuePool.QUEUE_IOS_TOKEN, new GenericMessage<>(this));
+                jmsMessagingTemplate.send(ValuePool.PUSH_QUEUE_IOS_TOKEN, new GenericMessage<>(this));
             } else {
                 return false;
             }
@@ -593,8 +593,8 @@ public class PushMessage implements Serializable {
      */
     public boolean sendAllOnPlatform(JmsMessagingTemplate jmsMessagingTemplate) {
         try {
-            jmsMessagingTemplate.send(ValuePool.QUEUE_ANDROID_ALL, new GenericMessage<>(this));
-            jmsMessagingTemplate.send(ValuePool.QUEUE_IOS_ALL, new GenericMessage<>(this));
+            jmsMessagingTemplate.send(ValuePool.PUSH_QUEUE_ANDROID_ALL, new GenericMessage<>(this));
+            jmsMessagingTemplate.send(ValuePool.PUSH_QUEUE_IOS_ALL, new GenericMessage<>(this));
             return true;
         } catch (Exception e) {
             log.error("Failed to Send pushMessage to ANDROID & IOS ALL Message Queue: ", e);

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

@@ -109,13 +109,13 @@ public interface ValuePool {
     byte[]   BYTES_NEW_LINE                           = NEWLINE.getBytes();
     long     PLATFORM_IDENTIFICATION                  = 10086;
     //android平台的推送
-    String   QUEUE_ANDROID_TOKEN                      = "liftmanager_queue_android_token";
+    String   PUSH_QUEUE_ANDROID_TOKEN                 = "liftmanager_queue_android_token";
     //ios平台的推送
-    String   QUEUE_IOS_TOKEN                          = "liftmanager_queue_ios_token";
+    String   PUSH_QUEUE_IOS_TOKEN                     = "liftmanager_queue_ios_token";
     //android全平台的推送
-    String   QUEUE_ANDROID_ALL                        = "liftmanager_queue_android_all";
+    String   PUSH_QUEUE_ANDROID_ALL                   = "liftmanager_queue_android_all";
     //ios全平台的推送
-    String   QUEUE_IOS_ALL                            = "liftmanager_queue_ios_all";
+    String   PUSH_QUEUE_IOS_ALL                       = "liftmanager_queue_ios_all";
     //一次最多推送的账号个数
     int      PUSH_MAX_SIZE                            = 1000;
     //消息推送失败后重新尝试的最多次数
@@ -188,134 +188,148 @@ public interface ValuePool {
      */
     int      INSPECTION_STAGE_CERT_REPORT_UNQUALIFIED = 10;
     String   INSPECTION_NOT_EXIST                     = "年检不存在,请确认年检计划";
-    static String inspectionStepToNext(String previous, String current){
+
+    static String inspectionStepToNext(String previous, String current) {
         return String.format("请先完成%s再进行%s操作", previous, current);
     }
-    static String inspectionCurrentStepStatusIllegal(int currentStepStatus, String step){
+
+    static String inspectionCurrentStepStatusIllegal(int currentStepStatus, String step) {
         return String.format("年检当前状态(%s),不能进行%s操作", currentStepStatus, step);
     }
-    static String inspectionNewStepStatusIllegal(int newStepStatus, String step){
+
+    static String inspectionNewStepStatusIllegal(int newStepStatus, String step) {
         return String.format("年检新状态(%s),不能进行%s操作", newStepStatus, step);
     }
-    static String inspectionLastPlanDate(LocalDate previous, LocalDate deadline){
+
+    static String inspectionLastPlanDate(LocalDate previous, LocalDate deadline) {
         return String.format("上次年检时间%tF,下次年检设置%tF之前有效", previous, deadline);
     }
-    static String inspectionMustOnStage(String stage){
+
+    static String inspectionMustOnStage(String stage) {
         return String.format("年检必须在%s才能操作", stage);
     }
-    String   INSPECTION_EXIST_SAME                    = "年检计划已存在。";
+
+    String INSPECTION_EXIST_SAME           = "年检计划已存在。";
     //===================急修相关状态值和判断方法======================================
     /**
      * 急修状态(-1 暂停中)
      */
-    int      EMERGENCY_STATE_STOPPING                 = -1;
+    int    EMERGENCY_STATE_STOPPING        = -1;
     /**
      * 急修状态(0 待修理)
      */
-    int      EMERGENCY_STATE_TO_DO                    = 0;
+    int    EMERGENCY_STATE_TO_DO           = 0;
     /**
      * 急修状态(1 修理中)
      */
-    int      EMERGENCY_STATE_DOING                    = 1;
+    int    EMERGENCY_STATE_DOING           = 1;
     /**
      * 急修状态(2 完成)
      */
-    int      EMERGENCY_STATE_COMPLETE                 = 2;
+    int    EMERGENCY_STATE_COMPLETE        = 2;
     /**
      * 急修状态(3 关闭)
      */
-    int      EMERGENCY_STATE_CLOSE                    = 3;
-    String   EMERGENCY_NOT_EXIST                      = "急修记录不存在,请核查";
-    String   EMERGENCY_COST_NOT_EXIST                 = "急修收费项不存在,请核查";
-    String   EMERGENCY_FAULT_MISSING                  = "缺少电梯故障项";
-    String   EMERGENCY_HAVE_REPAIRING                 = "该电梯存在未完成的急修,无法创建";
-    String   EMERGENCY_HAD_TAKEN                      = "急修已经接单,不能转派";
-    String   EMERGENCY_MUST_TO_DO                     = "急修状态为待处理才能操作";
-    String   EMERGENCY_MUST_IN_DOING                  = "急修状态为处理中才能操作";
-    String   EMERGENCY_MUST_COMPLETE                  = "急修完成后才能操作";
-    String   EMERGENCY_HAD_EVALUATE                   = "急修已经评价了";
-    String   EMERGENCY_COST_INCORRECT_AMOUNT          = "急修收费项金额有误";
-    String   EMERGENCY_LIFT_IS_IN_INSPECTION          = "电梯正在年检中,无法创建急修";
-    static String emergencyProcessTimeIllegal(String options, LocalDateTime optionsTime){
+    int    EMERGENCY_STATE_CLOSE           = 3;
+    String EMERGENCY_NOT_EXIST             = "急修记录不存在,请核查";
+    String EMERGENCY_COST_NOT_EXIST        = "急修收费项不存在,请核查";
+    String EMERGENCY_FAULT_MISSING         = "缺少电梯故障项";
+    String EMERGENCY_HAVE_REPAIRING        = "该电梯存在未完成的急修,无法创建";
+    String EMERGENCY_HAD_TAKEN             = "急修已经接单,不能转派";
+    String EMERGENCY_MUST_TO_DO            = "急修状态为待处理才能操作";
+    String EMERGENCY_MUST_IN_DOING         = "急修状态为处理中才能操作";
+    String EMERGENCY_MUST_COMPLETE         = "急修完成后才能操作";
+    String EMERGENCY_HAD_EVALUATE          = "急修已经评价了";
+    String EMERGENCY_COST_INCORRECT_AMOUNT = "急修收费项金额有误";
+    String EMERGENCY_LIFT_IS_IN_INSPECTION = "电梯正在年检中,无法创建急修";
+
+    static String emergencyProcessTimeIllegal(String options, LocalDateTime optionsTime) {
         return String.format("急修处理时间不能早于上次操作时间(%s: %tF %tT)", options, optionsTime, optionsTime);
     }
     //===================上传相关状态值和判断方法======================================
     /**
      * 图片上传最大大小10M * 1024 * 1024
      */
-    long     UPLOAD_MAX_SIZE_PIC                      = 10 << 20;
-    String   UPLOAD_MAX_SIZE_PIC_DESC                 = "图片文件大小不超过10M";
+    long     UPLOAD_MAX_SIZE_PIC          = 10 << 20;
+    String   UPLOAD_MAX_SIZE_PIC_DESC     = "图片文件大小不超过10M";
     /**
      * 文件上传最大大小50M * 1024 * 1024
      */
-    long     UPLOAD_MAX_SIZE_FILE                     = 50 << 20;
-    String   UPLOAD_MAX_SIZE_FILE_DESC                = "常用文件大小不超过50M";
+    long     UPLOAD_MAX_SIZE_FILE         = 50 << 20;
+    String   UPLOAD_MAX_SIZE_FILE_DESC    = "常用文件大小不超过50M";
     /**
      * 视频上传最大大小100M * 1024 * 1024
      */
-    long     UPLOAD_MAX_SIZE_VIDEO                    = 100 << 20;
-    String   UPLOAD_MAX_SIZE_VIDEO_DESC               = "视频文件大小不超过100M";
+    long     UPLOAD_MAX_SIZE_VIDEO        = 100 << 20;
+    String   UPLOAD_MAX_SIZE_VIDEO_DESC   = "视频文件大小不超过100M";
     /**
      * 上传图片文件类型
      */
-    String[] UPLOAD_TYPE_PICS                         = {".jpg", ".jpeg", ".png", ".bmp", ".gif"};
+    String[] UPLOAD_TYPE_PICS             = {".jpg", ".jpeg", ".png", ".bmp", ".gif"};
     /**
      * 上传其他文件类型
      */
-    String[] UPLOAD_TYPE_FILES                        = {".pdf", ".txt", ".rar", ".zip", ".7z", ".xls", ".xlsx", ".doc", ".docx", ".ppt", ".pptx"};
+    String[] UPLOAD_TYPE_FILES            = {".pdf", ".txt", ".rar", ".zip", ".7z", ".xls", ".xlsx", ".doc", ".docx", ".ppt", ".pptx"};
     /**
      * 上传视频文件类型
      */
-    String[] UPLOAD_TYPE_VIDEOS                       = {".mov", ".mp4", ".avi", ".mpg", ".mpeg", ".rm", ".rmvb", ".wmv"};
-    String   UPLOAD_DATA_MISSING                      = "没有接收到文件数据";
-    String   UPLOAD_FAIL                              = "上传文件失败";
-    String   UPLOAD_FORMAT_NOT_SUPPORT                = "文件格式暂时不支持";
-    String   UPLOAD_FORMAT_MISSING                    = "原文件名解析不到文件格式";
-    String   UPLOAD_FORMAT_ILLEGAL                    = "原文件名不合法";
-    String   UPLOAD_ORIGINAL_NAME_MISSING             = "未解析到原文件名";
+    String[] UPLOAD_TYPE_VIDEOS           = {".mov", ".mp4", ".avi", ".mpg", ".mpeg", ".rm", ".rmvb", ".wmv"};
+    String   UPLOAD_DATA_MISSING          = "没有接收到文件数据";
+    String   UPLOAD_FAIL                  = "上传文件失败";
+    String   UPLOAD_FORMAT_NOT_SUPPORT    = "文件格式暂时不支持";
+    String   UPLOAD_FORMAT_MISSING        = "原文件名解析不到文件格式";
+    String   UPLOAD_FORMAT_ILLEGAL        = "原文件名不合法";
+    String   UPLOAD_ORIGINAL_NAME_MISSING = "未解析到原文件名";
     //===================操作证相关======================================
-    String   LIFT_CERT_MUST_TO_AUDIT                  = "操作证待审核才能操作";
-    String   LIFT_CERT_HAD_EXIST                      = "操作证已存在,请核查";
-    String   LIFT_CERT_NOT_EXIST                      = "操作证不存在,请核查";
+    String   LIFT_CERT_MUST_TO_AUDIT      = "操作证待审核才能操作";
+    String   LIFT_CERT_HAD_EXIST          = "操作证已存在,请核查";
+    String   LIFT_CERT_NOT_EXIST          = "操作证不存在,请核查";
     //===================打卡相关======================================
-    String   ATTEND_SET_AM_TIME                       = "请设置上午的上/下班时间";
-    String   ATTEND_SET_PM_TIME                       = "请设置下午的上/下班时间";
-    String   ATTEND_SET_OT_TIME                       = "请设置加班的上/下班时间";
-    static String attendInvalidAmTime(LocalTime topTime, LocalTime downTime){
+    String   ATTEND_SET_AM_TIME           = "请设置上午的上/下班时间";
+    String   ATTEND_SET_PM_TIME           = "请设置下午的上/下班时间";
+    String   ATTEND_SET_OT_TIME           = "请设置加班的上/下班时间";
+
+    static String attendInvalidAmTime(LocalTime topTime, LocalTime downTime) {
         return String.format("上午的上(%tT)/下班(%tT)时间有误", topTime, downTime);
     }
-    static String attendInvalidPmTime(LocalTime topTimePm, LocalTime downTimePm){
+
+    static String attendInvalidPmTime(LocalTime topTimePm, LocalTime downTimePm) {
         return String.format("下午的上(%tT)/下班(%tT)时间有误", topTimePm, downTimePm);
     }
-    static String attendInvalidOtTime(LocalTime topTimeOt, LocalTime downTimeOt){
+
+    static String attendInvalidOtTime(LocalTime topTimeOt, LocalTime downTimeOt) {
         return String.format("加班的上(%tT)/下班(%tT)时间有误", topTimeOt, downTimeOt);
     }
-    String   ATTEND_AM_TOP_CLOCK                      = "上午上班打卡";
-    String   ATTEND_AM_DOWN_CLOCK                     = "上午下班打卡";
-    String   ATTEND_PM_TOP_CLOCK                      = "下午上班打卡";
-    String   ATTEND_PM_DOWN_CLOCK                     = "下午下班打卡";
-    String   ATTEND_OT_TOP_CLOCK                      = "加班上班打卡";
-    String   ATTEND_OT_DOWN_CLOCK                     = "加班下班打卡";
-    String   ATTEND_HAD_CLOCK                         = "打卡记录已存在。";
-    String   ATTEND_MISSING_TIME                      = "请至少设置一组打卡时间";
-    static String attendAmDownPmTop(LocalTime downTime, LocalTime topTimePm){
+
+    String ATTEND_AM_TOP_CLOCK  = "上午上班打卡";
+    String ATTEND_AM_DOWN_CLOCK = "上午下班打卡";
+    String ATTEND_PM_TOP_CLOCK  = "下午上班打卡";
+    String ATTEND_PM_DOWN_CLOCK = "下午下班打卡";
+    String ATTEND_OT_TOP_CLOCK  = "加班上班打卡";
+    String ATTEND_OT_DOWN_CLOCK = "加班下班打卡";
+    String ATTEND_HAD_CLOCK     = "打卡记录已存在。";
+    String ATTEND_MISSING_TIME  = "请至少设置一组打卡时间";
+
+    static String attendAmDownPmTop(LocalTime downTime, LocalTime topTimePm) {
         return String.format("下午的上班(%tT)时间不得早于上午的下班(%tT)时间", topTimePm, downTime);
     }
-    static String attendPmDownOtTop(LocalTime downTimePm, LocalTime topTimeOt){
+
+    static String attendPmDownOtTop(LocalTime downTimePm, LocalTime topTimeOt) {
         return String.format("加班的上班(%tT)时间不得早于下午的下班(%tT)时间", topTimeOt, downTimePm);
     }
-    String   ATTEND_MAINTAIN_COMPANY_MISSING          = "维保公司不存在,请核查";
-    String   ATTEND_MISSING                           = "打卡记录不存在,请核查";
-    String   ATTEND_UNKNOWN_TYPE                      = "打卡类型未知,请核查";
+
+    String   ATTEND_MAINTAIN_COMPANY_MISSING = "维保公司不存在,请核查";
+    String   ATTEND_MISSING                  = "打卡记录不存在,请核查";
+    String   ATTEND_UNKNOWN_TYPE             = "打卡类型未知,请核查";
     //===================导入相关======================================
-    String   EXCEL_IMPORT_DATA_MISSING                = "未解析到有效数据";
-    String   EXCEL_IMPORT_FORMAT_SUPPORT              = "文件格式不支持,暂时只支持xls,xlsx";
-    String[] EXCEL_IMPORT_FORMATS                     = {".xls", ".xlsx"};
+    String   EXCEL_IMPORT_DATA_MISSING       = "未解析到有效数据";
+    String   EXCEL_IMPORT_FORMAT_SUPPORT     = "文件格式不支持,暂时只支持xls,xlsx";
+    String[] EXCEL_IMPORT_FORMATS            = {".xls", ".xlsx"};
     /**
      * 一次导入表格的最大有效记录数
      */
-    int      EXCEL_IMPORT_MAX_ROWS_ONETIME            = 5000;
-    String   EXCEL_IMPORT_MAX_ROWS_DESC               = "一次性导入不能超过5000条数据";
+    int      EXCEL_IMPORT_MAX_ROWS_ONETIME   = 5000;
+    String   EXCEL_IMPORT_MAX_ROWS_DESC      = "一次性导入不能超过5000条数据";
 
     //三元运算,判断object是否为空,为空返回默认值
     static <T> T nullable(T object, T valueForNull) {

+ 2 - 2
lift-common/src/main/java/cn.com.ty.lift.common/verify/Validator.java

@@ -140,7 +140,7 @@ public class Validator {
     private static void collectValidAnnotationMethod() {
         Method[] declaredMethods = ValidateAction.class.getDeclaredMethods();
         List<Method> validateMethods = Arrays.stream(declaredMethods).filter(method -> validateMethodName.equals(method.getName())).collect(Collectors.toList());
-        isTrue(validateMethods.isEmpty(), "No any method named %s in ValidateAction.", validateMethodName);
+        isTrue(validateMethods.isEmpty(), "No any method named '%s' in ValidateAction.", validateMethodName);
         for (Method validateMethod : validateMethods) {
             Optional<Class<?>> classOptional = Arrays.stream(validateMethod.getParameterTypes()).filter(Annotation.class::isAssignableFrom).findFirst();
             classOptional.ifPresent(validateAnnotation -> {
@@ -1430,7 +1430,7 @@ public class Validator {
         if (isEmpty(fields)) {
             return objectClass.getDeclaredFields();
         }
-        List<Field> validateFields = new ArrayList<>();
+        List<Field> validateFields = new LinkedList<>();
         for (String field : fields) {
             Field validateField;
             try {

+ 16 - 16
lift-push/src/main/java/cn/com/ty/lift/push/app/PushConsumer.java

@@ -41,16 +41,16 @@ public class PushConsumer {
             String content = pushMessage.getContent();
             List<String> toList = pushMessage.getToList();
             switch (this.destination) {
-                case ValuePool.QUEUE_ANDROID_TOKEN:
+                case ValuePool.PUSH_QUEUE_ANDROID_TOKEN:
                     result = xingePush.pushTokenOnAndroid(title, content, toList);
                     break;
-                case ValuePool.QUEUE_ANDROID_ALL:
+                case ValuePool.PUSH_QUEUE_ANDROID_ALL:
                     result = xingePush.pushAllOnAndroid(title, content);
                     break;
-                case ValuePool.QUEUE_IOS_TOKEN:
+                case ValuePool.PUSH_QUEUE_IOS_TOKEN:
                     result = xingePush.pushTokenOnIos(title, content, toList);
                     break;
-                case ValuePool.QUEUE_IOS_ALL:
+                case ValuePool.PUSH_QUEUE_IOS_ALL:
                     result = xingePush.pushAllOnIos(title, content);
                     break;
                 default:
@@ -80,27 +80,27 @@ public class PushConsumer {
         }
     }
 
-    @JmsListener(destination = ValuePool.QUEUE_ANDROID_TOKEN)
+    @JmsListener(destination = ValuePool.PUSH_QUEUE_ANDROID_TOKEN)
     public void listenAndroidTokenQueue(PushMessage pushMessage) {
-        log.info("listen {} receive message:{}",ValuePool.QUEUE_ANDROID_TOKEN, pushMessage);
-        process(ValuePool.QUEUE_ANDROID_TOKEN, pushMessage);
+        log.info("listen {} receive message:{}",ValuePool.PUSH_QUEUE_ANDROID_TOKEN, pushMessage);
+        process(ValuePool.PUSH_QUEUE_ANDROID_TOKEN, pushMessage);
     }
 
-    @JmsListener(destination = ValuePool.QUEUE_ANDROID_ALL)
+    @JmsListener(destination = ValuePool.PUSH_QUEUE_ANDROID_ALL)
     public void listenAndroidAllQueue(PushMessage pushMessage) {
-        log.info("listen {} receive message:{}",ValuePool.QUEUE_ANDROID_ALL, pushMessage);
-        process(ValuePool.QUEUE_ANDROID_ALL, pushMessage);
+        log.info("listen {} receive message:{}",ValuePool.PUSH_QUEUE_ANDROID_ALL, pushMessage);
+        process(ValuePool.PUSH_QUEUE_ANDROID_ALL, pushMessage);
     }
 
-    @JmsListener(destination = ValuePool.QUEUE_IOS_TOKEN)
+    @JmsListener(destination = ValuePool.PUSH_QUEUE_IOS_TOKEN)
     public void listenIosTokenQueue(PushMessage pushMessage) {
-        log.info("listen {} receive message:{}",ValuePool.QUEUE_IOS_TOKEN, pushMessage);
-        process(ValuePool.QUEUE_IOS_TOKEN, pushMessage);
+        log.info("listen {} receive message:{}",ValuePool.PUSH_QUEUE_IOS_TOKEN, pushMessage);
+        process(ValuePool.PUSH_QUEUE_IOS_TOKEN, pushMessage);
     }
 
-    @JmsListener(destination = ValuePool.QUEUE_IOS_ALL)
+    @JmsListener(destination = ValuePool.PUSH_QUEUE_IOS_ALL)
     public void listenIosAllQueue(PushMessage pushMessage) {
-        log.info("listen {} receive message:{}",ValuePool.QUEUE_IOS_ALL, pushMessage);
-        process(ValuePool.QUEUE_IOS_ALL, pushMessage);
+        log.info("listen {} receive message:{}",ValuePool.PUSH_QUEUE_IOS_ALL, pushMessage);
+        process(ValuePool.PUSH_QUEUE_IOS_ALL, pushMessage);
     }
 }

+ 6 - 6
lift-push/src/main/java/cn/com/ty/lift/push/conf/SystemConfiguration.java

@@ -95,8 +95,8 @@ public class SystemConfiguration {
     /**
      * SQL是影响系统性能最重要的因素,所以拦截提示不合理的SQL语句
      */
-    @Bean
-    @ConditionalOnMissingBean
+//    @Bean
+//    @ConditionalOnMissingBean
     public SqlIllegalInterceptor sqlIllegalInterceptor(){
         SqlIllegalInterceptor sqlIllegalInterceptor = new SqlIllegalInterceptor();
         return sqlIllegalInterceptor;
@@ -104,18 +104,18 @@ public class SystemConfiguration {
 
     @Bean
     public Queue androidTokenQueue() {
-        return new ActiveMQQueue(ValuePool.QUEUE_ANDROID_TOKEN);
+        return new ActiveMQQueue(ValuePool.PUSH_QUEUE_ANDROID_TOKEN);
     }
     @Bean
     public Queue androidAllQueue() {
-        return new ActiveMQQueue(ValuePool.QUEUE_ANDROID_ALL);
+        return new ActiveMQQueue(ValuePool.PUSH_QUEUE_ANDROID_ALL);
     }
     @Bean
     public Queue iosTokenQueue() {
-        return new ActiveMQQueue(ValuePool.QUEUE_IOS_TOKEN);
+        return new ActiveMQQueue(ValuePool.PUSH_QUEUE_IOS_TOKEN);
     }
     @Bean
     public Queue iosAllQueue() {
-        return new ActiveMQQueue(ValuePool.QUEUE_IOS_ALL);
+        return new ActiveMQQueue(ValuePool.PUSH_QUEUE_IOS_ALL);
     }
 }