| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750 |
- package com.ydtech.modules.admin.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.ydtech.constants.SysConstants;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.core.page.PageRequest;
- import com.ydtech.core.page.PageResult;
- import com.ydtech.exception.SystemException;
- import com.ydtech.modules.admin.model.*;
- import com.ydtech.modules.admin.model.dto.AgentUserDto;
- import com.ydtech.modules.admin.model.dto.SysUserDto;
- import com.ydtech.modules.admin.model.vo.*;
- import com.ydtech.modules.admin.service.*;
- import com.ydtech.modules.base.controller.BaseController;
- import com.ydtech.modules.base.model.dto.BaseDto;
- import com.ydtech.modules.base.model.dto.PageDto;
- import com.ydtech.modules.base.model.vo.PageVo;
- import com.ydtech.modules.esm.model.EsmUserReferrer;
- import com.ydtech.modules.esm.model.vo.EsmUserImageQueryVo;
- import com.ydtech.modules.esm.service.EsmUserImageService;
- import com.ydtech.modules.esm.service.EsmUserReferrerService;
- import com.ydtech.modules.protocol.utils.AssertionUtils;
- import com.ydtech.security.utils.PasswordUtils;
- import com.ydtech.utils.StringUtils;
- import com.ydtech.utils.excel.ExcelEasypoiUtils;
- import com.ydtech.utils.idgen.IdGenerate;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import lombok.RequiredArgsConstructor;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.util.ObjectUtils;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import javax.validation.Valid;
- import java.io.IOException;
- import java.util.Date;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * 用户控制器
- *
- * @author Yasepix
- * @date Oct 29, 2018
- */
- @RestController
- @Api(tags = "用户控制器")
- @RequestMapping("user")
- @RequiredArgsConstructor
- public class SysUserController extends BaseController {
- private final SysUserService sysUserService;
- private final SysUserRoleService sysUserRoleService;
- private final SysDeptService sysDeptService;
- private final SysUserInfoService sysUserInfoService;
- private final EsmUserReferrerService esmUserReferrerService;
- private final SysRoleService sysRoleService;
- private final EsmUserImageService esmUserImageService;
- // @PreAuthorize("hasAuthority('sys:user:delete')")
- @ApiOperation(value = "逻辑删除")
- @PostMapping(value = "/deleteFlag")
- public HttpResult deleteFlag(@RequestBody List<SysUser> records) {
- for (SysUser record : records) {
- SysUser sysUser = sysUserService.getById(record.getId());
- if (sysUser != null && SysConstants.ADMIN.equalsIgnoreCase(sysUser.getName())) {
- return HttpResult.error("超级管理员不允许删除!");
- }
- }
- return HttpResult.ok(sysUserService.deleteFlag(records));
- }
- // @PreAuthorize("hasAuthority('sys:user:view')")
- @GetMapping(value = "/findByName")
- public HttpResult findByUserName(@RequestParam String name) {
- return HttpResult.ok(sysUserService.getById(name));
- }
- // @PreAuthorize("hasAuthority('sys:user:view')")
- @GetMapping(value = "/findPermissions")
- public HttpResult findPermissions(@RequestParam String name) {
- SysUser sysUser = new SysUser();
- sysUser.setId(name);
- return HttpResult.ok(sysUserService.findPermissions(sysUser));
- }
- // @PreAuthorize("hasAuthority('sys:user:view')")
- @GetMapping(value = "/findUserRoles")
- public HttpResult findUserRoles(@RequestParam Long userId) {
- return HttpResult.ok(sysUserService.findUserRoles(userId));
- }
- /**
- * 用户角色分页查询
- *
- * @param pageRequest
- * @return
- */
- @PostMapping(value = "/queryPage")
- public HttpResult queryPage(@RequestBody PageRequest pageRequest) {
- String deptid = pageRequest.getColumnFilterValue(pageRequest, "deptid");
- String name = pageRequest.getColumnFilterValue(pageRequest, "name");
- String containsSubDept = pageRequest.getColumnFilterValue(pageRequest, "containsSubDept");
- String mobile = pageRequest.getColumnFilterValue(pageRequest, "mobile");
- SysUser sysUser = new SysUser();
- sysUser.setDeptId(deptid);
- sysUser.setName(name);
- sysUser.setMobile(mobile);
- Page page = PageRequest.buildPageRequest(pageRequest);
- IPage<SysUser> pResult = sysUserService.selectUserPage(page, sysUser, containsSubDept);
- //传入查询条件
- PageResult pageResult = PageResult.buildPageResult(pResult);
- return HttpResult.ok(pageResult);
- }
- /**
- * 配置用户角色
- *
- * @param userId
- * @param roleId
- * @return
- */
- @PostMapping(value = "/saveUserRole")
- @Transactional
- public HttpResult saveUserRole(@RequestParam String userId, @RequestParam String roleId) {
- SysUserRole userRole = new SysUserRole();
- // List<SysUserRole> list = sysUserRoleService.selectList(" where user_id=?", new Object[]{userId});
- sysUserRoleService.deleteByUserId(userId);
- userRole = new SysUserRole();
- userRole.setUserId(userId);
- userRole.setRoleId(Long.parseLong(roleId));
- userRole.setCreateBy(getUserName());
- userRole.setCreateTime(new Date());
- sysUserRoleService.save(userRole);
- return HttpResult.ok();
- }
- @ApiOperation(value = "获取用户综合信息")
- @PostMapping(value = "/gainUserSynthesisInfo/{userId}")
- public HttpResult gainUserSynthesisInfo(@PathVariable String userId) {
- return HttpResult.ok(sysUserService.gainUserSynthesisInfo(userId));
- }
- /**
- * Used
- *
- * @author: lig
- * @date: 2023年05月10日 0010
- */
- // @PreAuthorize("hasAuthority('sys:user:view')")
- @PostMapping(value = "/findPageUsed")
- @Deprecated
- public HttpResult findPageUsed(@RequestBody PageRequest pageRequest) {
- //return HttpResult.ok(sysUserService.findPage(pageRequest));
- int pageNum = pageRequest.getPageNum();
- int pageSize = pageRequest.getPageSize();
- String name = pageRequest.getColumnFilterValue(pageRequest, "name");
- // String email = pageRequest.getColumnFilterValue(pageRequest, "email");
- //需要处理传入的部门
- PageResult pageResult = sysUserService.selectPagingCustom(pageNum, pageSize, name, "");
- sysUserService.findSysUseresmUserInternalVORoles(pageResult);
- return HttpResult.ok(pageResult);
- }
- /**
- * 密码修改
- *
- * @param id
- * @param password
- * @return
- */
- @PostMapping(value = "/updatePwd")
- public HttpResult updatePwd(@RequestParam String id, @RequestParam String password) {
- if (StringUtils.isEmpty(id) || StringUtils.isEmpty(password)) {
- return HttpResult.error("ID和密码不能为空");
- }
- SysUser sysUser = sysUserService.getById(id);
- if (sysUser == null) {
- return HttpResult.error("ID不存在");
- }
- //密码加密
- String salt = PasswordUtils.getSalt();
- String pwd = PasswordUtils.encode(password, sysUser.getSalt());
- sysUser.setPassword(pwd);
- sysUserService.updateById(sysUser);
- return HttpResult.ok("修改成功");
- }
- /**
- * 手机号更新
- *
- * @param id
- * @param mobile
- * @return
- */
- @PostMapping(value = "/updateMobile")
- public HttpResult updateMobile(@RequestParam String id, @RequestParam String mobile) {
- if (StringUtils.isEmpty(id) || StringUtils.isEmpty(mobile)) {
- return HttpResult.error("ID和手机号不能为空");
- }
- SysUser sysUser = sysUserService.getById(id);
- if (sysUser == null) {
- return HttpResult.error("ID不存在");
- }
- LambdaQueryWrapper<SysUser> lqw = new LambdaQueryWrapper<>();
- lqw.ne(SysUser::getId, id);
- lqw.eq(SysUser::getMobile, mobile);
- List<SysUser> users = sysUserService.list(lqw);
- // List<SysUser> users = sysUserService.selectList(" where id != ? and mobile=?", new Object[]{id, mobile});
- if (users != null && users.size() > 0) {
- return HttpResult.error("手机号已存在");
- }
- sysUser.setMobile(mobile);
- sysUserService.updateById(sysUser);
- return HttpResult.ok("修改成功");
- }
- /**
- * 根据工号查询推荐人信息
- *
- * @param id
- * @return
- */
- @GetMapping(value = "/findById")
- public HttpResult findByUserId(@RequestParam String id) {
- SysUser sysUser = sysUserService.getById(id);
- SysUserVO sysUserVO = new SysUserVO();
- sysUserVO = sysUserService.gainUserInternal(id);
- // SysUserVO sysUserVO = sysUserService.selectById(id);
- if (sysUserVO != null) {
- return HttpResult.ok(sysUserVO);
- }
- throw new SystemException("没有推荐人");
- }
- /**
- * 根据部门ID查询该部门的团队长信息
- *
- * @param deptId
- * @return
- */
- @GetMapping(value = "/selectByDeptId")
- public HttpResult selectByDeptId(String deptId) {
- return HttpResult.ok(sysUserService.gainUserInternalByDeptId(deptId));
- // return HttpResult.ok(sysUserService.selectByDeptId(deptId));
- }
- /**
- * 根据部门id查询该部门的推荐人信息
- */
- @GetMapping("/selectfindByreferrerId")
- public HttpResult findByReferrerId(@Valid String deptId) {
- return HttpResult.ok(sysUserService.findByReferrerId(deptId));
- }
- // /**
- // * 审批
- // *
- // * @param userId
- // * @param status 审批
- // * @return
- // */
- // @ApiOperation(value = "审批")
- // @ApiImplicitParams({
- // @ApiImplicitParam(name = "userId", value = "用户ID")
- // , @ApiImplicitParam(name = "status", value = "审批状态")
- // })
- // @GetMapping(value = "/approval")
- // public HttpResult approval(@RequestParam String userId, @RequestParam String status) {
- //
- // LambdaUpdateWrapper<SysUser> luw = new LambdaUpdateWrapper();
- // luw.eq(SysUser::getId, userId);
- // luw.set(SysUser::getApprovalStatus, status);
- //
- // return HttpResult.ok(sysUserService.update(luw));
- //
- // }
- //======================== 重构新接口
- /**
- * @author: lig
- * @date: 2023年06月30日 0030
- */
- @ApiOperation(value = "(重构)保存或更新")
- @PostMapping(value = "/saveOrUpdate")
- @Transactional
- public HttpResult saveOrUpdate(@RequestBody SysUser sysUser) {
- if (StringUtils.isNullOrEmpty(sysUser.getMobile())) {
- return HttpResult.error("手机不能为空");
- }
- if (StringUtils.isNullOrEmpty(sysUser.getDeptId())) {
- return HttpResult.error("机构ID不能为空");
- }
- //处理密码
- if (StringUtils.isNotEmpty(sysUser.getPassword())) {
- String salt = PasswordUtils.getSalt();
- String pwd = PasswordUtils.encode(sysUser.getPassword(), salt);
- sysUser.setPassword(pwd);
- sysUser.setSalt(salt);
- }
- sysUserService.saveUser(sysUser);
- return HttpResult.ok(sysUser);
- }
- @ApiOperation(value = "(重构)逻辑删除")
- @PostMapping(value = "/logicDeleteBatch")
- public HttpResult logicDeleteBatch(@RequestBody List<String> userIds) {
- if (null != userIds && userIds.size() > 0) {
- LambdaUpdateWrapper<SysUser> luw = new LambdaUpdateWrapper<>();
- luw.set(SysUser::getStatus, "0");
- luw.in(SysUser::getId, userIds);
- sysUserService.update(luw);
- return HttpResult.ok();
- }
- return HttpResult.error("请正确选择参数");
- }
- @ApiOperation(value = "(重构)用户查询分页")
- @PostMapping(value = "/findPage")
- public HttpResult<PageVo<SysUserBaseVO>> findPage(@RequestBody PageDto<SysUserDto> pageDto) {
- return HttpResult.ok(sysUserService.gainUserPage(pageDto));
- }
- @ApiOperation(value = "(重构)审批通过")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "userId", value = "用户ID")
- })
- @GetMapping(value = "/approvalPass")
- public HttpResult approvalPass(@RequestParam String userId) {
- SysUser sysUser = sysUserService.getById(userId);
- sysUser.setStatus(1);
- return HttpResult.ok(sysUserService.updateById(sysUser));
- }
- @ApiOperation(value = "(重构)审批不通过")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "userId", value = "用户ID"),
- @ApiImplicitParam(name = "reason", value = "原因")
- })
- @GetMapping(value = "/approvalNotPass")
- public HttpResult<Boolean> approvalNotPass(@RequestParam String userId, @RequestParam String reason) {
- SysUser sysUser = sysUserService.getById(userId);
- sysUser.setStatus(3);
- sysUser.setApprovalOpinion(reason);
- return HttpResult.ok(sysUserService.updateById(sysUser));
- }
- @ApiOperation(value = "(重构)获取用户")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "userId", required = true, value = "用户ID")
- })
- @GetMapping(value = "/{userId}")
- public HttpResult findUserById(@PathVariable String userId) {
- // 查询用户
- SysUser sysUser = sysUserService.getById(userId);
- // 查询角色
- SysUserRole sysUserRole = sysUserRoleService.selectByUserId(userId);
- // SysUserRole sysUserRole = sysUserRoleService.getById(userId);
- if (!ObjectUtils.isEmpty(sysUserRole)) {
- sysUser.setRoleId(StringUtils.toString(sysUserRole.getRoleId()));
- }
- // 查询推荐人
- EsmUserReferrer referrer = esmUserReferrerService.getById(userId);
- if (ObjectUtils.isEmpty(referrer)) {
- sysUser.setReferrerId(null);
- sysUser.setReferrerName(null);
- } else {
- sysUser.setReferrerId(referrer.getReferrerId());
- sysUser.setReferrerName(referrer.getReferrerName());
- }
- //查询详情信息
- SysUserInfo userInfo = sysUserInfoService.getById(userId);
- SysUserInfoQuery sysUserVo = new SysUserInfoQuery();
- List<EsmUserImageQueryVo> esmUserImageQueryVo = esmUserImageService.getEsmUserImageQueryVo(userId);
- sysUserVo.setSysUser(sysUser);
- sysUserVo.setSysUserInfo(userInfo);
- sysUserVo.setEsmUserImageVo(esmUserImageQueryVo);
- return HttpResult.ok(sysUserVo);
- }
- @ApiOperation(value = "(new)获取登录用户")
- @GetMapping(value = "/loginUser")
- public HttpResult loginUser() {
- SysUser sysUser = sysUserService.getById(getUserId());
- SysRole sysRole = sysUserRoleService.gainRoleByUserId(sysUser.getId());
- if (null != sysRole) {
- sysUser.setRoleId(StringUtils.toString(sysRole.getId()));
- sysUser.setRoleName(sysRole.getName());
- }
- if (StringUtils.isNotEmpty(sysUser.getDeptId())) {
- SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
- sysUser.setDeptName(sysDept.getName());
- }
- EsmUserReferrer eur = esmUserReferrerService.getById(sysUser.getId());
- if (null != eur) {
- sysUser.setReferrerId(eur.getReferrerId());
- sysUser.setReferrerName(eur.getReferrerName());
- }
- return HttpResult.ok(sysUser);
- }
- @ApiOperation(value = "获取可选业务员列表")
- @GetMapping(value = "/getAllUsers")
- public HttpResult getAllUsers(@RequestParam(required = false) String userId) {
- List<SysUser> userList = sysUserService.findAllAgentRoleUser(userId);
- return HttpResult.ok(userList);
- }
- @ApiOperation(value = "(new)是否绑定微信")
- @GetMapping(value = "/isBindWechat")
- public HttpResult<Object> isBindWechat() {
- SysUser sysUser = sysUserService.getById(getUserId());
- String openid = sysUser.getOpenid();
- AssertionUtils.isStringEmpty(openid, "未绑定微信");
- return HttpResult.ok();
- }
- /**
- * 个代注册
- *
- * @author: lig
- * @date: 2023年07月03日 0003
- */
- @ApiOperation(value = "(new)个代注册")
- @PostMapping(value = "/agentRegist")
- @Transactional
- public HttpResult agentRegist(@RequestBody AgentUserDto dto) {
- int noCount = 3;//顺序号是几位的
- String phoneMsg = dto.getMobileMsg();
- if (StringUtils.isNullOrEmpty(phoneMsg)) {
- return HttpResult.error("短信验证码不能为空");
- }
- String recommenderid = dto.getReferrerId();
- SysUser recommender = sysUserService.getById(recommenderid);
- if (recommender == null) {
- return HttpResult.error("推荐人信息不存在");
- }
- //只有团队长和代理人才能邀请 by gws
- SysUserRole recommenderRole = sysUserRoleService.selectByUserId(recommenderid);
- if (!"20".equals(recommenderRole.getRoleId().toString()) && !"21".equals(recommenderRole.getRoleId().toString())) {
- return HttpResult.error("只有团队长和代理人才能邀请");
- }
- SysUser sysUser = sysUserService.findByPhone(dto.getMobile());
- if (sysUser != null) {
- return HttpResult.error("手机号已存在");
- } else {
- sysUser = new SysUser();
- }
- String nextPK;
- //根据机构号获取userid最大值,不需要加人员类型判断 从sys_user获取
- String maxId = sysUserService.findMaxId(recommender.getDeptId());
- if (StringUtils.isNullOrEmpty(maxId)) {
- nextPK = recommender.getDeptId() + "001";
- } else {
- nextPK = IdGenerate.nextCode(maxId, noCount);
- }
- if (dto.getName() != null && !dto.getName().isEmpty()) {
- } else {
- sysUser.setName("游客");
- }
- sysUser.setMobile(dto.getMobile());
- sysUser.setDeptId(recommender.getDeptId());
- //密码加密
- if(StringUtils.isEmpty(dto.getPassword())){
- return HttpResult.error("密码不能为空");
- }
- String salt = PasswordUtils.getSalt();
- String password = PasswordUtils.encode(dto.getPassword(), salt);
- sysUser.setPassword(password);
- sysUser.setSalt(salt);
- sysUser.setStatus(2);
- sysUser.setId(nextPK);
- sysUser.setCreateBy("admin");
- sysUserService.save(sysUser);
- //角色配置
- SysUserRole userRole = new SysUserRole();
- userRole.setUserId(nextPK);
- userRole.setRoleId(20L);
- sysUserRoleService.save(userRole);
- esmUserReferrerService.addReferrer(dto.getReferrerId(), nextPK);
- return HttpResult.ok("保存成功", sysUser.getId());
- }
- @PostMapping(value = "/newUserImport")
- @ApiOperation(value = "新用户导入")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "file", value = "excel文件", required = true, dataType = "__file"),
- @ApiImplicitParam(name = "deptId", value = "机构部门ID", required = true, dataType = "String", paramType = "formData")
- })
- @Transactional
- public HttpResult newUserImport(@RequestPart MultipartFile file, @RequestParam String deptId) {
- SysDept sd = sysDeptService.getById(deptId);
- if (null == sd) return HttpResult.error("机构部门不存在");
- try {
- List<SysUser> userList = ExcelEasypoiUtils.importExcel(file, SysUser.class, 0, 1, 1);
- userList = userList.stream().filter(l -> StringUtils.isNotEmpty(l.getMobile())).collect(Collectors.toList());
- userList.stream().forEach(a -> {
- if (StringUtils.isNullOrEmpty(a.getMobile())) throw new SystemException("手机不能为空");
- //处理密码
- if (StringUtils.isNotEmpty(a.getPassword())) {
- String salt = PasswordUtils.getSalt();
- String pwd = PasswordUtils.encode(a.getPassword(), salt);
- a.setPassword(pwd);
- a.setSalt(salt);
- }
- a.setDeptId(sd.getId());
- a.setDeptName(sd.getName());
- //获取角色
- LambdaQueryWrapper<SysRole> lqwRole = new LambdaQueryWrapper<>();
- lqwRole.like(SysRole::getName, a.getRoleName());
- SysRole sr = sysRoleService.getOne(lqwRole);
- a.setRoleId(sr.getId().toString());
- a.setRoleName(sr.getName());
- //状态
- if (a.getExcelStatus().equals("正常")) {
- a.setStatus(1);
- }
- if (a.getExcelStatus().equals("新注册")) {
- a.setStatus(2);
- }
- // //性别
- // if (a.getSex().equals("未知")) {
- // a.setSex("U");
- // }
- // if (a.getSex().equals("男")) {
- // a.setSex("M");
- // }
- // if (a.getSex().equals("女")) {
- // a.setSex("W");
- // }
- if (StringUtils.isNullOrEmpty(a.getDeptId())) throw new SystemException("机构ID不能为空");
- //by gws 21 团队长 20 代理人 必须归属团队
- // 22 后线人员 必须归属部门
- if (StringUtils.isNullOrEmpty(a.getRoleId())) throw new SystemException("角色ID不能为空");
- if ("21".equals(a.getRoleId()) || "20".equals(a.getRoleId())) {//21 团队长 20 代理人
- boolean teamflag = false;
- char[] deptids = a.getDeptId().toCharArray();
- char ch1 = 'D';
- char ch2 = 'M';
- if (deptids.length > 6) {
- teamflag = deptids[deptids.length - 3] == ch1 && deptids[deptids.length - 6] == ch2;
- }
- if (!teamflag) {
- throw new SystemException("团队长和代理人只能归属团队中");
- }
- } else if ("22".equals(a.getRoleId())) {//22 后线人员
- boolean deptflag = false;
- char[] deptids = a.getDeptId().toCharArray();
- char ch1 = 'D';
- char ch2 = 'M';
- if (deptids.length > 6) {
- deptflag = deptids[deptids.length - 3] == ch1 && deptids[deptids.length - 6] != ch2;
- } else if (deptids.length <= 6 && deptids.length > 3) {
- deptflag = deptids[deptids.length - 3] == ch1;
- }
- if (!deptflag) {
- throw new SystemException("后线人员只能归属业务部门中");
- }
- } else {
- throw new SystemException("角色id有误");
- }
- sysUserService.saveUser(a);
- });
- } catch (IOException e) {
- throw new SystemException(e.getMessage());
- }
- return HttpResult.ok("导入成功");
- }
- // @ApiOperation(value = "保存或更新用户信息")
- // @PostMapping(value = "/saveOrUpdateInfo")
- // public HttpResult saveOrUpdateInfo(@RequestBody SysUserInfo sysUserInfo) {
- // if (StringUtils.isNullOrEmpty(sysUserInfo.getId())) return HttpResult.error("用户ID不能为空");
- // return HttpResult.ok(sysUserInfoService.saveOrUpdate(sysUserInfo));
- //
- // }
- @GetMapping(value = "/findUserInfo/{userId}")
- @ApiOperation(value = "获取用户信息")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "userId", value = "用户信息", required = true, dataType = "String")
- })
- //@SaCheckPermission("sys:menu:add")
- public HttpResult findUserInfo(@PathVariable String userId) {
- return HttpResult.ok(sysUserInfoService.getById(userId));
- }
- @ApiOperation(value = "保存用户基本详情信息")
- @PostMapping(value = "/saveUserInfo")
- public HttpResult saveUserInfo(@RequestBody SysUser2Vo sysUserVo) {
- //by gws 21 团队长 20 代理人 必须归属团队
- // 22 后线人员 必须归属部门
- SysUser sysUser = sysUserVo.getSysUser();
- if (StringUtils.isNullOrEmpty(sysUser)) {
- return HttpResult.error("用户信息不能为空");
- }
- if (StringUtils.isNullOrEmpty(sysUser.getDeptId())) {
- return HttpResult.error("机构ID不能为空");
- }
- if (StringUtils.isNullOrEmpty(sysUser.getRoleId())) {
- throw new SystemException("角色id不能为空");
- }
- if (!StringUtils.isNullOrEmpty(sysUser.getRoleId())) {
- if ("21".equals(sysUser.getRoleId()) || "20".equals(sysUser.getRoleId())) {//21 团队长 20 代理人
- boolean teamflag = false;
- char[] deptids = sysUser.getDeptId().toCharArray();
- char ch1 = 'D';
- char ch2 = 'M';
- if (deptids.length > 6) {
- teamflag = deptids[deptids.length - 3] == ch1 && deptids[deptids.length - 6] == ch2;
- }
- if (!teamflag) {
- throw new SystemException("团队长和代理人只能归属团队中");
- }
- } else if ("22".equals(sysUser.getRoleId())) {//22 后线人员
- boolean deptflag = false;
- char[] deptids = sysUser.getDeptId().toCharArray();
- char ch1 = 'D';
- char ch2 = 'M';
- if (deptids.length > 6) {
- deptflag = deptids[deptids.length - 3] == ch1 && deptids[deptids.length - 6] != ch2;
- } else if (deptids.length > 3) {
- deptflag = deptids[deptids.length - 3] == ch1;
- }
- if (!deptflag) {
- throw new SystemException("后线人员只能归属业务部门中");
- }
- } else {
- throw new SystemException("角色id有误");
- }
- }
- return sysUserService.saveUserInfo(sysUserVo);
- }
- @ApiOperation(value = "修改用户详情信息")
- @PostMapping(value = "/updateUserInfo/{userId}")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "userId", value = "用户信息", required = true, dataType = "String")
- })
- @Transactional
- public HttpResult updateUserInfo(@PathVariable String userId, @RequestBody SysUser2Vo sysUserVo) {
- return sysUserService.updateUserInfo(userId, sysUserVo);
- }
- @ApiOperation(value = "获取推荐人分页信息")
- @PostMapping(value = "/referrerFindPage")
- public HttpResult<PageVo<SysReferrerVo>> referrerFindPage(@RequestBody PageDto<SysReferrerVo> pageDto) {
- return esmUserReferrerService.gainReferrerPage(pageDto);
- }
- @PostMapping(value = "/realNameAuth")
- @ApiOperation(value = "实名认证", notes = "" +
- "参数1:姓名" +
- "</br>参数2:身份证号")
- public HttpResult realNameAuth(@RequestBody BaseDto dto) {
- SysUser sysUser = sysUserService.getById(getUserId());
- sysUser.setName(dto.getParam1());
- sysUser.setIdentity(dto.getParam2());
- // sysUser.setStatus(1);
- return HttpResult.ok(sysUserService.updateById(sysUser));
- }
- }
|