//package com.ydtech.modules.esm.controller; // // //import com.ydtech.core.page.HttpResult; //import com.ydtech.core.page.PageRequest; //import com.ydtech.modules.admin.model.SysUser; //import com.ydtech.modules.admin.model.SysUserRole; //import com.ydtech.modules.admin.service.SysMsgLogService; //import com.ydtech.modules.admin.service.SysUserRoleService; //import com.ydtech.modules.admin.service.SysUserService; //import com.ydtech.modules.base.controller.BaseController; //import com.ydtech.modules.esm.model.EsmUserInternal; //import com.ydtech.modules.esm.model.vo.UserRegistVO; //import com.ydtech.modules.esm.service.EsmUserInternalService; //import com.ydtech.modules.esm.service.SysUserCheckService; //import com.ydtech.security.utils.PasswordUtils; //import com.ydtech.utils.StringUtils; //import com.ydtech.utils.idgen.IdGenerate; //import io.swagger.annotations.ApiOperation; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.data.redis.core.StringRedisTemplate; //import org.springframework.web.bind.annotation.*; // //import javax.servlet.http.HttpServletRequest; //import java.util.Date; // //import static com.ydtech.constants.RedisConstant.PHONE_VERIFICATION_CODE_KEY; // ///** // * --------------------------- // * 人员管理 (EsmUserController) // * --------------------------- // * 作者:qfl // * --------------------------- // */ //@RestController //@RequestMapping("esmUserInternalcheck") //public class EsmUserInternalCheckController extends BaseController { // // // @Autowired // private SysUserCheckService sysUserCheckService; // // @Autowired // private SysUserService sysUserService; // //// @Autowired //// private EsmUserInternalCheckService esmUserInternalCheckService; // // @Autowired // private EsmUserInternalService esmUserInternalService; // //// @Autowired //// private EsmUserAgentCheckService esmUserAgentCheckService; // // @Autowired // private SysMsgLogService sysMsgLogService; // // @Autowired // private SysUserRoleService sysUserRoleService; // // @Autowired // private StringRedisTemplate stringRedisTemplate; // //// /** //// * 保存人员信息, 返回人员编码 //// * //// * @param record //// * @return //// */ ////// @PreAuthorize("hasAuthority('sys:user:edit')") //// @PostMapping(value = "/saveUser") //// public HttpResult save(@RequestBody VoEsmUserInternalCheck record) { //// int noCount = 3;//顺序号是几位的 //// //// Integer result = 0; //// String resultStr = ""; //// String msg = "保存成功"; //// SysUserCheck sysUserCheck = record.getSysUser(); //// EsmUserInternalCheck esmUserInternalCheck = record.getEsmUserInternal(); //// //// String nextPK = "001"; //// if (sysUserCheck != null) { //// if (StringUtils.isNullOrEmpty(sysUserCheck.getId())) {//新增 //// //手机号和身份证号都不可以重复 //// if (!StringUtils.isNullOrEmpty(sysUserCheck.getMobile())) { //// SysUser sysUser = sysUserService.findByPhone(sysUserCheck.getMobile()); //// if (sysUser != null) { //// return HttpResult.error("手机号已存在"); //// } //// } //// /* if(!StringUtils.isNullOrEmpty(esmUserInternalCheck.getIdentity())){ //// List users = esmUserInternalCheckService.selectList(" where identity=?",new Object[]{esmUserInternalCheck.getIdentity()}); //// if(users != null && users.size()>0){ //// return HttpResult.error("身份证号已存在"); //// } //// }*/ //// //// //生成临时表主键 checkid //// String checkid = String.valueOf(new Date().getTime()); //// sysUserCheck.setCheckid(checkid); //// //根据机构号获取userid最大值,不需要加人员类型判断 从sys_user获取 //// String maxId = esmUserInternalService.findMaxId(sysUserCheck.getDeptId()); //// if (StringUtils.isNullOrEmpty(maxId)) { //// nextPK = sysUserCheck.getDeptId() + "001"; //// } else { //// nextPK = IdGenerate.nextCode(maxId, noCount); //// } //// sysUserCheck.setId(nextPK); //// //密码加密 //// String salt = PasswordUtils.getSalt(); //// String password = PasswordUtils.encode(sysUserCheck.getPassword(), salt); //// sysUserCheck.setPassword(password); //// sysUserCheck.setSalt(salt); //// sysUserCheck.setStatus(0); //初始化为0 审核后为1 有效 //// //// sysUserCheck.setCreateBy(getUserName()); //// sysUserCheck.setCreateTime(new Date()); //// sysUserCheck.setLastUpdateBy(getUserName()); //// sysUserCheck.setLastUpdateTime(new Date()); //// result = sysUserCheckService.insertSelective(sysUserCheck); //// //// // 插入正式表 //// SysUser sysUser = new SysUser(); //// BeanUtils.copyProperties(sysUserCheck, sysUser); //// result = sysUserService.save(sysUser)==true?1:0; //// //// //角色配置 //// SysUserRole userRole = new SysUserRole(); //// userRole.setUserId(nextPK); //// userRole.setRoleId(2L); //// sysUserRoleService.save(userRole); //// //// if (esmUserInternalCheck != null) { //// esmUserInternalCheck.setCheckid(checkid); //// esmUserInternalCheck.setId(nextPK); //// esmUserInternalCheck.setStatus("0"); //0 申请审核 1 审核通过 2 审核不通过 3 退回修改 //// result = esmUserInternalCheckService.insertSelective(esmUserInternalCheck); //// } //// EsmUserAgentCheck esmUserAgentCheck = record.getEsmUserAgent(); //// if (esmUserAgentCheck != null) { //// esmUserAgentCheck.setCheckid(checkid); //// esmUserAgentCheck.setId(nextPK); //// result = esmUserAgentCheckService.insertSelective(esmUserAgentCheck); //// } //// } else if (StringUtils.isNullOrEmpty(sysUserCheck.getCheckid())) { //修改正式信息后提交 //// if (!StringUtils.isNullOrEmpty(sysUserCheck.getMobile())) { ////// List users = sysUserService.selectList(" where id != ? and mobile=?", new Object[]{sysUserCheck.getId(), sysUserCheck.getMobile()}); //// LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); //// lqw.ne(SysUser::getId,sysUserCheck.getId()); //// lqw.eq(SysUser::getMobile,sysUserCheck.getMobile()); //// List users = sysUserService.list(lqw); //// if (users != null && users.size() > 0) { //// return HttpResult.error("手机号已存在"); //// } //// } //// if (!StringUtils.isNullOrEmpty(esmUserInternalCheck.getIdentity())) { //// List users = esmUserInternalCheckService.selectList(" where id != ? and identity=?", new Object[]{sysUserCheck.getId(), esmUserInternalCheck.getIdentity()}); //// if (users != null && users.size() > 0) { //// return HttpResult.error("身份证号已存在"); //// } //// } //// //生成临时表主键 checkid //// String checkid = String.valueOf(new Date().getTime()); //// sysUserCheck.setCheckid(checkid); //// //// sysUserCheck.setStatus(0); //初始化为0 审核后为1 有效 //// //// sysUserCheck.setCreateBy(getUserName()); //// sysUserCheck.setCreateTime(new Date()); //// sysUserCheck.setLastUpdateBy(getUserName()); //// sysUserCheck.setLastUpdateTime(new Date()); //// result = sysUserCheckService.insertSelective(sysUserCheck); //// //// if (esmUserInternalCheck != null) { //// esmUserInternalCheck.setCheckid(checkid); //// esmUserInternalCheck.setStatus("0"); //0 申请审核 1 审核通过 2 审核不通过 3 退回修改 //// result = esmUserInternalCheckService.insertSelective(esmUserInternalCheck); //// } //// EsmUserAgentCheck esmUserAgentCheck = record.getEsmUserAgent(); //// if (esmUserAgentCheck != null) { //// esmUserAgentCheck.setCheckid(checkid); //// result = esmUserAgentCheckService.insertSelective(esmUserAgentCheck); //// } //// } else {// 退回修改后重新提交 //// if (!StringUtils.isNullOrEmpty(sysUserCheck.getMobile())) { //// LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); //// lqw.ne(SysUser::getId,sysUserCheck.getId()); //// lqw.eq(SysUser::getMobile,sysUserCheck.getMobile()); //// List users = sysUserService.list(lqw); ////// List users = sysUserService.selectList(" where id != ? and mobile=?", new Object[]{sysUserCheck.getId(), sysUserCheck.getMobile()}); //// if (users != null && users.size() > 0) { //// return HttpResult.error("手机号已存在"); //// } //// } //// if (!StringUtils.isNullOrEmpty(esmUserInternalCheck.getIdentity())) { //// List users = esmUserInternalCheckService.selectList(" where id != ? and identity=?", new Object[]{sysUserCheck.getId(), esmUserInternalCheck.getIdentity()}); //// if (users != null && users.size() > 0) { //// return HttpResult.error("身份证号已存在"); //// } //// } //// sysUserCheck.setStatus(0); //初始化为0 审核后为1 有效 //// sysUserCheck.setLastUpdateBy(getUserName()); //// sysUserCheck.setLastUpdateTime(new Date()); //// result = sysUserCheckService.updateSelective(sysUserCheck); //// //// //// if (esmUserInternalCheck != null) { //// esmUserInternalCheck.setStatus("0"); //0 申请审核 1 审核通过 2 审核不通过 3 退回修改 //// result = esmUserInternalCheckService.updateSelective(esmUserInternalCheck); //// } //// EsmUserAgentCheck esmUserAgentCheck = record.getEsmUserAgent(); //// if (esmUserAgentCheck != null) { //// result = esmUserAgentCheckService.updateSelective(esmUserAgentCheck); //// } //// } //// //// } //// //返回人员编号给前端 20200506 //// if (result == 1) { //// resultStr = sysUserCheck.getId(); //// } //// //// return HttpResult.ok(msg, resultStr); //// } // // @ApiOperation("人员审核 传入人员编码和审核状态: 0 申请审核 1 审核通过 2 审核不通过 3 退回修改") // @GetMapping(value = "/check") // public HttpResult check(@RequestParam String checkid, @RequestParam String status, String remark) { // //得到操作用户 // String userName = getUserName(); // // String res = "更新成功"; // boolean boo = sysUserService.check(checkid, Integer.parseInt(status), remark); // // if (!boo) { // res = "更新失败"; // } // // return HttpResult.ok(res); // } // // /** // * 基础分页查询 // * // * @param pageRequest // * @return // */ // @PostMapping(value = "/findPage") // public HttpResult findPage(@RequestBody PageRequest pageRequest) { // // return HttpResult.ok(sysUserService.gainUserPage(pageRequest)); // } // //// /** //// * 根据主键查询 //// * //// * @param checkid //// * @return //// */ //// @ApiOperation("根据主键查询需要审核的人员信息") //// @GetMapping(value = "/findById") //// public HttpResult findById(@RequestParam String checkid) { //// SysUserCheck sysUser = sysUserCheckService.selectByPk(checkid); //// if (sysUser != null) { //// sysUser.setPassword(""); //// sysUser.setSalt(""); //// } //// EsmUserInternalCheck esmUserInternal = esmUserInternalCheckService.selectByPk(checkid); //// EsmUserAgentCheck esmUserAgent = esmUserAgentCheckService.selectByPk(checkid); //// //// VoEsmUserInternalCheck voEsmUserInternal = new VoEsmUserInternalCheck(); //// voEsmUserInternal.setSysUser(sysUser); //// voEsmUserInternal.setEsmUserInternal(esmUserInternal); //// voEsmUserInternal.setEsmUserAgent(esmUserAgent); //// //// return HttpResult.ok(voEsmUserInternal); //// } //// // // /** // * 个代注册 // * // * @param record // * @return // */ // @PostMapping(value = "/userRegist") // public HttpResult userRegist(HttpServletRequest request, @RequestBody UserRegistVO record) { // int noCount = 3;//顺序号是几位的 // Integer result = 0; // String resultStr = ""; // // String phoneMsg = record.getPhoneMsg(); // if (StringUtils.isNullOrEmpty(phoneMsg)) { // return HttpResult.error("短信验证码不能为空"); // } // // 从session中获取之前保存的短信验证码跟前台传来的验证码进行匹配 //// Object msg = request.getSession().getAttribute("PHONE_SESSION_KEY"); // //从数据库获取最新验证码 // String msg = stringRedisTemplate.opsForValue().get(PHONE_VERIFICATION_CODE_KEY + record.getPhone()); // // if (msg == null || msg.length() == 0) { // return HttpResult.error("短信验证码发送失败"); // } // // if (!phoneMsg.equals(msg)) { // return HttpResult.error("短信验证码不正确"); // } // String recommenderid = record.getRecommenderid(); // if (StringUtils.isNullOrEmpty(recommenderid)) { // return HttpResult.error("推荐人ID不能为空"); // } // SysUser recommender = sysUserService.getById(recommenderid); // if (recommender == null) { // return HttpResult.error("推荐人信息不存在"); // } // // SysUser sysUser = sysUserService.findByPhone(record.getPhone()); // if (sysUser != null) { // return HttpResult.error("手机号已存在"); // } //// SysUserCheck sysUserCheck = new SysUserCheck(); //// EsmUserInternalCheck esmUserInternalCheck = new EsmUserInternalCheck(); // EsmUserInternal esmUserInternal = new EsmUserInternal(); // String nextPK = "001"; // //生成临时表主键 checkid //// String checkid = String.valueOf(new Date().getTime()); //// sysUserCheck.setCheckid(checkid); // //根据机构号获取userid最大值,不需要加人员类型判断 从sys_user获取 // String maxId = sysUserService.findMaxId(recommender.getDeptId()); // if (StringUtils.isNullOrEmpty(maxId)) { // nextPK = recommender.getDeptId() + "001"; // } else { // nextPK = IdGenerate.nextCode(maxId, noCount); // } //// sysUserCheck.setId(nextPK); // if (record.getName() != null && !record.getName().equals("")) { //// sysUserCheck.setName(record.getName()); // // esmUserInternal.setAddressnow(record.getAddressnow()); // esmUserInternal.setIdentity(record.getIdentity()); // esmUserInternal.setId(nextPK); //// esmUserInternalCheck.setAddressnow(record.getAddressnow()); //// esmUserInternalCheck.setIdentity(record.getIdentity()); // } else { // sysUser.setName("游客"); // } // sysUser.setUsertype("2"); //个代 // sysUser.setMobile(record.getPhone()); // sysUser.setDeptId(recommender.getDeptId()); // //密码加密 // String salt = PasswordUtils.getSalt(); // String password = PasswordUtils.encode(record.getPassword(), salt); // sysUser.setPassword(password); // sysUser.setSalt(salt); // sysUser.setStatus(2); //1:正常 0:离司 2:新注册 审核后为1 // // sysUser.setCreateBy(nextPK); // sysUser.setCreateTime(new Date()); // sysUser.setLastUpdateBy(nextPK); // sysUser.setLastUpdateTime(new Date()); // // result = sysUserService.save(sysUser) == true ? 1 : 0; // // //角色配置 // SysUserRole userRole = new SysUserRole(); // userRole.setUserId(nextPK); // userRole.setRoleId(2L); // sysUserRoleService.save(userRole); // // // //返回人员编号给前端 20200506 // if (result == 1) { // resultStr = sysUser.getId(); // } // // return HttpResult.ok("保存成功", resultStr); // } //// /** //// * 个代注册 //// * //// * @param record //// * @return //// */ //// @PostMapping(value = "/userRegist") //// public HttpResult userRegist(HttpServletRequest request, @RequestBody UserRegistVO record) { //// int noCount = 3;//顺序号是几位的 //// Integer result = 0; //// String resultStr = ""; //// //// String phoneMsg = record.getPhoneMsg(); //// if (StringUtils.isNullOrEmpty(phoneMsg)) { //// return HttpResult.error("短信验证码不能为空"); //// } //// // 从session中获取之前保存的短信验证码跟前台传来的验证码进行匹配 ////// Object msg = request.getSession().getAttribute("PHONE_SESSION_KEY"); //// //从数据库获取最新验证码 //// String msg = stringRedisTemplate.opsForValue().get(PHONE_VERIFICATION_CODE_KEY + record.getPhone()); //// //// if (msg == null || msg.length() == 0) { //// return HttpResult.error("短信验证码发送失败"); //// } //// //// if (!phoneMsg.equals(msg)) { //// return HttpResult.error("短信验证码不正确"); //// } //// String recommenderid = record.getRecommenderid(); //// if (StringUtils.isNullOrEmpty(recommenderid)) { //// return HttpResult.error("推荐人ID不能为空"); //// } //// SysUser recommender = sysUserService.getById(recommenderid); //// if (recommender == null) { //// return HttpResult.error("推荐人信息不存在"); //// } //// //// SysUser sysUser = sysUserService.findByPhone(record.getPhone()); //// if (sysUser != null) { //// return HttpResult.error("手机号已存在"); //// } //// SysUserCheck sysUserCheck = new SysUserCheck(); //// EsmUserInternalCheck esmUserInternalCheck = new EsmUserInternalCheck(); //// EsmUserInternal esmUserInternal = new EsmUserInternal(); //// String nextPK = "001"; //// //生成临时表主键 checkid //// String checkid = String.valueOf(new Date().getTime()); //// sysUserCheck.setCheckid(checkid); //// //根据机构号获取userid最大值,不需要加人员类型判断 从sys_user获取 //// String maxId = esmUserInternalService.findMaxId(recommender.getDeptId()); //// if (StringUtils.isNullOrEmpty(maxId)) { //// nextPK = recommender.getDeptId() + "001"; //// } else { //// nextPK = IdGenerate.nextCode(maxId, noCount); //// } //// sysUserCheck.setId(nextPK); //// if (record.getName() != null && !record.getName().equals("")) { //// sysUserCheck.setName(record.getName()); //// //// esmUserInternal.setAddressnow(record.getAddressnow()); //// esmUserInternal.setIdentity(record.getIdentity()); //// esmUserInternal.setId(sysUserCheck.getId()); //// esmUserInternalCheck.setAddressnow(record.getAddressnow()); //// esmUserInternalCheck.setIdentity(record.getIdentity()); //// } else { //// sysUserCheck.setName("游客"); //// } //// sysUserCheck.setUsertype("B"); //个代 //// sysUserCheck.setMobile(record.getPhone()); //// sysUserCheck.setDeptId(recommender.getDeptId()); //// //密码加密 //// String salt = PasswordUtils.getSalt(); //// String password = PasswordUtils.encode(record.getPassword(), salt); //// sysUserCheck.setPassword(password); //// sysUserCheck.setSalt(salt); //// sysUserCheck.setStatus(2); //1:正常 0:离司 2:新注册 审核后为1 //// //// sysUserCheck.setCreateBy(nextPK); //// sysUserCheck.setCreateTime(new Date()); //// sysUserCheck.setLastUpdateBy(nextPK); //// sysUserCheck.setLastUpdateTime(new Date()); //// result = sysUserCheckService.insertSelective(sysUserCheck); //// //// // 插入正式表 //// sysUser = new SysUser(); //// BeanUtils.copyProperties(sysUserCheck, sysUser); //// result = sysUserService.save(sysUser)==true?1:0; //// //// //角色配置 //// SysUserRole userRole = new SysUserRole(); //// userRole.setUserId(nextPK); //// userRole.setRoleId(2L); //// sysUserRoleService.save(userRole); //// //// esmUserInternalCheck.setCheckid(checkid); //// esmUserInternalCheck.setId(nextPK); //// esmUserInternalCheck.setIsteamleader("0"); //// esmUserInternalCheck.setStatus("0"); //0 申请审核 1 审核通过 2 审核不通过 3 退回修改 //// result = esmUserInternalCheckService.insertSelective(esmUserInternalCheck); //// //// EsmUserAgentCheck esmUserAgentCheck = new EsmUserAgentCheck(); //// esmUserAgentCheck.setCheckid(checkid); //// esmUserAgentCheck.setId(nextPK); //// esmUserAgentCheck.setRecommenderid(recommenderid); //// esmUserAgentCheck.setRecommendername(record.getRecommendername()); //// result = esmUserAgentCheckService.insertSelective(esmUserAgentCheck); //// if (record.getName() != null && !record.getName().equals("")) { //// esmUserInternal.setId(sysUserCheck.getId()); //// esmUserInternalService.updateSelective(esmUserInternal); //// //// } //// //返回人员编号给前端 20200506 //// if (result == 1) { //// resultStr = sysUserCheck.getId(); //// } //// //// return HttpResult.ok("保存成功", resultStr); //// } //// //// @PostMapping(value = "/updateName") //// public HttpResult updateName(HttpServletRequest request, @RequestBody EsmUserCheck record) { //// //得到操作用户 //// String res = "更新成功"; //// SysUser sysUser = sysUserService.getById(record.getId()); //// EsmUserInternal esmUserInternal = new EsmUserInternal(); //// esmUserInternal.setAddressnow(record.getAddressnow()); //// esmUserInternal.setIdentity(record.getIdentity()); //// esmUserInternal.setId(record.getId()); //// //// sysUser.setName(record.getNamespecial()); //// sysUser.setId(record.getId()); //// sysUserService.updateById(sysUser); //// Integer integer = esmUserInternalService.updateSelective(esmUserInternal); //// if (integer != 1) { //// res = "更新失败"; //// } //// //// return HttpResult.ok("200", res); //// } //}