CmOperationUserController.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. package com.caimei.modules.club.controller;
  2. import com.caimei.modules.club.entity.CmOperationUser;
  3. import com.caimei.modules.club.entity.NewCmClub;
  4. import com.caimei.modules.club.entity.Page;
  5. import com.caimei.modules.club.service.CmOperationUserService;
  6. import com.caimei.modules.club.service.NewCmClubService;
  7. import com.caimei.utils.JsonModel;
  8. import com.caimei.utils.RandomCodeGenerator;
  9. import com.caimei.utils.SMSUtils;
  10. import com.github.pagehelper.PageHelper;
  11. import com.github.pagehelper.util.StringUtil;
  12. import lombok.RequiredArgsConstructor;
  13. import org.apache.commons.collections.CollectionUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Controller;
  16. import org.springframework.web.bind.annotation.*;
  17. import org.thymeleaf.util.StringUtils;
  18. import java.util.Date;
  19. import java.util.List;
  20. import java.util.Random;
  21. /**
  22. * 商城运营人员Controller
  23. *
  24. * @author lijun
  25. * @version 2019-11-22
  26. */
  27. @RestController
  28. @RequiredArgsConstructor
  29. @RequestMapping(value = "/user/cmOperationUser")
  30. public class CmOperationUserController {
  31. private final CmOperationUserService cmOperationUserService;
  32. private final NewCmClubService newCmClubService;
  33. /**
  34. * 查看运营人员
  35. */
  36. @GetMapping("/list")
  37. public JsonModel list(CmOperationUser cmOperationUser, Page page) {
  38. PageHelper.startPage(page.getIndex(), page.getPageSize());
  39. List<CmOperationUser> operationUserList = cmOperationUserService.findList(cmOperationUser);
  40. Page<CmOperationUser> userPage = new Page<>(operationUserList);
  41. return JsonModel.newInstance().success(userPage);
  42. }
  43. /**
  44. * 添加运营人员
  45. *
  46. * @param cmOperationUser
  47. * @return
  48. */
  49. @PostMapping(value = "save")
  50. public JsonModel save(@RequestBody CmOperationUser cmOperationUser) {
  51. JsonModel jsonModel = JsonModel.newInstance();
  52. //判断该运营人手机号是否已存在
  53. List<CmOperationUser> listBuyBindMobile1 = cmOperationUserService.findListBuyBindMobile(cmOperationUser);
  54. if (CollectionUtils.isNotEmpty(listBuyBindMobile1) && listBuyBindMobile1.size() > 0) {
  55. return jsonModel.error("该手机号码已被使用");
  56. }
  57. Date date = new Date();
  58. if (cmOperationUser.getConfigFlag().equals("2")) {//保存生成邀请码
  59. //生成随机码6位
  60. Integer flag = getInvitationCode();
  61. cmOperationUser.setInvitationCode(String.valueOf(flag));
  62. cmOperationUser.setInvitationCodeTime(date);
  63. cmOperationUser.setStatus("1");
  64. //发送短信
  65. String clubID = cmOperationUser.getClubID();
  66. NewCmClub newCmClub = newCmClubService.findClubById(Integer.parseInt(clubID));
  67. String clubName = "";
  68. if (null != newCmClub) {
  69. clubName = newCmClub.getName();
  70. }
  71. String mobile = cmOperationUser.getMobile();
  72. if (StringUtil.isNotEmpty(mobile)) {
  73. SMSUtils.sendSms(mobile, "欢迎加入" + clubName + ",您的邀请码为:" + flag + ",您可在微信搜索“星范采购商城”小程序,输入邀请码进行登录。");
  74. }
  75. }
  76. if (cmOperationUser.getId() == null) {//新增
  77. cmOperationUser.setAccount(cmOperationUser.getMobile() + RandomCodeGenerator.generateAccount(2));
  78. cmOperationUser.setStatus("1");
  79. }
  80. cmOperationUser.setUpdateTime(date);
  81. cmOperationUser.setDelFlag("0");
  82. cmOperationUser.setAddTime(date);
  83. cmOperationUserService.save(cmOperationUser);
  84. return jsonModel.success();
  85. }
  86. /**
  87. * 验证获取不重复的邀请码
  88. *
  89. * @return
  90. */
  91. public Integer getInvitationCode() {
  92. int flag = new Random().nextInt(999999);
  93. if (flag < 100000) {
  94. flag += 100000;
  95. }
  96. //判断生成随机码是否和数据库有重复
  97. CmOperationUser opUser = new CmOperationUser();
  98. opUser.setInvitationCode(String.valueOf(flag));
  99. List<CmOperationUser> listByInvitationCode = cmOperationUserService.getListByInvitationCode(opUser);
  100. if (CollectionUtils.isNotEmpty(listByInvitationCode) && listByInvitationCode.size() > 0) {//存在邀请码重新获取
  101. getInvitationCode();
  102. }
  103. return flag;
  104. }
  105. /**
  106. * 更新邀请码
  107. *
  108. * @param cmOperationUser
  109. * @return
  110. */
  111. @GetMapping(value = "updateInvitationCode")
  112. public JsonModel updateInvitationCode(CmOperationUser cmOperationUser) {
  113. if (!StringUtils.equals("2", cmOperationUser.getStatus())) {//如果已绑定则不更新
  114. //生成随机码6位
  115. int flag = getInvitationCode();
  116. cmOperationUser.setInvitationCode(String.valueOf(flag));
  117. cmOperationUser.setInvitationCodeTime(new Date());
  118. cmOperationUser.setStatus("1");
  119. //发送短信
  120. String clubID = cmOperationUser.getClubID();
  121. NewCmClub newCmClub = newCmClubService.findClubById(Integer.parseInt(clubID));
  122. String clubName = "";
  123. if (null != newCmClub) {
  124. clubName = newCmClub.getName();
  125. }
  126. String mobile = cmOperationUser.getMobile();
  127. if (StringUtil.isNotEmpty(mobile)) {
  128. SMSUtils.sendSms(mobile, "欢迎加入" + clubName + ",您的邀请码为:" + flag + ",您可在微信搜索“星范采购商城”小程序,输入邀请码进行登录。");
  129. }
  130. cmOperationUserService.save(cmOperationUser);
  131. }
  132. return JsonModel.newInstance().success();
  133. }
  134. /**
  135. * 解绑
  136. *
  137. * @param cmOperationUser
  138. * @return
  139. */
  140. @GetMapping(value = "untiedOperationUser")
  141. public JsonModel untiedOperationUser(CmOperationUser cmOperationUser) {
  142. cmOperationUser.setOpenid("");
  143. cmOperationUser.setNickName("");
  144. cmOperationUser.setBindTime(null);
  145. cmOperationUser.setUpdateTime(new Date());
  146. cmOperationUser.setStatus("1");
  147. cmOperationUser.setDelFlag("1");
  148. cmOperationUserService.untiedOperationUser(cmOperationUser);
  149. return JsonModel.newInstance().success();
  150. }
  151. }