黄远 5 роки тому
батько
коміт
53bbd8501f

+ 6 - 0
lift-system-service/pom.xml

@@ -39,6 +39,12 @@
             <version>1.62</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>com.tencent</groupId>
+            <artifactId>xinge-push</artifactId>
+            <version>1.2.0</version>
+            <scope>compile</scope>
+        </dependency>
 
     </dependencies>
 

+ 19 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/config/IdToStringConfig.java

@@ -1,10 +1,19 @@
 package cn.com.ty.lift.system.config;
 
+import cn.hutool.core.date.DatePattern;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
 import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
+import java.time.format.DateTimeFormatter;
+
 @Configuration
 public class IdToStringConfig {
     /**
@@ -16,6 +25,16 @@ public class IdToStringConfig {
     public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
         return builder -> {
             builder.serializerByType(Long.class, ToStringSerializer.instance);
+            builder.serializers(new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
+            builder.serializers(new LocalDateSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
+            builder.serializers(new LocalTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN)));
+
+            builder.deserializers(new LocalDateDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
+            builder.deserializers(new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
+            builder.deserializers(new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN)));
+
+            builder.serializerByType(Long.class, ToStringSerializer.instance);
         };
     }
+
 }

+ 9 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/dao/entity/MaintenanceCompany.java

@@ -195,9 +195,18 @@ public class MaintenanceCompany implements Serializable {
     @TableField("is_updown")
     private Integer isUpdown;
 
+    /**
+     * vip表示:1表示是vip,0表示不是vip
+     */
     @TableField("vip_flag")
     private Integer vipFlag;
 
+    /**
+     * 团队人数
+     */
+    @TableField(exist = false)
+    private Integer userNum;
+
     public MaintenanceCompany() {
     }
 

+ 16 - 6
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/IMaintenanceCompanyService.java

@@ -5,6 +5,8 @@ import cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest
 import cn.com.xwy.boot.web.dto.RestResponse;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 维保公司 服务类
@@ -16,18 +18,18 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IMaintenanceCompanyService extends IService<MaintenanceCompany> {
 
     /**
-     * @description 分页获取团队信息
-     * @date 2019-12-11 10:26
      * @param
      * @return
+     * @description 分页获取团队信息
+     * @date 2019-12-11 10:26
      */
     RestResponse list(MaintenanceCompanyRequest maintenanceCompanyRequest);
 
     /**
-     * @description 申请团队
-     * @date 2019-12-11 14:05
      * @param maintenanceCompanyRequest 申请团队信息
      * @return
+     * @description 申请团队
+     * @date 2019-12-11 14:05
      */
     RestResponse createTeam(MaintenanceCompanyRequest maintenanceCompanyRequest);
 
@@ -40,10 +42,18 @@ public interface IMaintenanceCompanyService extends IService<MaintenanceCompany>
     RestResponse updateMaintenanceCompany(MaintenanceCompanyRequest maintenanceCompanyRequest);
 
     /**
-     * @description 获取用户团队信息
-     * @date 2019-12-23 13:03
      * @param maintenanceCompanyRequest
      * @return
+     * @description 获取用户团队信息
+     * @date 2019-12-23 13:03
      */
     RestResponse ownList(MaintenanceCompanyRequest maintenanceCompanyRequest);
+
+    /**
+     * @param maintenanceCompanyList 团队列表
+     * @return
+     * @description 设置团队人数
+     * @date 2020-01-03 11:42
+     */
+    void setCompanyUserNum(List<MaintenanceCompany> maintenanceCompanyList);
 }

+ 27 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/impl/MaintenanceCompanyServiceImpl.java

@@ -24,6 +24,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -60,6 +61,8 @@ public class MaintenanceCompanyServiceImpl extends ServiceImpl<MaintenanceCompan
                         //通过公司名称模糊查找公司信息
                         .like(StringUtils.isNotBlank(maintenanceCompanyRequest.getCompanyName()), "name", maintenanceCompanyRequest.getCompanyName())
         );
