ソースを参照

Merge branch 'develop' of http://132.232.206.88:3000/lift-manager/lift-server into feature-wcz

wcz 5 年 前
コミット
26e1b673a9

+ 1 - 1
lift-quan-service/src/main/resources/application-prod.yml

@@ -7,7 +7,7 @@ spring:
 
   #redis缓存配置
   redis:
-    database: 0 #数据库索引,默认为0
+    database: 1 #数据库索引,默认为0
     host: r-bp1j7odydtfqtprdvm.redis.rds.aliyuncs.com #(内网地址)服务器地址
     port: 6379 #端口
     password: Gdkc-290431 #验证密码

+ 37 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/framework/runner/SystemServiceRunner.java

@@ -1,17 +1,23 @@
 package cn.com.ty.lift.system.framework.runner;
 
+import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.constants.RedisConstants;
 import cn.com.ty.lift.common.model.AreaCode;
+import cn.com.ty.lift.system.settings.dao.entity.GlobalSet;
+import cn.com.ty.lift.system.settings.dao.mapper.GlobalSetMapper;
+import cn.com.ty.lift.system.settings.service.GlobalSetService;
 import cn.com.ty.lift.system.user.service.IAreaCodeService;
 import cn.hutool.json.JSONUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
+import org.springframework.data.redis.core.RedisCallback;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @author huangyuan
@@ -28,10 +34,18 @@ public class SystemServiceRunner implements ApplicationRunner {
     @Resource
     private IAreaCodeService iAreaCodeService;
 
+    @Resource
+    private GlobalSetService globalSetService;
+
+    @Resource
+    private GlobalSetMapper globalSetMapper;
+
     @Override
     public void run(ApplicationArguments args) {
         //初始化省、市、区信息列表
         initAreaList();
+        //初始化全局设置到redis
+        initGlobalSet();
     }
 
     /**
@@ -44,4 +58,27 @@ public class SystemServiceRunner implements ApplicationRunner {
         redisTemplate.opsForValue().set(RedisConstants.RK_AREA_LIST, areaCodeList);
         log.info("初始化区域信息列表{}", JSONUtil.parse(areaCodeList));
     }
+
+    /**
+     * 初始化全局设置数据到redis
+     */
+    public void initGlobalSet() {
+        //获取已通过申请通过的公司列表
+        List<Long> companyIds = globalSetMapper.companyIds();
+        //获取全部全局设置列表
+        List<GlobalSet> globalSetList = globalSetService.list();
+        //将已通过公司的全局设置筛选出来
+        List<GlobalSet> globalSets = globalSetList.stream()
+                .filter(globalSet -> companyIds.contains(globalSet.getCompanyId()))
+                .collect(Collectors.toList());
+        //向redis批量set数据
+        redisTemplate.executePipelined((RedisCallback<String>) connection -> {
+            for (GlobalSet globalSet : globalSets) {
+                String companyId = globalSet.getCompanyId().toString();
+                String code = globalSet.getCode();
+                connection.hSet((companyId + "_globalSet").getBytes(), code.getBytes(), globalSet.getValue().toString().getBytes());
+            }
+            return null;
+        });
+    }
 }

+ 3 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/controller/GlobalSetController.java

@@ -73,6 +73,9 @@ public class GlobalSetController {
                     globalSet.setValue(Integer.valueOf(v.toString()));
             }
         });
+        //更新redis数据
+        globalSetService.saveToRedis(globalSets, companyId);
+        //更新mysql数据
         if (globalSetService.updateBatchById(globalSets)) {
             return RestResponse.success(null, "成功");
         }

+ 5 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/dao/mapper/GlobalSetMapper.java

@@ -2,6 +2,9 @@ package cn.com.ty.lift.system.settings.dao.mapper;
 
 import cn.com.ty.lift.system.settings.dao.entity.GlobalSet;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface GlobalSetMapper extends BaseMapper<GlobalSet> {
 
+    @Select("select id from maintenance_company where is_certificated=1")
+    List<Long> companyIds();
 }

+ 6 - 2
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/GlobalSetService.java

@@ -3,6 +3,8 @@ package cn.com.ty.lift.system.settings.service;
 import cn.com.ty.lift.system.settings.dao.entity.GlobalSet;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 全局设置 服务类
@@ -14,10 +16,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface GlobalSetService extends IService<GlobalSet> {
 
     /**
-     * @description 团队初始化设置全局设置数据
-     * @date 2019-12-17 16:45
      * @param
      * @return
+     * @description 团队初始化设置全局设置数据
+     * @date 2019-12-17 16:45
      */
     boolean teamInitSetting(Long companyId);
+
+    void saveToRedis(List<GlobalSet> globalSetList, Long companyId);
 }

+ 25 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/impl/GlobalSetServiceImpl.java

@@ -5,8 +5,11 @@ import cn.com.ty.lift.system.settings.dao.entity.GlobalSet;
 import cn.com.ty.lift.system.settings.dao.mapper.GlobalSetMapper;
 import cn.com.ty.lift.system.settings.service.GlobalSetService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.data.redis.core.RedisCallback;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -20,6 +23,8 @@ import java.util.List;
  */
 @Service
 public class GlobalSetServiceImpl extends ServiceImpl<GlobalSetMapper, GlobalSet> implements GlobalSetService {
+    @Resource
+    private RedisTemplate<String, Object> redisTemplate;
 
     @Override
     public boolean teamInitSetting(Long companyId) {
@@ -95,6 +100,26 @@ public class GlobalSetServiceImpl extends ServiceImpl<GlobalSetMapper, GlobalSet
         globalSetList.add(new GlobalSet(companyId,
                 ApiConstants.GlobalSetConstants.CLERK_ADD,
                 ApiConstants.GlobalSetConstants.ADD_AUTHORITY));
+
+        //团队申请通过,将全局设置数据存入redis
+        saveToRedis(globalSetList, companyId);
+        //将全局数据存入mysql数据库
         return this.saveBatch(globalSetList);
     }
+
+    /**
+     * 团队申请通过,将全局设置数据更新进redis
+     *
+     * @param globalSetList
+     * @param companyId
+     */
+    public void saveToRedis(List<GlobalSet> globalSetList, Long companyId) {
+        redisTemplate.executePipelined((RedisCallback<String>) connection -> {
+            for (GlobalSet globalSet : globalSetList) {
+                String code = globalSet.getCode();
+                connection.hSet((companyId + "_globalSet").getBytes(), code.getBytes(), globalSet.getValue().toString().getBytes());
+            }
+            return null;
+        });
+    }
 }

+ 2 - 2
lift-system-service/src/main/resources/application-prod.yml

@@ -1,6 +1,6 @@
 spring:
   datasource:
-    url: jdbc:mysql://rm-bp1qkwy173koi066x.mysql.rds.aliyuncs.com:3306/rdsliftmanager?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://rm-bp1qkwy173koi066xuo.mysql.rds.aliyuncs.com:3306/rdsliftmanager?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
     username: tykj
     password: Tdkg-13250409
     driver-class-name: com.mysql.cj.jdbc.Driver
@@ -8,7 +8,7 @@ spring:
   #redis缓存配置
   redis:
     database: 0 #数据库索引,默认为0
-    host: r-bp1j7odydtfqtprdvm.redis.rds.aliyuncs.com #(内网地址,上线改为内网地址)服务器地址
+    host: r-bp1j7odydtfqtprdvmpd.redis.rds.aliyuncs.com #(内网地址,上线改为内网地址)服务器地址
     port: 6379 #端口
     password: Gdkc-290431 #验证密码
     jedis: