智慧保安后台管理-外网项目备份
tangzy
2021-08-14 d137f02f4d66dcec2f3af84949fc250c78ea7ce6
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -24,6 +24,7 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.alibaba.fastjson.JSON;
import lombok.AllArgsConstructor;
import org.springblade.common.cache.DictCache;
import org.springblade.common.enums.DictEnum;
@@ -44,12 +45,16 @@
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.DigestUtil;
import org.springblade.core.tool.utils.StringPool;
import org.springblade.modules.experience.entity.Experience;
import org.springblade.modules.experience.service.IExperienceService;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.entity.Role;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.excel.UserImporter;
import org.springblade.modules.system.node.TreeNode;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IRoleService;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.vo.DeptVO;
import org.springblade.modules.system.vo.UserVO;
@@ -81,6 +86,8 @@
   private final IUserService userService;
   private final IDeptService iDeptService;
   private final IRoleService roleService;
   private final IExperienceService experienceService;
   /**
    * 查询单条
@@ -399,30 +406,60 @@
      return R.data(list);
   }
   @GetMapping("/zc")
   public R zc(String deptname,String username,String password,String sname,String phone) {
      Dept dept = new Dept();
      Long i = 1426355050199945218L;
      dept.setParentId(i);
      dept.setTenantId("000000");
      dept.setDeptName(deptname);
      dept.setAncestors("0,1426354978959691778,1426355050199945218");
      dept.setDeptCategory(1);
   public R zc(String username,String password) {
      User user = new User();
      user.setAccount(username);
      user.setPassword(DigestUtil.encrypt(password));
      user.setRealName(sname);
      user.setPhone(phone);
      if (iDeptService.submit(dept)) {
         CacheUtil.clear(SYS_CACHE);
         // 返回懒加载树更新节点所需字段
         Kv kv = Kv.create().set("id", String.valueOf(dept.getId())).set("tenantId", dept.getTenantId())
            .set("deptCategoryName", DictCache.getValue(DictEnum.ORG_CATEGORY, dept.getDeptCategory()));
         String id = kv.get("id").toString();
         user.setDeptId(id);
      }
      userService.saveOrUpdate(user);
      return R.success("注册成功");
   }
   /**
    * 保安员新增
    */
   @PostMapping("/securitySave")
   public R securitySave(@Valid @RequestBody Map<String,Object> userMap){
      //获取user
      User user = JSON.parseObject(JSON.toJSONString(userMap.get("user")),User.class);
      //判断是否为空
      if (null!=user.getHold()){
         //持证
         if (user.getHold().equals("1")){
            //分配保安角色
            Role role = new Role();
            role.setRoleAlias("保安");
            Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
            user.setRoleId(oneRole.getId().toString());
         }
         //未持证
         if (user.getHold().equals("2")){
            //分配未持证保安角色
            Role role = new Role();
            role.setRoleAlias("未持证保安");
            Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
            user.setRoleId(oneRole.getId().toString());
         }
      }
      //用户新增
      boolean status = userService.save(user);
      //获取从业记录
      List<Experience> experiences = (List<Experience>) userMap.get("userPractitionersInfo");
      if (experiences.size()>0){
         int count = 0;
         for (int i = 0; i < experiences.size(); i++) {
            Experience e = JSON.parseObject(JSON.toJSONString(experiences.get(i)), Experience.class);
            e.setSecurityid(user.getId().toString());
            experienceService.save(e);
            count++;
         }
         if (count < 1) {
            return R.status(false);
         }
      }
      //判断是否持证是否为空
      return R.status(status);
   }
}