+        //设置维保公司人数
+        setCompanyUserNum(maintenanceCompanyPage.getRecords());
         return RestResponse.success(maintenanceCompanyPage, ApiConstants.RESULT_SUCCESS, "获取公司列表成功");
     }
 
@@ -130,12 +133,35 @@ public class MaintenanceCompanyServiceImpl extends ServiceImpl<MaintenanceCompan
                 .eq("user_id", maintenanceCompanyRequest.getUserId())
         );
         //获取所在的团队信息
-        if (mtCompanyUserList != null) {
+        if (mtCompanyUserList != null && mtCompanyUserList.size() > 0) {
             List<Long> companyIdList = ProjectUtils.getAttrList(mtCompanyUserList, "mtCompanyId", null);
             List<MaintenanceCompany> maintenanceCompanyList = (List<MaintenanceCompany>) this.listByIds(companyIdList);
+            //设置维保公司人数
+            setCompanyUserNum(maintenanceCompanyList);
             return RestResponse.success(maintenanceCompanyList, ApiConstants.RESULT_SUCCESS, "获取用户所在团队列表成功");
         }
         return RestResponse.success(null, ApiConstants.RESULT_NO_DATA, "用户还未加入任何团队");
     }
 
+    @Override
+    public void setCompanyUserNum(List<MaintenanceCompany> maintenanceCompanyList) {
+        if (maintenanceCompanyList != null && maintenanceCompanyList.size() > 0) {
+            List<Long> companyId = ProjectUtils.getAttrList(maintenanceCompanyList, "id", null);
+            //获取公司成员信息
+            List<MtCompanyUser> mtCompanyUserList = mtCompanyUserService.list(new QueryWrapper<MtCompanyUser>()
+                    .select("mt_company_id")
+                    .in("mt_company_id", companyId)
+            );
+            Map<Long, List<MtCompanyUser>> companyIdToMtCompanyUser = ProjectUtils.attrToListMap(mtCompanyUserList, "mtCompanyId", null);
+            //循环设置公司人数
+            for (MaintenanceCompany maintenanceCompany : maintenanceCompanyList) {
+                List<MtCompanyUser> mtCompanyUsers = companyIdToMtCompanyUser.get(maintenanceCompany.getId());
+                maintenanceCompany.setUserNum(0);
+                if (mtCompanyUsers != null) {
+                    maintenanceCompany.setUserNum(mtCompanyUsers.size());
+                }
+            }
+        }
+    }
+
 }

+ 5 - 3
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/UserService.java

@@ -167,10 +167,12 @@ public class UserService implements IUserService {
         //获取用户所在公司的id列表
         List<Long> companyIds = ProjectUtils.getAttrList(mtCompanyUserList, "mtCompanyId", null);
         if (companyIds.size() > 0) {
-            List<MaintenanceCompany> mtCompanyResponseList = (List<MaintenanceCompany>) maintenanceCompanyService.listByIds(companyIds);
-            userResponse.setCompanyList(mtCompanyResponseList);
+            List<MaintenanceCompany> maintenanceCompanyList = (List<MaintenanceCompany>) maintenanceCompanyService.listByIds(companyIds);
+            //设置团队成员人数
+            maintenanceCompanyService.setCompanyUserNum(maintenanceCompanyList);
+            userResponse.setCompanyList(maintenanceCompanyList);
             //用户进入后的默认团队信息
-            MaintenanceCompany maintenanceCompany = mtCompanyResponseList.get(0);
+            MaintenanceCompany maintenanceCompany = maintenanceCompanyList.get(0);
             userResponse.setMaintenanceCompany(maintenanceCompany);
             //获取用户在默认团队中的角色信息
             Role role = roleService.getRoleByUserIdAndCompanyId(userId, maintenanceCompany.getId());