UserBindAgentController.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.ydd.web.controller;
  2. import com.ydd.common.annotation.ControllerLog;
  3. import com.ydd.common.core.controller.BaseController;
  4. import com.ydd.common.core.domain.Result;
  5. import com.ydd.common.core.domain.entity.SysUser;
  6. import com.ydd.common.core.page.TableDataInfo;
  7. import com.ydd.common.enums.UserTypeJoinRoleEnums;
  8. import com.ydd.module.domain.Agent;
  9. import com.ydd.module.dto.SysUserBindAgentDto;
  10. import com.ydd.module.service.IAgentService;
  11. import com.ydd.module.service.ISysUserBindAgentService;
  12. import com.ydd.system.service.ISysRoleService;
  13. import com.ydd.system.service.ISysUserService;
  14. import lombok.RequiredArgsConstructor;
  15. import org.apache.commons.collections4.CollectionUtils;
  16. import org.apache.commons.compress.utils.Lists;
  17. import org.springframework.beans.BeanUtils;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.*;
  20. import java.util.Arrays;
  21. import java.util.List;
  22. /**
  23. * 员工绑定代理商
  24. * @author 叶君翔
  25. * @date 2022/03/07 15:43
  26. */
  27. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  28. @RestController
  29. @RequestMapping("/module/userBindAgent" )
  30. public class UserBindAgentController extends BaseController {
  31. @Autowired
  32. private ISysUserService userService;
  33. @Autowired
  34. private ISysRoleService sysRoleService;
  35. @Autowired
  36. private ISysUserBindAgentService userBindAgentService;
  37. @Autowired
  38. private IAgentService iAgentService;
  39. /**
  40. * 一级代理商列表(不分页)
  41. */
  42. @GetMapping("/agentList")
  43. public Result getAgentList() {
  44. List<Agent> list = iAgentService.queryFirstLevelList();
  45. return Result.success(list);
  46. }
  47. /**
  48. * 获取用户列表
  49. */
  50. @GetMapping("/list")
  51. public TableDataInfo list(SysUser user) {
  52. List<Long> userIds = userService.selectIdByRoleIds(Arrays.asList(UserTypeJoinRoleEnums.DSP_CUSTOMER.getRoleId(), UserTypeJoinRoleEnums.DSP_MARKET.getRoleId()));
  53. if (CollectionUtils.isEmpty(userIds)) {
  54. return getDataTable(Lists.newArrayList());
  55. }
  56. // 渠道商客服、市场角色对应的用户id
  57. user.setUserIds(userIds);
  58. startPage();
  59. List<SysUser> list = userService.selectUserList(user);
  60. List<SysUserBindAgentDto> userBindAgents = Lists.newArrayList();
  61. list.forEach(item -> {
  62. SysUserBindAgentDto bindAgentDto = new SysUserBindAgentDto();
  63. BeanUtils.copyProperties(item, bindAgentDto);
  64. // 设置代理商信息
  65. userBindAgentService.setAgentInfo(bindAgentDto, item.getUserId());
  66. // 设置角色信息
  67. String roleName = sysRoleService.selectRoleNameByUserId(item.getUserId());
  68. bindAgentDto.setRoleName(roleName);
  69. userBindAgents.add(bindAgentDto);
  70. });
  71. return getDataTable(userBindAgents);
  72. }
  73. /**
  74. * 用户关联代理商信息
  75. */
  76. @GetMapping(value = "/info" )
  77. public Result getFreightInfo(Long id) {
  78. SysUser sysUser = userService.selectUserById(id);
  79. if (sysUser == null) {
  80. Result.error("用户不存在!");
  81. }
  82. SysUserBindAgentDto bindAgentDto = new SysUserBindAgentDto();
  83. BeanUtils.copyProperties(sysUser, bindAgentDto);
  84. // 设置代理商信息
  85. userBindAgentService.setAgentInfo(bindAgentDto, id);
  86. return Result.success(bindAgentDto);
  87. }
  88. /**
  89. * 用户关联代理商
  90. */
  91. @PostMapping(value = "/bind")
  92. @ControllerLog(value = "用户关联代理商", isApp = false)
  93. public Result getFreightInfo(@RequestBody SysUserBindAgentDto bindAgentDto) {
  94. // 绑定代理商
  95. userBindAgentService.bindAgent(bindAgentDto);
  96. return Result.success();
  97. }
  98. }