浏览代码

Merge remote-tracking branch 'origin/master' into prod

tanbin 4 月之前
父节点
当前提交
693b8d97ab

+ 6 - 0
sys-api-service/src/main/java/com/xy/entity/SysDictLog.java

@@ -32,6 +32,12 @@ public class SysDictLog implements Serializable {
     @ApiModelProperty(value = "id")
     @TableId(value = "id", type = IdType.ASSIGN_ID)
     private Long id;
+    
+    @ApiModelProperty(value = "字典ID")
+    private Integer sysDictId;
+
+    @ApiModelProperty(value = "编码值")
+    private String value;
 
 
     @ApiModelProperty(value = "父编码")

+ 3 - 1
sys-api-service/src/main/java/com/xy/service/SysDictLogServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xy.dto.SysDictLogDto;
+import com.xy.entity.SysDict;
 import com.xy.entity.SysDictLog;
 import com.xy.mapper.SysDictLogMapper;
 import com.xy.sys.EnumSysDictOperateType;
@@ -63,7 +64,8 @@ public class SysDictLogServiceImpl extends ServiceImpl<SysDictLogMapper, SysDict
      * @param operateType
      * @return
      */
-    public boolean handleLog(SysDictLog sysDictLog, EnumSysDictOperateType operateType) {
+    public boolean handleLog(SysDict sysDict, SysDictLog sysDictLog, EnumSysDictOperateType operateType) {
+        sysDictLog.setSysDictId(sysDict.getId());
         sysDictLog.setId(null);
         sysDictLog.setIsSync(false);
         sysDictLog.setOperateType(operateType.getIntCode());

+ 25 - 7
sys-api-service/src/main/java/com/xy/service/SysDictServiceImpl.java

@@ -2,6 +2,7 @@ package com.xy.service;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.BooleanUtil;
 import cn.hutool.core.util.CharsetUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.HttpRequest;
@@ -107,7 +108,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
         String paterCode = syncProd.getPaterCode();
         String code = syncProd.getCode();
         Integer operateType = syncProd.getOperateType();
-        if (SysDictDto.SYNC_PWD.equals(syncProd.getPwd())) {
+        if (!SysDictDto.SYNC_PWD.equals(syncProd.getPwd())) {
             throw new CommRuntimeException("非法请求!");
         }
         try {
@@ -319,8 +320,25 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
         if (sysDictLog == null) {
             return R.fail("字典日志不存在");
         }
+        Boolean isSync = sysDictLog.getIsSync();
+        if (BooleanUtil.isTrue(isSync)) {
+            return R.fail("已同步,请勿重复操作");
+        }
+        Integer sysDictId = sysDictLog.getSysDictId();
+        SysDict sysDict = getById(sysDictId);
         SysDictDto.SyncProd syncProd = BeanUtil.copyProperties(sysDictLog, SysDictDto.SyncProd.class);
-        String res = sendPost(SYNC_DICT_URL, JSONUtil.toJsonStr(syncProd));
+        syncProd.setValue(sysDictLog.getValue());
+        if (sysDict != null) {
+            //非删除
+            syncProd.setCssClass(sysDict.getCssClass());
+            syncProd.setListClass(sysDict.getListClass());
+            syncProd.setOrders(sysDict.getOrders());
+        }
+        syncProd.setPwd(SysDictDto.SYNC_PWD);
+
+        String body = JSONUtil.toJsonStr(syncProd);
+        log.info("字典同步数据: {}", body);
+        String res = sendPost(SYNC_DICT_URL, body);
         if ("fail".equals(res)) {
             return R.fail("同步失败,请稍后重试");
         } else {
@@ -345,7 +363,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
         save(sysDict);
         //日志
         SysDictLog sysDictLog = BeanUtil.copyProperties(sysDict, SysDictLog.class);
-        sysDictLogService.handleLog(sysDictLog, EnumSysDictOperateType.ADD);
+        sysDictLogService.handleLog(sysDict, sysDictLog, EnumSysDictOperateType.ADD);
         //刷新redis
         refuRedis(sysDict);
         return R.ok();
@@ -371,7 +389,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
                 sysDicts.forEach(sd -> {
                     sd.setPaterCode(update.getCode());
                     SysDictLog sysDictLog = BeanUtil.copyProperties(sd, SysDictLog.class);
-                    sysDictLogService.handleLog(sysDictLog, EnumSysDictOperateType.ADD);
+                    sysDictLogService.handleLog(sysDict, sysDictLog, EnumSysDictOperateType.ADD);
                 });
             }
         }
@@ -384,7 +402,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
         update(new SysDict().setPaterCode(obj.getCode()), new LambdaQueryWrapper<SysDict>().eq(SysDict::getPaterCode, sysDict.getCode()));
         //日志
         SysDictLog sysDictLog = BeanUtil.copyProperties(sysDict, SysDictLog.class);
-        sysDictLogService.handleLog(sysDictLog, EnumSysDictOperateType.UPDATE);
+        sysDictLogService.handleLog(sysDict, sysDictLog, EnumSysDictOperateType.UPDATE);
 
         //刷新redis
         refuRedis(obj);
@@ -403,7 +421,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
         if (CollUtil.isNotEmpty(list)) {
             list.forEach(sysDict -> {
                 SysDictLog sysDictLog = BeanUtil.copyProperties(sysDict, SysDictLog.class);
-                sysDictLogService.handleLog(sysDictLog, EnumSysDictOperateType.DEL);
+                sysDictLogService.handleLog(sysDict, sysDictLog, EnumSysDictOperateType.DEL);
             });
         }
 
@@ -421,7 +439,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
                 removeBatchByIds(sysDicts);
                 sysDicts.forEach(sysDict -> {
                     SysDictLog sysDictLog = BeanUtil.copyProperties(sysDict, SysDictLog.class);
-                    sysDictLogService.handleLog(sysDictLog, EnumSysDictOperateType.DEL);
+                    sysDictLogService.handleLog(sysDict, sysDictLog, EnumSysDictOperateType.DEL);
                 });
             }
 

+ 1 - 1
sys-api/src/main/java/com/xy/dto/SysDictDto.java

@@ -69,7 +69,7 @@ public class SysDictDto {
     @Data
     @Accessors(chain = true)
     public static class SyncToProd {
-        @NotBlank(message = "logId不能为空")
+        @NotNull(message = "logId不能为空")
         @ApiModelProperty(value = "logId")
         private Long id;
 

+ 20 - 0
sys-api/src/main/java/com/xy/dto/SysDictLogDto.java

@@ -74,6 +74,10 @@ public class SysDictLogDto {
         @ApiModelProperty(value = "说明")
         private String msg;
 
+        @ApiModelProperty(value = "编码值")
+        private String value;
+
+
         @ApiModelProperty(value = "创建时间")
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
         private LocalDateTime createTime;
@@ -94,6 +98,22 @@ public class SysDictLogDto {
         private String oldCode;
 
 
+        /**
+         * 排序 正序
+         */
+        private Integer orders;
+
+        /**
+         * 回显样式
+         */
+        private String listClass;
+
+        /**
+         * 回显class
+         */
+        private String cssClass;
+
+
     }
 
 }