| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931 |
- package com.ydtech.modules.admin.controller;
- import cn.dev33.satoken.stp.StpUtil;
- 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.aop.request.RequestSingleParam;
- 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.components.UnionPayRequestApiComponent;
- import com.ydtech.modules.admin.components.request.UnionPayRequest;
- import com.ydtech.modules.admin.components.response.UnionPayResponse;
- import com.ydtech.modules.admin.constants.RoleConstants;
- import com.ydtech.modules.admin.constants.UserWorkStatus;
- import com.ydtech.modules.admin.model.*;
- import com.ydtech.modules.admin.model.dto.AgentUserDto;
- import com.ydtech.modules.admin.model.dto.QuTeamNumDto;
- import com.ydtech.modules.admin.model.dto.QuUserNumDto;
- import com.ydtech.modules.admin.model.dto.SysUserDto;
- import com.ydtech.modules.admin.model.po.SysUserBankCard;
- import com.ydtech.modules.admin.model.po.SysUserIsDial;
- import com.ydtech.modules.admin.model.po.SysUserTreeShowLevel;
- 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.message.constants.MessageTypeConstants;
- import com.ydtech.modules.message.service.MessageSecretaryService;
- import com.ydtech.modules.order.entity.po.InsUploadFiles;
- import com.ydtech.modules.order.service.InsUploadFilesService;
- import com.ydtech.modules.protocol.utils.AssertionUtils;
- import com.ydtech.security.utils.PasswordUtils;
- import com.ydtech.utils.StringUtils;
- import com.ydtech.utils.idgen.IdGenerate;
- import io.swagger.annotations.*;
- import lombok.RequiredArgsConstructor;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.redis.core.StringRedisTemplate;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.util.ObjectUtils;
- import org.springframework.web.bind.annotation.*;
- import javax.validation.Valid;
- import java.util.Date;
- import java.util.List;
- import java.util.Objects;
- import static com.ydtech.constants.RedisConstant.PHONE_VERIFICATION_CODE_KEY;
- /**
- * 用户控制器
- *
- * @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 SysUserTreeShowLevelService sysUserTreeShowLevelService;
- private final EsmUserReferrerService esmUserReferrerService;
- private final SysRoleService sysRoleService;
- private final EsmUserImageService esmUserImageService;
- private final StringRedisTemplate redisTemplate;
- private final InsUploadFilesService insUploadFilesService;
- private final SysUserIsDialService sysUserIsDialService;
- private final MessageSecretaryService messageSecretaryService;
- private final SysUserTrackService sysUserTrackService;
- private final UnionPayRequestApiComponent unionPayRequestApiComponent;
- // @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 sysUserRoleVo 用户角色信息对象,包括用户ID、角色ID、展示级别、是否允许拨号、拨号用户名和密码
- * @return 返回操作结果,成功返回ok
- */
- @PostMapping(value = "/saveUserRole")
- @Transactional
- @ApiOperation(value = "保存用户角色信息")
- public HttpResult saveUserRole(@RequestBody SysUserRoleVo sysUserRoleVo) {
- String userId = sysUserRoleVo.getUserId();
- String roleId = sysUserRoleVo.getRoleId();
- String showLevel = sysUserRoleVo.getShowLevel();
- String isDial = sysUserRoleVo.getIsDial();
- String dialUserName = sysUserRoleVo.getDialUserName();
- String dialPassWord = sysUserRoleVo.getDialPassWord();
- //添加用户角色
- SysUserRole userRole = new SysUserRole();
- sysUserRoleService.deleteByUserId(userId);
- String userName = getUserName();
- userRole = new SysUserRole();
- userRole.setUserId(userId);
- userRole.setRoleId(Long.parseLong(roleId));
- userRole.setCreateBy(userName);
- userRole.setCreateTime(new Date());
- sysUserRoleService.save(userRole);
- //添加树权限
- sysUserTreeShowLevelService.remove(new LambdaQueryWrapper<SysUserTreeShowLevel>().eq(SysUserTreeShowLevel::getUserId, userId));
- SysUserTreeShowLevel sysUserTreeShowLevel = new SysUserTreeShowLevel();
- sysUserTreeShowLevel.setUserId(userId);
- sysUserTreeShowLevel.setShowLevel(showLevel);
- sysUserTreeShowLevel.setCreateName(userName);
- sysUserTreeShowLevel.setCreateTime(new Date());
- sysUserTreeShowLevelService.save(sysUserTreeShowLevel);
- //添加拨号权限
- sysUserIsDialService.remove(new LambdaQueryWrapper<SysUserIsDial>().eq(SysUserIsDial::getUserId, userId));
- SysUserIsDial sysUserIsDial = new SysUserIsDial();
- sysUserIsDial.setUserId(userId);
- sysUserIsDial.setDialUserName(dialUserName);
- sysUserIsDial.setDialPassWord(dialPassWord);
- sysUserIsDial.setIsDial(isDial);
- sysUserIsDial.setCreateName(userName);
- sysUserIsDial.setCreateTime(new Date());
- sysUserIsDialService.save(sysUserIsDial);
- 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) {
- int pageNum = pageRequest.getPageNum();
- int pageSize = pageRequest.getPageSize();
- String name = pageRequest.getColumnFilterValue(pageRequest, "name");
- //需要处理传入的部门
- 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, @RequestParam String oldPassword) {
- if (StringUtils.isEmpty(id) || StringUtils.isEmpty(password)) {
- return HttpResult.error("ID和密码不能为空");
- }
- SysUser sysUser = sysUserService.getById(id);
- if (sysUser == null) {
- return HttpResult.error("ID不存在");
- }
- if (password.equals(oldPassword)) {
- return HttpResult.error("新密码不能与旧密码相同");
- }
- if (!PasswordUtils.matches(sysUser.getSalt(), oldPassword, sysUser.getPassword())) {
- return HttpResult.error("旧密码输入不正确");
- }
- //密码加密
- String pwd = PasswordUtils.encode(password, sysUser.getSalt());
- sysUser.setPassword(pwd);
- sysUserService.updateById(sysUser);
- StpUtil.logout();
- 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);
- if (users != null && !users.isEmpty()) {
- return HttpResult.error("手机号已存在");
- }
- sysUser.setMobile(mobile);
- sysUserService.updateById(sysUser);
- return HttpResult.ok("修改成功");
- }
- /**
- * 根据工号查询推荐人信息
- *
- * @param id
- * @return
- */
- @GetMapping(value = "/findById")
- public HttpResult findByUserId(@RequestParam String id) {
- SysUserVO sysUserVO = sysUserService.gainUserInternal(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));
- }
- /**
- * 根据部门id查询该部门的推荐人信息
- */
- @GetMapping("/selectfindByreferrerId")
- public HttpResult findByReferrerId(@Valid String deptId) {
- return HttpResult.ok(sysUserService.findByReferrerId(deptId));
- }
- /**
- * 根据部门id查询后线人员的所有人信息
- */
- @ApiOperation(value = "获取后线人员信息")
- @GetMapping("/findBackListByDeptId")
- public HttpResult findBackListByDeptId(String deptId) {
- return HttpResult.ok(sysUserService.findBackListByDeptId(deptId));
- }
- /**
- * 根据部门id查询该部门的所有人信息
- */
- @PostMapping("/findListByDeptId")
- public HttpResult findListByDeptId(@RequestBody SysUser sysUser) {
- return HttpResult.ok(sysUserService.findListByDeptId(sysUser));
- }
- /**
- * @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.isEmpty()) {
- 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) {
- //获取用户角色
- SysUser user = getUser();
- //如果查询后线人员
- // if (RoleConstants.R22.getCode().equals(pageDto.getDto().getRoleId())) {
- // if (RoleConstants.R17.getCode().equals(user.getRoleId())) {
- // pageDto.getDto().setRoleId("18,22");
- // } else if (RoleConstants.R18.getCode().equals(user.getRoleId())) {
- // pageDto.getDto().setRoleId("22");
- // }
- // }
- if (RoleConstants.R22.getCode().equals(pageDto.getDto().getRoleId())) {
- pageDto.getDto().setRoleId("17,18,22,23,24,25,28,29,30,31,32,38");
- }
- //设置登录用户的部门
- if ("".equals(pageDto.getDto().getDeptId()) || null == pageDto.getDto().getDeptId()) {
- pageDto.getDto().setDeptId(user.getDeptId());
- }
- return HttpResult.ok(sysUserService.gainUserPage(pageDto));
- }
- @ApiOperation(value = "渠道、个代、电销 的用户查询分页")
- @PostMapping(value = "/findUserList")
- public HttpResult findUserList(@RequestBody PageDto<SysUserDto> pageDto) {
- if (pageDto.getDto().getDeptId() == null) {
- pageDto.getDto().setDeptId(BaseController.getDeptId());
- }
- return HttpResult.ok(sysUserService.findUserList(pageDto));
- }
- @ApiOperation(value = "后线用户查询分页")
- @PostMapping(value = "/findBackUserList")
- public HttpResult findBackUserList(@RequestBody SysUserDto sysUserDto) {
- if (sysUserDto.getDeptId() == null) {
- sysUserDto.setDeptId(BaseController.getDeptId());
- }
- return HttpResult.ok(sysUserService.findBackUserList(sysUserDto));
- }
- @ApiOperation(value = "后线用户查询不分页(编辑时查询领导人)")
- @PostMapping(value = "/findBackUserList1")
- public HttpResult findBackUserList1(@RequestBody SysUserDto sysUserDto) {
- if (sysUserDto.getDeptId() == null) {
- sysUserDto.setDeptId(BaseController.getDeptId());
- }
- return HttpResult.ok(sysUserService.findBackUserList1(sysUserDto));
- }
- @ApiOperation(value = "渠道数据统计")
- @PostMapping(value = "/quTeamNum")
- public HttpResult quTeamNum(@RequestBody QuTeamNumDto quTeamNumDto) {
- return HttpResult.ok("", sysUserService.quTeamNum(quTeamNumDto));
- }
- @ApiOperation(value = "渠道数据统计详情")
- @PostMapping(value = "/quTeamNumDetail")
- public HttpResult quTeamNumDetail(@RequestBody QuTeamNumDto quTeamNumDto) {
- return HttpResult.ok("", sysUserService.getQuTeamByCompany(quTeamNumDto));
- }
- @ApiOperation(value = "(重构)审批通过")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "userId", value = "用户ID")
- })
- @GetMapping(value = "/approvalPass")
- public HttpResult approvalPass(@RequestParam String userId) {
- SysUser sysUser = sysUserService.getById(userId);
- if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_2.getCode())) {
- sysUser.setStatus(UserWorkStatus.UWS_1.getCode());
- } else if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_4.getCode())) {
- sysUser.setStatus(UserWorkStatus.UWS_0.getCode());
- } else if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_6.getCode())) {
- sysUser.setStatus(UserWorkStatus.UWS_1.getCode());
- }
- SysUserTrack sysUserTrack = new SysUserTrack(sysUser);
- sysUserTrackService.save(sysUserTrack);
- 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);
- if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_2.getCode())) {
- sysUser.setStatus(UserWorkStatus.UWS_3.getCode());
- } else if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_4.getCode())) {
- sysUser.setStatus(UserWorkStatus.UWS_5.getCode());
- } else if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_6.getCode())) {
- sysUser.setStatus(UserWorkStatus.UWS_7.getCode());
- }
- SysUserTrack sysUserTrack = new SysUserTrack(sysUser);
- sysUserTrack.setApproveMess(reason);
- sysUserTrackService.save(sysUserTrack);
- return HttpResult.ok(sysUserService.updateById(sysUser));
- }
- @Autowired
- private SysUserBankCardService sysUserBankCardService;
- @ApiOperation(value = "(重构)获取用户")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "userId", required = true, value = "用户ID")
- })
- @GetMapping(value = "/{userId}")
- public HttpResult findUserById(@PathVariable String userId) {
- SysUserInfoQuery sysUserVo = new SysUserInfoQuery();
- // 查询用户
- 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()));
- }
- //查询 机构的上级
- SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
- sysUser.setPdeptId(sysDept.getParentId());
- if ("19".equals(sysUser.getRoleId())) {
- SysUser operator = sysUserService.getById(sysUser.getOperatorCode());
- sysUser.setReferrerId(operator != null ? operator.getId() : "");
- sysUser.setReferrerName(operator != null ? operator.getName() : "");
- sysUserVo.setSysUser(sysUser);
- List<EsmUserImageQueryVo> esmUserImageQueryVo = esmUserImageService.getEsmUserImageQueryVo(userId);
- sysUserVo.setEsmUserImageVo(esmUserImageQueryVo);
- return HttpResult.ok(sysUserVo);
- }
- // 查询推荐人
- 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);
- //查询用户绑定的银行卡信息
- SysUserBankCard queryBank = new SysUserBankCard();
- queryBank.setUserId(userId);
- queryBank.setAuditStatus("1");
- HttpResult<List<SysUserBankCard>> userBankList = sysUserBankCardService.getUserBankListByQueryParam(queryBank);
- if (!Objects.isNull(userInfo)) {
- if (userBankList.getData().isEmpty()) {
- userInfo.setBankName(null);
- userInfo.setAccountno(null);
- } else {
- userInfo.setBankName(userBankList.getData().get(0).getBankAccount());
- userInfo.setAccountno(userBankList.getData().get(0).getBankNumber());
- }
- }
- 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());
- sysUser.setIsHasAddUser(sysDept.getManagementSource() != null ? 1 : 0);
- sysUser.setManagementSource(sysDept.getManagementSource());
- }
- EsmUserReferrer eur = esmUserReferrerService.getById(sysUser.getId());
- if (null != eur) {
- sysUser.setReferrerId(eur.getReferrerId());
- sysUser.setReferrerName(eur.getReferrerName());
- }
- InsUploadFiles insUploadFiles = insUploadFilesService.getById(sysUser.getHeadSculpture());
- if (null != insUploadFiles) {
- sysUser.setHeadSculpture(insUploadFiles.getUrl());
- }
- return HttpResult.ok(sysUser);
- }
- @ApiOperation(value = "获取可选业务员列表")
- @GetMapping(value = "/getAllUsers")
- public HttpResult getAllUsers(@RequestParam(required = false) String userId) {
- List<SysUser> userList = sysUserService.findAllAgentRoleUser(userId, "20");
- 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;//顺序号是几位的
- List<SysUser> list = sysUserService.lambdaQuery().eq(SysUser::getMobile, dto.getMobile()).list();
- if (!list.isEmpty()) {
- throw new SystemException("手机号已经被注册请重新跟换手机号。如有疑问请联系管理人员。");
- }
- if (StringUtils.isNullOrEmpty(dto.getFlag())) {
- return HttpResult.error("个代、出单员标识不能为空");
- }
- if (StringUtils.isNullOrEmpty(dto.getMobile()) || StringUtils.isNullOrEmpty(dto.getMobileMsg())) {
- return HttpResult.error("手机号、验证码不能为空");
- }
- if (StringUtils.isNullOrEmpty(dto.getName())) {
- return HttpResult.error("姓名不能为空");
- }
- if (StringUtils.isNullOrEmpty(dto.getPassword())) {
- return HttpResult.error("密码不能为空");
- }
- if (StringUtils.isNullOrEmpty(dto.getReferrerId())) {
- return HttpResult.error("推荐人不能为空");
- }
- String captcha_redis = (String) redisTemplate.opsForValue().get(PHONE_VERIFICATION_CODE_KEY + dto.getMobile());
- redisTemplate.delete(PHONE_VERIFICATION_CODE_KEY + dto.getMobile());
- if (captcha_redis == null) {
- return HttpResult.error("验证码已失效");
- }
- if (!dto.getMobileMsg().equals(captcha_redis)) {
- return HttpResult.error("验证码错误");
- }
- String recommenderid = dto.getReferrerId();
- SysUser recommender = sysUserService.getById(recommenderid);
- if (recommender == null) {
- return HttpResult.error("推荐人信息不存在");
- }
- SysUser reUser = sysUserService.getByUserId(recommenderid);
- //个代
- UnionPayResponse response = new UnionPayResponse();
- if ("2".equals(reUser.getManagementSource())) {
- if (StringUtils.isNullOrEmpty(dto.getIdentity())) {
- return HttpResult.error("机构来源为个代的证件号不能为空");
- }
- UnionPayRequest request = new UnionPayRequest();
- request.setName(dto.getName());
- request.setPhoneNo(dto.getMobile());
- request.setCertNo(dto.getIdentity());
- response = unionPayRequestApiComponent.threeFactorVerifyRequest(request);
- if (response != null&&!"00".equals(response.getRespCode())) {
- return HttpResult.error("认证信息不一致:"+response.getDetailRespMsg());
- }
- }
- //只有团队长和代理人才能邀请 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);
- }
- sysUser.setName(dto.getName());
- sysUser.setMobile(dto.getMobile());
- sysUser.setDeptId(recommender.getDeptId());
- //密码加密
- String salt = PasswordUtils.getSalt();
- String password = PasswordUtils.encode(dto.getPassword(), salt);
- sysUser.setPassword(password);
- sysUser.setSalt(salt);
- sysUser.setStatus("2".equals(dto.getFlag()) ? 2 : 1);//1:正常 2:审批中
- sysUser.setId(nextPK);
- sysUser.setCreateBy("admin");
- if ("1".equals(dto.getFlag())) {
- sysUser.setOperatorCode(recommenderid);
- }
- sysUser.setIdentity(dto.getIdentity());
- sysUser.setFactorVerify(response != null && "00".equals(response.getRespCode())? 1:0);
- sysUserService.save(sysUser);
- //角色配置
- SysUserRole userRole = new SysUserRole();
- userRole.setUserId(nextPK);
- userRole.setRoleId(dto.getFlag().equals("2") ? 20L : 19L);
- sysUserRoleService.save(userRole);
- //添加增员服务消息
- //添加订单消息
- messageSecretaryService.addMessage(MessageTypeConstants.M_6, dto.getReferrerId(),
- dto.getMobile() + "(" + dto.getName() + ")" + "进行注册,请立即审核.");
- if ("2".equals(dto.getFlag())) {
- esmUserReferrerService.addReferrer(dto.getReferrerId(), nextPK);
- }
- return HttpResult.ok("保存成功", sysUser.getId());
- }
- @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不能为空");
- }
- //获取机构层级
- int deptLevel = sysUserService.getDeptLevel(sysUserVo);
- if (!StringUtils.isNullOrEmpty(sysUser.getRoleId())) {
- if (RoleConstants.R21.getCode().equals(sysUser.getRoleId())
- || RoleConstants.R20.getCode().equals(sysUser.getRoleId())
- || RoleConstants.R19.getCode().equals(sysUser.getRoleId())) {//19 出单员 21 团队长 20 代理人
- if (deptLevel != 6) {
- throw new SystemException("团队长、代理人、出单员只能归属团队中");
- }
- //如果为团队长,判断是否已经存在团队长,存在不允许添加 add by hxl 2024-05-07 ============begin
- if (RoleConstants.R21.getCode().equals(sysUser.getRoleId())) {
- int count = sysUserService.getCountByDeptAndRoleId(sysUser);
- if (count > 0) {
- throw new SystemException("该机构已存在团队长,不允许再添加!!");
- }
- }
- // =========================add by hxl end ====================
- } else if (RoleConstants.R18.getCode().equals(sysUser.getRoleId())) { // 42 门店长
- if (deptLevel != 5) {
- throw new SystemException("机构管理员只能归属机构中");
- }
- } else if (RoleConstants.R17.getCode().equals(sysUser.getRoleId())) {
- if (deptLevel != 4) {
- throw new SystemException("部长只能归属于4级");
- }
- }
- }
- 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));
- }
- @PostMapping("/modifyingTheAvatar")
- @ApiOperation(value = "修改头像")
- public HttpResult modifyingTheAvatar(@RequestSingleParam("imagesId") String imagesId) {
- SysUser sysUser = sysUserService.getById(getUserId());
- sysUser.setHeadSculpture(imagesId);
- sysUserService.updateById(sysUser);
- return HttpResult.ok();
- }
- @ApiOperation(value = "根据传入机构,查询所有人员")
- @GetMapping(value = "/findUserList")
- public HttpResult findUserList(String deptId) {
- return HttpResult.ok(sysUserService.findUserList(deptId));
- }
- @ApiOperation(value = "获取树结构")
- @GetMapping(value = "/findTree")
- public HttpResult<List<SysUser>> findTree() {
- List<SysUser> list = sysUserService.findTree();
- return HttpResult.ok(list);
- }
- @ApiOperation(value = "渠道区域业绩管理")
- @PostMapping(value = "/quUserNum")
- public HttpResult quUserNum(@RequestBody QuUserNumDto quUserNumDto) {
- return HttpResult.ok("", sysUserService.quUserNum(quUserNumDto));
- }
- @ApiOperation(value = "渠道区域业绩地区管理详情")
- @PostMapping(value = "/quUserNumDetail")
- public HttpResult quUserNumDetail(@RequestBody QuUserNumDto quUserNumDto) {
- return HttpResult.ok("", sysUserService.getQuUserByCompany(quUserNumDto));
- }
- @ApiOperation(value = "个代区域业绩管理")
- @PostMapping(value = "quAgentAreaAdmin")
- public HttpResult quAgentAreaAdmin(@RequestBody QuUserNumDto quUserNumDto) {
- return HttpResult.ok("", sysUserService.quAgentAreaAdmin(quUserNumDto));
- }
- @ApiOperation(value = "个代区域业绩地区管理详情")
- @PostMapping(value = "/quAgentAreaAdminDetail")
- public HttpResult quAgentAreaAdminDetail(@RequestBody QuUserNumDto quUserNumDto) {
- return HttpResult.ok("", sysUserService.quAgentAreaAdminDetail(quUserNumDto));
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/4/16 16:16
- * @Description: 获取待客录入可选业务员列表 通过工号、姓名、手机号、身份证号
- */
- @ApiOperation(value = "获取待客录入可选业务员列表 通过工号、姓名、手机号、身份证号")
- @PostMapping(value = "/getAllUsersByHospitality")
- public HttpResult getAllUsersByHospitality(@RequestBody SysUserVOExt sysUserVOExt) {
- try {
- List<SysUserBaseVO> userList = sysUserService.getAllUsersByHospitality(sysUserVOExt);
- return HttpResult.ok(userList);
- } catch (Exception e) {
- return HttpResult.error("查询失败" + e.getMessage());
- }
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/4/18 16:12
- * @Description: 查询客服人员列表数据
- */
- @ApiOperation(value = "获取客服人员列表数据")
- @PostMapping(value = "/getCustomerUsers")
- public HttpResult getCustomerUsers() {
- try {
- List<SysUserBaseVO> userList = sysUserService.getCustomerUsers();
- return HttpResult.ok(userList);
- } catch (Exception e) {
- return HttpResult.error("查询失败" + e.getMessage());
- }
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/7/11 16:04
- * @Description: 查询的所有的后线人员
- */
- @ApiOperation(value = "后线用户查询不分页(编辑时查询领导人)")
- @GetMapping(value = "/findHxUserList")
- public HttpResult findHxUserList() {
- return HttpResult.ok(sysUserService.findHxUserList());
- }
- @ApiOperation(value = "离职申请")
- @PostMapping("/departApply")
- public HttpResult departApply(@RequestBody SysUser2Vo sysUserVO) {
- return sysUserService.departApply(sysUserVO) ? HttpResult.ok("离职申请提交成功") : HttpResult.error("离职申请提交失败");
- }
- @ApiOperation(value = "离职恢复")
- @GetMapping("/separationReinstatement/{userId}")
- public HttpResult separationReinstatement(@PathVariable String userId) {
- sysUserService.separationReinstatement(userId);
- return HttpResult.ok("恢复成功");
- }
- }
|