Browse Source

加入企业功能接口调整

chenw 7 years ago
parent
commit
0fa76c302d
17 changed files with 226 additions and 13 deletions
  1. 4 0
      applications/commons/commons-api/src/main/java/com/usoftchina/saas/commons/api/SystemRemindApi.java
  2. 18 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/dto/AddApplyDTO.java
  3. 57 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/dto/AddApplyReqDTO.java
  4. 27 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/po/AddApply.java
  5. 6 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/SystemRemindController.java
  6. 3 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/SystemRemindMapper.java
  7. 8 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/SystemRemindService.java
  8. 19 7
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/SystemRemindServiceImpl.java
  9. 27 6
      applications/commons/commons-server/src/main/resources/mapper/SystemRemindMapper.xml
  10. 7 0
      base-servers/account/account-api/src/main/java/com/usoftchina/saas/account/api/CompanyApi.java
  11. 9 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/controller/AccountCenterController.java
  12. 11 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/controller/CompanyController.java
  13. 7 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/mapper/CompanyMapper.java
  14. 7 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/CompanyService.java
  15. 5 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/impl/CompanyServiceImpl.java
  16. 10 0
      base-servers/account/account-server/src/main/resources/mapper/CompanyMapper.xml
  17. 1 0
      framework/core/src/main/java/com/usoftchina/saas/exception/ExceptionCode.java

+ 4 - 0
applications/commons/commons-api/src/main/java/com/usoftchina/saas/commons/api/SystemRemindApi.java

