Pārlūkot izejas kodu

soc-modules-deploy模块后台代码迁移-白令海版本升级机构查询筛选优化

humingshi-7@163.com 1 gadu atpakaļ
vecāks
revīzija
cb7f17c29a

+ 2 - 0
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/SocDeployApplication.java

@@ -8,6 +8,7 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.context.config.annotation.RefreshScope;
 import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
 
 /**
  * 部署中心模块
@@ -16,6 +17,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
  */
 @RefreshScope
 @MapperScan("com.xunmei.deploy.dao")
+@EnableScheduling
 @EnableAsync
 @EnableCustomConfig
 @EnableCustomSwagger2

+ 3 - 3
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/controller/AgentUpgradeStatusController.java

@@ -67,10 +67,10 @@ public class AgentUpgradeStatusController   extends BaseController{
     /**
      * 白令海管理-白令海版本升级-(升级、批量升级)操作
      */
-    @RequestMapping("/upload")
-    public AjaxResult upload(UploadAgentVo uploadAgentVo){
+    @RequestMapping("/batchUpgrade")
+    public AjaxResult batchUpgrade(UploadAgentVo uploadAgentVo){
         try {
-            String msg = packageInfoService.uploadAgentPackage(uploadAgentVo);
+            String msg = packageInfoService.batchUpgradeHostAgents(uploadAgentVo);
             return AjaxResult.success(msg,null);
         }catch (Exception e){
             logger.error("白令海管理-白令海版本升级:升级操作出现异常{}",e);

+ 1 - 2
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/dao/HostInfoDao.java

@@ -31,8 +31,7 @@ public interface HostInfoDao extends BaseMapper<HostInfo> {
     /**
      * 查询机构下的所有主机
      */
-    List<HostInfo> selectByOrg(@Param("orgId") String orgId, @Param("agentVersion") String agentVersion, @Param("hostStatus") String hostStatus,
-                               @Param("uploadVersion") String uploadVersion, @Param("hostIp") String hostIp);
+    List<HostInfo> selectByOrg(@Param("orgId") Long orgId, @Param("checkSub") Boolean checkSub,@Param("agentVersion") String agentVersion, @Param("hostStatus") String hostStatus, @Param("uploadVersion") String uploadVersion, @Param("hostIp") String hostIp);
 
     //白令海版本升级-列表
     IPage<HostInfoVo> selectPage(Page<HostInfo> page, @Param("info") HostInfoVo hostInfoVo);

+ 1 - 1
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/service/PackageInfoService.java

@@ -22,7 +22,7 @@ public interface PackageInfoService extends IService<PackageInfo> {
 
     List<PackageInfo> getPackageVersion();
 
-    String uploadAgentPackage(UploadAgentVo uploadAgentVo) throws Exception;
+    String batchUpgradeHostAgents(UploadAgentVo uploadAgentVo) throws Exception;
 
     String uploadZip(MultipartFile file) throws Exception;
 }

+ 3 - 2
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/service/impl/HostInfoServiceImpl.java

@@ -169,13 +169,14 @@ public class HostInfoServiceImpl extends ServiceImpl<HostInfoDao, HostInfo> impl
 
     @Override
     public List<HostInfo> selectByOrg(UploadAgentVo uploadAgentVo) {
-        String orgId = uploadAgentVo.getUpId();
+        Long orgId = uploadAgentVo.getHostOrg();
+        Boolean checkSub = uploadAgentVo.getCheckSub();
         String agentVersion = uploadAgentVo.getAgentVersion();
         String hostStatus = uploadAgentVo.getHostStatus();
         String uploadVersion = uploadAgentVo.getUploadVersion();
         String hostIp = uploadAgentVo.getHostIp();
 
-        return baseMapper.selectByOrg(orgId,agentVersion,hostStatus,uploadVersion,hostIp);
+        return baseMapper.selectByOrg(orgId,checkSub,agentVersion,hostStatus,uploadVersion,hostIp);
     }
 
     //白令海版本升级-列表

+ 2 - 6
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/service/impl/PackageInfoServiceImpl.java

@@ -85,7 +85,7 @@ public class PackageInfoServiceImpl extends ServiceImpl<PackageInfoDao, PackageI
     }
 
     @Override
-    public String uploadAgentPackage(UploadAgentVo uploadAgentVo) throws Exception{
+    public String batchUpgradeHostAgents(UploadAgentVo uploadAgentVo) throws Exception{
         try {
             if (null == uploadAgentVo){
                 throw new RuntimeException("升级失败,请检查参数是否完整");
@@ -98,7 +98,7 @@ public class PackageInfoServiceImpl extends ServiceImpl<PackageInfoDao, PackageI
 
             //单个主机升级
             if ("single".equals(uploadAgentVo.getType())){
-                HostInfo hostInfo = hostInfoService.getById(uploadAgentVo.getUpId());
+                HostInfo hostInfo = hostInfoService.getById(uploadAgentVo.getHostId());
                 if (null != this.chooseVersion(packageInfo.getPackageVersion(),hostInfo.getAgentVersion())){
                     hostInfo.setUploadVersion(packageInfo.getPackageVersion());
                     hostInfoService.updateById(hostInfo);
@@ -107,10 +107,6 @@ public class PackageInfoServiceImpl extends ServiceImpl<PackageInfoDao, PackageI
                 }
             }else {
                 List<HostInfo> hostInfos = null;
-                //根据机构升级 upId为0时升级所有主机
-                if ("0".equals(uploadAgentVo.getUpId())){
-                    uploadAgentVo.setUpId("");
-                }
                 //优化升级主机Agent版本功能,仅针对查询列表中的主机进行升级!
                 hostInfos = hostInfoService.selectByOrg(uploadAgentVo);
                 int notUploadCount = 0;//低版本的主机

+ 6 - 2
soc-modules/soc-modules-deploy/src/main/java/com/xunmei/deploy/vo/UploadAgentVo.java

@@ -6,9 +6,9 @@ import lombok.Data;
 public class UploadAgentVo {
 
     /**
-     * 需要升级的主机或者机构id
+     * 需要升级的机构id
      */
-    private String upId;
+    private Long hostOrg;;
 
     /**
      * 升级类型:single单个主机升级  batch根据机构升级
@@ -41,4 +41,8 @@ public class UploadAgentVo {
      * 主机ip
      */
     private String hostIp;
+    /**
+     * 是否包含下级
+     */
+    private  Boolean checkSub=false;
 }

+ 11 - 3
soc-modules/soc-modules-deploy/src/main/resources/mapper/HostInfoDao.xml

@@ -125,9 +125,6 @@
         left join hv_host_org v on h.id = v.register_code
         left join hv_org o on v.org_id = o.org_id
         where 1 =1
-        <if test="orgId != '' and orgId != null">
-            and o.is_deleted = 0 and o.path like concat('%#', #{orgId}, '#%' )
-        </if>
         <if test="agentVersion != '' and agentVersion != null">
             and  h.agentVersion =  #{agentVersion}
         </if>
@@ -140,6 +137,17 @@
         <if test="hostIp != '' and hostIp != null">
             and h.hostIp like CONCAT('%', #{hostIp}, '%' )
         </if>
+        <if test=" orgId != null ">
+            and v.is_deleted = 0
+            <choose>
+                <when test=" info.checkSub == true">
+                    and v.path like CONCAT('%', #{orgId}, '%' )
+                </when>
+                <otherwise>
+                    and v.org_id = #{orgId}
+                </otherwise>
+            </choose>
+        </if>
     </select>
 
     <select id="selectPage" resultType="com.xunmei.deploy.vo.HostInfoVo">