Quellcode durchsuchen

修改实体类project和company

vor 5 Jahren
Ursprung
Commit
82f89619ca

+ 5 - 4
cloud-model/src/main/java/com/hssx/cloudmodel/controller/UserController.java

@@ -52,14 +52,15 @@ public class UserController {
 
     /**
      * 创建账号是所获取的公司列表
+     * parentId 当前用户的上级id
      * @return
      */
     @ApiOperation(value = "获取公司列表")
     @RequestMapping("/getCompanyList")
     @ResponseBody
-    public HttpRespMsg getCompanyList(){
+    public HttpRespMsg getCompanyList(User user){
         HttpRespMsg msg = new HttpRespMsg();
-        List<Company> list = companyService.getIdAndNamelist();
+        List<Company> list = companyService.getIdAndNamelist(user);
         msg.data = list;
         return msg;
     }
@@ -67,7 +68,7 @@ public class UserController {
     /**
      * 添加/修改用户
      *
-     * 参数:account 账号 username 用户名(账号使用者的名字)
+     * 参数:account 账号 username 用户名(账号使用者的名字)parentId 创建此用户的创建者id
      * password 密码 ,mobile 手机号 ,roleName 角色名称, companyId 所属公司id
      * flag 0-添加,1-修改
      * @return
@@ -109,7 +110,7 @@ public class UserController {
     public HttpRespMsg deleteUser(User user, HttpServletRequest request,
                                   HttpServletResponse response) {
         HttpRespMsg msg = new HttpRespMsg();
-        msg.data= userService.removeById(user.getId());
+        msg = userService.deleteUser(user);
         return msg;
     }
 

+ 2 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/mapper/CompanyMapper.java

@@ -2,6 +2,7 @@ package com.hssx.cloudmodel.mapper;
 
 import com.hssx.cloudmodel.entity.Company;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.hssx.cloudmodel.entity.User;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -18,5 +19,5 @@ public interface CompanyMapper extends BaseMapper<Company> {
 
     List<Company> getListByKeyName(@Param("keyName") String keyName, @Param("start")Integer start, @Param("pageSize") Integer pageSize);
 
-    List<Company> selectIdAndNamelist();
+    List<Company> selectIdAndNamelist(@Param("user")User user);
 }

+ 2 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/service/CompanyService.java

@@ -2,6 +2,7 @@ package com.hssx.cloudmodel.service;
 
 import com.hssx.cloudmodel.entity.Company;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.hssx.cloudmodel.entity.User;
 import com.hssx.cloudmodel.util.HttpRespMsg;
 import com.hssx.cloudmodel.util.PageUtil;
 
@@ -21,7 +22,7 @@ public interface CompanyService extends IService<Company> {
 
     HttpRespMsg pageList(PageUtil page, String keyName);
 
-    List<Company> getIdAndNamelist();
+    List<Company> getIdAndNamelist(User user);
 
     HttpRespMsg deleteById(Integer id);
 }

+ 2 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/service/UserService.java

@@ -22,4 +22,6 @@ public interface UserService extends IService<User> {
     HttpRespMsg login(User user, HttpServletRequest request);
 
     HttpRespMsg pageList(PageUtil page,Integer companyId,Integer flag,String keyName,User user,Integer roleType);
+
+    HttpRespMsg deleteUser(User user);
 }

+ 2 - 2
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/CompanyServiceImpl.java

@@ -67,8 +67,8 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
     }
 
     @Override
-    public List<Company> getIdAndNamelist() {
-        return companyMapper.selectIdAndNamelist();
+    public List<Company> getIdAndNamelist(User user) {
+        return companyMapper.selectIdAndNamelist(user);
     }
 
     @Override

+ 60 - 9
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/UserServiceImpl.java

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.hssx.cloudmodel.constant.Constant;
-import com.hssx.cloudmodel.entity.Company;
-import com.hssx.cloudmodel.entity.User;
+import com.hssx.cloudmodel.entity.*;
 import com.hssx.cloudmodel.entity.vo.UserVO;
-import com.hssx.cloudmodel.mapper.CompanyMapper;
-import com.hssx.cloudmodel.mapper.UserMapper;
+import com.hssx.cloudmodel.mapper.*;
 import com.hssx.cloudmodel.service.UserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.hssx.cloudmodel.util.HttpRespMsg;
@@ -35,6 +33,12 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     UserMapper userMapper;
     @Autowired
     CompanyMapper companyMapper;
+    @Autowired
+    UserCompanyMapper userCompanyMapper;
+    @Autowired
+    ProjectUserMapper projectUserMapper;
+    @Autowired
+    ProjectMapper projectMapper;
 
     @Override
     public HttpRespMsg login(User user, HttpServletRequest request) {
@@ -64,14 +68,42 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     public HttpRespMsg pageList(PageUtil page, Integer companyId, Integer flag, String keyName, User user, Integer roleType) {
         HttpRespMsg msg = new HttpRespMsg();
         PageHelper.startPage(page.getPageNum(), page.getPageSize());
-        List<UserVO> users = userMapper.selectListByCondition(roleType,companyId,flag, user, keyName);
+        List<UserVO> users = userMapper.selectListByCondition(roleType, companyId, flag, user, keyName);
         PageInfo<UserVO> pageInfos = new PageInfo<>(users);
         msg.data = pageInfos;
         return msg;
     }
 
+    @Override
+    public HttpRespMsg deleteUser(User user) {
+        HttpRespMsg msg = new HttpRespMsg();
+        QueryWrapper<ProjectUser> qw = new QueryWrapper<>();
+        qw.eq("user_id", user.getId());
+        //普通用户应用到项目不能删除
+        Integer count = projectUserMapper.selectCount(qw);
+        if (count > 0) {
+            msg.setError("该用户已被应用到项目,暂不提供删除操作");
+            return msg;
+        }
+        //是项目经理不能删除
+        Integer countProject = projectMapper.selectCount(new QueryWrapper<Project>().eq("manager_id", user.getId()));
+        if(countProject>0){
+            msg.setError("该用户已被应用到项目,暂不提供删除操作");
+            return msg;
+        }
+        //删除用户
+        userMapper.deleteById(user.getId());
+        //删除合作的公司
+        userCompanyMapper.delete(new QueryWrapper<UserCompany>().eq("user_id",user.getId()));
+        return msg;
+    }
+
     @Override
     public HttpRespMsg addAndUpdateUser(User user, Integer flag) {
+        //获取该账号的创建者
+        User parentUser = userMapper.selectById(user.getParentId());
+        //获取admin的用户信息
+        User proParentUser = userMapper.selectById(parentUser.getParentId());
         HttpRespMsg msg = new HttpRespMsg();
         if (flag == 0) {
             //添加角色
@@ -79,21 +111,40 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             qw.eq("account", user.getAccount());
             int count = userMapper.selectCount(qw);
             if (count > 0) {
-                msg.setError("账号已存在,请输入其他账号");
+                User existingUser = userMapper.selectOne(qw);
+                //此时用户已经有了,则建立一条合作公司的关系
+                UserCompany userCompany = new UserCompany();
+                userCompany.setUserId(existingUser.getId());
+                userCompany.setBelongCompanyId(existingUser.getCompanyId());
+                userCompany.setCooperationCompanyId(proParentUser.getCompanyId());
+                QueryWrapper<UserCompany> qWra = new QueryWrapper<>(userCompany);
+                int userCompanyCount = userCompanyMapper.selectCount(qWra);
+                if (count == 0) {
+                    userCompanyMapper.insert(userCompany);
+                }
             } else {
                 //创建账号默认密码"000000"
                 user.setPassword(MD5Util.getPassword(Constant.DEFAULT_PWD));
                 user.setHeadImgurl(UUID.randomUUID().toString().replaceAll("-", ""));
                 //获取角色所属的团体
                 Company company = companyMapper.selectById(user.getCompanyId());
-                if(Constant.ASSETS_COMPANY == company.getCompanyType()){
-                    user.setSubordinateType(Constant.ASSETS_COMPANY );
+                if (Constant.ASSETS_COMPANY == company.getCompanyType()) {
+                    user.setSubordinateType(Constant.ASSETS_COMPANY);
                     user.setTeamName("资产方");
-                }else if(Constant.PRODUCER_COMPANY == company.getCompanyType()){
+                } else if (Constant.PRODUCER_COMPANY == company.getCompanyType()) {
                     user.setSubordinateType(Constant.PRODUCER_COMPANY);
                     user.setTeamName("生产方");
                 }
                 userMapper.insert(user);
+                UserCompany userCompany = new UserCompany();
+                userCompany.setUserId(user.getId());
+                userCompany.setBelongCompanyId(user.getCompanyId());
+                userCompany.setCooperationCompanyId(proParentUser.getCompanyId());
+                QueryWrapper<UserCompany> qWra = new QueryWrapper<>(userCompany);
+                int userCompanyCount = userCompanyMapper.selectCount(qWra);
+                if (count == 0) {
+                    userCompanyMapper.insert(userCompany);
+                }
             }
         } else if (flag == 1) {
             //更新角色信息

+ 1 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/util/CodeGenerator.java

@@ -204,7 +204,7 @@ public class CodeGenerator {
         //若想要生成的实体类继承某个Controller,则可打开下面注释。写上需要继承的Controller的位置即可
 //        strategy.setSuperControllerClass("com.baomidou.ant.common.BaseController");
         //此处user是表名,多个英文逗号分割
-        strategy.setInclude("tb_project");
+        strategy.setInclude("tb_user_company");
 //        strategy.setExclude();//数据库表全生成
 //        strategy.setInclude(scanner("user").split(","));//表名,多个英文逗号分割
         strategy.setControllerMappingHyphenStyle(true);

+ 1 - 1
cloud-model/src/main/resources/mapper/CompanyMapper.xml

@@ -29,7 +29,7 @@
     </select>
     <select id="selectIdAndNamelist" resultMap="BaseResultMap">
         select
-          id, company_name
+          id, company_name,company_type
         from
           tb_company
     </select>

+ 15 - 4
cloud-model/src/test/java/com/hssx/cloudmodel/CloudModelApplicationTests.java

@@ -1,6 +1,8 @@
 package com.hssx.cloudmodel;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.hssx.cloudmodel.entity.User;
+import com.hssx.cloudmodel.mapper.UserMapper;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,13 +16,22 @@ import java.util.List;
 public class CloudModelApplicationTests {
 //    @Autowired
 //    private RoleService roleService;
-//    @Test
-//    public void contextLoads() {
-//        //mybatis-plus只查询特定字段的测试
+
+    @Autowired
+    UserMapper userMapper;
+    @Test
+    public void contextLoads() {
+//        User user = new User();
+//        user.setAccount("123456789");
+//        userMapper.insert(user);
+//        System.out.println(user);
+        //mybatis-plus只查询特定字段的测试
 //        QueryWrapper<Role> queryWrapper = new QueryWrapper<>();
 //        queryWrapper.select("id", "role_name");
 //        List<Role> list = roleService.list(queryWrapper);
 //        System.out.println(list);
-//    }
+    }
+
+
 
 }