@@ -3,8 +3,10 @@ package com.usoftchina.saas.commons.api;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.dto.AddApplyDTO;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 
 @FeignClient("commons-server")
 public interface SystemRemindApi {
@@ -12,4 +14,6 @@ public interface SystemRemindApi {
     @PostMapping("/remind/apply/save")
     Result save(@RequestBody AddApplyDTO addApplyDTO);
 
+    @GetMapping("/remind/apply/count")
+    Result<Integer> getApplyCountById(@RequestParam("accountId") Long accountId, @RequestParam("companyId")Long companyId);
 }

+ 18 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/dto/AddApplyDTO.java

@@ -22,6 +22,24 @@ public class AddApplyDTO extends CommonBaseDTO implements Serializable {
     private String status;
     private Long creatorId;
     private Long companyId;
+    private String admin;
+    private String adminMobile;
+
+    public String getAdmin() {
+        return admin;
+    }
+
+    public void setAdmin(String admin) {
+        this.admin = admin;
+    }
+
+    public String getAdminMobile() {
+        return adminMobile;
+    }
+
+    public void setAdminMobile(String adminMobile) {
+        this.adminMobile = adminMobile;
+    }
 
     public String getRoleNames() {
         return roleNames;

+ 57 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/dto/AddApplyReqDTO.java

@@ -0,0 +1,57 @@
+package com.usoftchina.saas.commons.dto;
+
+import java.io.Serializable;
+
+/**
+ * @Description 申请列表
+ * @Author chenwei
+ * @Date 2018/12/18
+ */
+public class AddApplyReqDTO implements Serializable {
+
+    private String companyName;
+    private String adminName;
+    private String adminMobile;
+    private String createTime;
+    private String status;
+
+    public String getCompanyName() {
+        return companyName;
+    }
+
+    public void setCompanyName(String companyName) {
+        this.companyName = companyName;
+    }
+
+    public String getAdminName() {
+        return adminName;
+    }
+
+    public void setAdminName(String adminName) {
+        this.adminName = adminName;
+    }
+
+    public String getAdminMobile() {
+        return adminMobile;
+    }
+
+    public void setAdminMobile(String adminMobile) {
+        this.adminMobile = adminMobile;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+}

+ 27 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/po/AddApply.java

@@ -19,6 +19,33 @@ public class AddApply extends CommonBaseEntity implements Serializable {
      */
     private String status;
     private Long companyId;
+    private String companyName;
+    private String admin;
+    private String adminMobile;
+
+    public String getCompanyName() {
+        return companyName;
+    }
+
+    public void setCompanyName(String companyName) {
+        this.companyName = companyName;
+    }
+
+    public String getAdmin() {
+        return admin;
+    }
+
+    public void setAdmin(String admin) {
+        this.admin = admin;
+    }
+
+    public String getAdminMobile() {
+        return adminMobile;
+    }
+
+    public void setAdminMobile(String adminMobile) {
+        this.adminMobile = adminMobile;
+    }
 
     @Override
     public Long getCompanyId() {

+ 6 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/SystemRemindController.java

@@ -49,4 +49,10 @@ public class SystemRemindController {
         return Result.success();
     }
 
+    @GetMapping("/apply/count")
+    public Result getApplyCountById(@RequestParam("accountId") Long accountId, @RequestParam("companyId")Long companyId){
+        int count = systemRemindService.getApplyCountById(accountId, companyId);
+        return Result.success(count);
+    }
+
 }

+ 3 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/SystemRemindMapper.java

@@ -2,6 +2,7 @@ package com.usoftchina.saas.commons.mapper;
 
 import com.usoftchina.saas.base.mapper.CommonBaseMapper;
 import com.usoftchina.saas.commons.dto.AddApplyDTO;
+import com.usoftchina.saas.commons.dto.AddApplyReqDTO;
 import com.usoftchina.saas.commons.po.AddApply;
 import org.apache.ibatis.annotations.Param;
 
@@ -12,4 +13,6 @@ public interface SystemRemindMapper extends CommonBaseMapper<AddApply> {
     List<AddApplyDTO> getApplyList(@Param("condition") String condition, @Param("companyId") Long companyId);
 
     void confirmApply(@Param("status") String status, @Param("id") Long id, @Param("updaterId") Long updaterId);
+
+    int getApplyCountById(@Param("accountId") Long accountId, @Param("companyId") Long companyId);
 }

+ 8 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/SystemRemindService.java

@@ -26,4 +26,12 @@ public interface SystemRemindService {
      * @param addApplyDTO
      */
     void confirmApply(AddApplyDTO addApplyDTO);
+
+    /**
+     * 获取当前用户在具体公司申请的条数
+     * @param accountId
+     * @param companyId
+     * @return
+     */
+    int getApplyCountById(Long accountId, Long companyId);
 }

+ 19 - 7
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/SystemRemindServiceImpl.java

@@ -8,6 +8,7 @@ import com.usoftchina.saas.account.dto.AccountDTO;
 import com.usoftchina.saas.account.dto.CompanyDTO;
 import com.usoftchina.saas.account.dto.RoleBaseDTO;
 import com.usoftchina.saas.commons.dto.AddApplyDTO;
+import com.usoftchina.saas.commons.dto.AddApplyReqDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.exception.BizExceptionCode;
 import com.usoftchina.saas.commons.mapper.SystemRemindMapper;
@@ -18,6 +19,7 @@ import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.exception.ExceptionCode;
 import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.utils.BeanMapper;
+import com.usoftchina.saas.utils.CollectionUtils;
 import com.usoftchina.saas.utils.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -51,6 +53,9 @@ public class SystemRemindServiceImpl implements SystemRemindService {
         AddApply addApply = new AddApply();
         addApply.setMobile(addApplyDTO.getMobile());
         addApply.setUsername(addApplyDTO.getUsername());
+        addApply.setCompanyName(addApplyDTO.getCompanyName());
+        addApply.setAdmin(addApplyDTO.getAdmin());
+        addApply.setAdminMobile(addApplyDTO.getAdminMobile());
         addApply.setStatus("2");
         addApply.setCompanyId(addApplyDTO.getCompanyId());
         addApply.setCreateTime(new Date());
@@ -70,14 +75,16 @@ public class SystemRemindServiceImpl implements SystemRemindService {
         for (AddApplyDTO addapplyDTO : addApplyDTOList) {
             AccountDTO accountDTO = accountApi.getAccount(addapplyDTO.getMobile()).getData();
             List<RoleBaseDTO> roleBaseDTOList = accountDTO.getRolesMap().get(companyId);
-            for (RoleBaseDTO roleBaseDTO : roleBaseDTOList){
-                roles.append(roleBaseDTO.getId() + ",");
-                roleNames.append(roleBaseDTO.getName() + ",");
+            if (!CollectionUtils.isEmpty(roleBaseDTOList)) {
+                for (RoleBaseDTO roleBaseDTO : roleBaseDTOList) {
+                    roles.append(roleBaseDTO.getId() + ",");
+                    roleNames.append(roleBaseDTO.getName() + ",");
+                }
+                addapplyDTO.setRoles(roles.substring(0, roles.length() - 1));
+                addapplyDTO.setRoleNames(roleNames.substring(0, roleNames.length() - 1));
+                roles.setLength(0);
+                roleNames.setLength(0);
             }
-            addapplyDTO.setRoles(roles.substring(0, roles.length() - 1));
-            addapplyDTO.setRoleNames(roleNames.substring(0, roleNames.length() - 1));
-            roles.setLength(0);
-            roleNames.setLength(0);
         }
         PageInfo<AddApplyDTO> pageInfo = new PageInfo<AddApplyDTO>(addApplyDTOList);
         return pageInfo;
@@ -98,4 +105,9 @@ public class SystemRemindServiceImpl implements SystemRemindService {
         //更新申请单状态
         systemRemindMapper.confirmApply(addApplyDTO.getStatus(), addApplyDTO.getId(), BaseContextHolder.getUserId());
     }
+
+    @Override
+    public int getApplyCountById(Long accountId, Long companyId) {
+        return systemRemindMapper.getApplyCountById(accountId, companyId);
+    }
 }

+ 27 - 6
applications/commons/commons-server/src/main/resources/mapper/SystemRemindMapper.xml

@@ -9,6 +9,9 @@
         <result column="creatorId" jdbcType="INTEGER" property="creatorId" />
         <result column="creatorName" jdbcType="VARCHAR" property="creatorName" />
         <result column="updateTime" jdbcType="TIMESTAMP" property="updateTime" />
+        <result column="re_companyName" jdbcType="VARCHAR" property="companyName" />
+        <result column="re_admin" jdbcType="VARCHAR" property="admin" />
+        <result column="re_adminMobile" jdbcType="VARCHAR" property="adminMobile" />
     </resultMap>
     <select id="getApplyList" resultMap="BaseResultMap">
       SELECT * FROM REMIND
@@ -16,9 +19,6 @@
           <if test="condition != null">
               ${condition}
           </if>
-          <if test="companyId != null">
-              AND COMPANYID = #{companyId}
-          </if>
       </where>
       ORDER BY RE_STATUS DESC,RE_ID DESC
     </select>
@@ -26,6 +26,9 @@
         UPDATE REMIND SET RE_STATUS = #{status}, updateTime = now(), updaterId = #{updaterId}
         where re_id = #{id}
     </update>
+    <select id="getApplyCountById" resultType="int">
+        SELECT COUNT(*) FROM REMIND WHERE COMPANYID = #{companyId} AND CREATORID = #{accountId}
+    </select>
     <insert id="insertSelective" parameterType="com.usoftchina.saas.commons.po.AddApply">
         <selectKey resultType="java.lang.Long" keyProperty="id">
             SELECT LAST_INSERT_ID() AS ID
@@ -51,7 +54,16 @@
                 companyId,
             </if>
             <if test="status != null">
-                re_status
+                re_status,
+            </if>
+            <if test="admin != null">
+                re_admin,
+            </if>
+            <if test="companyName != null">
+                re_companyName,
+            </if>
+            <if test="adminMobile != null">
+                re_adminMobile
             </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -71,10 +83,19 @@
                 #{createTime, jdbcType=TIMESTAMP},
             </if>
             <if test="companyId != null">
-                #{companyId, jdbcType=TIMESTAMP},
+                #{companyId, jdbcType=INTEGER},
             </if>
             <if test="status != null">
-                #{status, jdbcType=TIMESTAMP}
+                #{status, jdbcType=VARCHAR},
+            </if>
+            <if test="admin != null">
+                #{admin, jdbcType=VARCHAR},
+            </if>
+            <if test="companyName != null">
+                #{companyName, jdbcType=VARCHAR},
+            </if>
+            <if test="adminMobile != null">
+                #{adminMobile, jdbcType=VARCHAR}
             </if>
         </trim>
     </insert>

+ 7 - 0
base-servers/account/account-api/src/main/java/com/usoftchina/saas/account/api/CompanyApi.java

@@ -79,4 +79,11 @@ public interface CompanyApi {
     @GetMapping("/company/find/{name}")
     Result<List<CompanyRspDTO>> getCompanyByFuzzyName(@PathVariable("name") String name);
 
+    /**
+     * 按企业ID查找企业及企业管理员信息
+     * @param id
+     * @return
+     */
+    @GetMapping(path = "/company/find", params = "id")
+    Result<CompanyRspDTO> getCompanyRspDTOById(@RequestParam("id") Long id);
 }

+ 9 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/controller/AccountCenterController.java

@@ -7,6 +7,7 @@ import com.usoftchina.saas.account.service.AccountCenterService;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.api.SystemRemindApi;
 import com.usoftchina.saas.commons.dto.AddApplyDTO;
+import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.exception.ExceptionCode;
 import com.usoftchina.sso.api.SsoUserSpaceApi;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -114,10 +115,18 @@ public class AccountCenterController {
      */
     @PostMapping("/company/join")
     public Result joinCompany(@RequestBody BindCompanyDTO bindCompanyDTO){
+        Integer count = systemRemindApi.getApplyCountById(bindCompanyDTO.getAccountId(), bindCompanyDTO.getCompanyId()).getData();
+        if (count > 0){
+            throw new BizException(ExceptionCode.APPLY_DOING_EXIST);
+        }
         AddApplyDTO addApplyDTO = new AddApplyDTO();
         AccountDTO accountDTO = accountApi.getAccountById(bindCompanyDTO.getAccountId()).getData();
+        CompanyRspDTO companyRspDTO = companyApi.getCompanyRspDTOById(bindCompanyDTO.getCompanyId()).getData();
         addApplyDTO.setMobile(accountDTO.getMobile());
         addApplyDTO.setCompanyId(bindCompanyDTO.getCompanyId());
+        addApplyDTO.setCompanyName(companyRspDTO.getName());
+        addApplyDTO.setAdmin(companyRspDTO.getAdmin());
+        addApplyDTO.setAdminMobile(companyRspDTO.getAdminMobile());
         addApplyDTO.setUsername(bindCompanyDTO.getUsername());
         addApplyDTO.setStatus("2");
         systemRemindApi.save(addApplyDTO);

+ 11 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/controller/CompanyController.java

@@ -161,6 +161,17 @@ public class CompanyController {
         return Result.error(ExceptionCode.COMPANY_NOT_EXIST);
     }
 
+    /**
+     * 按企业ID查找企业及企业管理员信息
+     * @param id
+     * @return
+     */
+    @GetMapping(path = "/find", params = "id")
+    public Result<CompanyRspDTO> getCompanyRspDTOById(@RequestParam("id") Long id){
+        CompanyRspDTO companyRspDTO = companyService.getCompanyRspDTOById(id);
+        return Result.success(companyRspDTO);
+    }
+
     /**
      * 当前登录的公司的信息
      *

+ 7 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/mapper/CompanyMapper.java

@@ -97,4 +97,11 @@ public interface CompanyMapper {
      * @return
      */
     List<CompanyRspDTO> findByFuzzyName(@Param("name") String name);
+
+    /**
+     * 按企业ID查找企业及企业管理员信息
+     * @param id
+     * @return
+     */
+    CompanyRspDTO getCompanyRspDTOById(Long id);
 }

+ 7 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/CompanyService.java

@@ -113,4 +113,11 @@ public interface CompanyService {
      * @return
      */
     List<CompanyRspDTO> findByFuzzyName(String name);
+
+    /**
+     * 按企业ID查找企业及企业管理员信息
+     * @param id
+     * @return
+     */
+    CompanyRspDTO getCompanyRspDTOById(Long id);
 }

+ 5 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/impl/CompanyServiceImpl.java

@@ -65,6 +65,11 @@ public class CompanyServiceImpl implements CompanyService{
         return companyMapper.findByFuzzyName(name);
     }
 
+    @Override
+    public CompanyRspDTO getCompanyRspDTOById(Long id) {
+        return companyMapper.getCompanyRspDTOById(id);
+    }
+
     @Override
     public Company findByName(String name) {
         return companyMapper.selectByName(name);

+ 10 - 0
base-servers/account/account-server/src/main/resources/mapper/CompanyMapper.xml

@@ -126,6 +126,16 @@
           OR aa.realname LIKE concat('%', '陈炜', '%')
         ORDER BY ac.id
     </select>
+    <select id="getCompanyRspDTOById" resultType="com.usoftchina.saas.account.dto.CompanyRspDTO">
+        SELECT
+          ac.id,ac.name,aa.realname admin,aa.mobile adminMobile
+        FROM
+          ac_company ac
+          INNER JOIN ac_account aa on ac.creator_id = aa.id
+        WHERE
+          ac.id = #{id}
+        ORDER BY ac.id
+    </select>
     <select id="selectByUu" parameterType="java.lang.Long" resultMap="FullResultMap">
         select <include refid="baseColumns"/> from ac_company where uu=#{uu,jdbcType=BIGINT}
     </select>

+ 1 - 0
framework/core/src/main/java/com/usoftchina/saas/exception/ExceptionCode.java

@@ -47,6 +47,7 @@ public enum ExceptionCode implements BaseExceptionCode {
     MISSING_PERMISSIONS(53030, "权限缺失"),
     USER_COMPANY_EXIST(53007, "企业已存在账户"),
     ROLE_HAS_USE(54030, "存在已使用该角色的账户,不允许删除"),
+    APPLY_DOING_EXIST(54031, "已存在待处理的加入申请"),
 
     // 文件相关
     FOLDER_NOT_EXISTS(55000, "文件夹不存在"),