package com.caimei.modules.club.controller; import com.caimei.modules.club.entity.CmOperationUser; import com.caimei.modules.club.entity.NewCmClub; import com.caimei.modules.club.entity.Page; import com.caimei.modules.club.service.CmOperationUserService; import com.caimei.modules.club.service.NewCmClubService; import com.caimei.utils.JsonModel; import com.caimei.utils.RandomCodeGenerator; import com.caimei.utils.SMSUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.util.StringUtil; import lombok.RequiredArgsConstructor; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.thymeleaf.util.StringUtils; import java.util.Date; import java.util.List; import java.util.Random; /** * 商城运营人员Controller * * @author lijun * @version 2019-11-22 */ @RestController @RequiredArgsConstructor @RequestMapping(value = "/user/cmOperationUser") public class CmOperationUserController { private final CmOperationUserService cmOperationUserService; private final NewCmClubService newCmClubService; /** * 查看运营人员 */ @GetMapping("/list") public JsonModel list(CmOperationUser cmOperationUser, Page page) { PageHelper.startPage(page.getIndex(), page.getPageSize()); List operationUserList = cmOperationUserService.findList(cmOperationUser); Page userPage = new Page<>(operationUserList); return JsonModel.newInstance().success(userPage); } /** * 添加运营人员 * * @param cmOperationUser * @return */ @PostMapping(value = "save") public JsonModel save(@RequestBody CmOperationUser cmOperationUser) { JsonModel jsonModel = JsonModel.newInstance(); //判断该运营人手机号是否已存在 List listBuyBindMobile1 = cmOperationUserService.findListBuyBindMobile(cmOperationUser); if (CollectionUtils.isNotEmpty(listBuyBindMobile1) && listBuyBindMobile1.size() > 0) { return jsonModel.error("该手机号码已被使用"); } Date date = new Date(); if (cmOperationUser.getConfigFlag().equals("2")) {//保存生成邀请码 //生成随机码6位 Integer flag = getInvitationCode(); cmOperationUser.setInvitationCode(String.valueOf(flag)); cmOperationUser.setInvitationCodeTime(date); cmOperationUser.setStatus("1"); //发送短信 String clubID = cmOperationUser.getClubID(); NewCmClub newCmClub = newCmClubService.findClubById(Integer.parseInt(clubID)); String clubName = ""; if (null != newCmClub) { clubName = newCmClub.getName(); } String mobile = cmOperationUser.getMobile(); if (StringUtil.isNotEmpty(mobile)) { SMSUtils.sendSms(mobile, "欢迎加入" + clubName + ",您的邀请码为:" + flag + ",您可在微信搜索“星范采购商城”小程序,输入邀请码进行登录。"); } } if (cmOperationUser.getId() == null) {//新增 cmOperationUser.setAccount(cmOperationUser.getMobile() + RandomCodeGenerator.generateAccount(2)); cmOperationUser.setStatus("1"); } cmOperationUser.setUpdateTime(date); cmOperationUser.setDelFlag("0"); cmOperationUser.setAddTime(date); cmOperationUserService.save(cmOperationUser); return jsonModel.success(); } /** * 验证获取不重复的邀请码 * * @return */ public Integer getInvitationCode() { int flag = new Random().nextInt(999999); if (flag < 100000) { flag += 100000; } //判断生成随机码是否和数据库有重复 CmOperationUser opUser = new CmOperationUser(); opUser.setInvitationCode(String.valueOf(flag)); List listByInvitationCode = cmOperationUserService.getListByInvitationCode(opUser); if (CollectionUtils.isNotEmpty(listByInvitationCode) && listByInvitationCode.size() > 0) {//存在邀请码重新获取 getInvitationCode(); } return flag; } /** * 更新邀请码 * * @param cmOperationUser * @return */ @GetMapping(value = "updateInvitationCode") public JsonModel updateInvitationCode(CmOperationUser cmOperationUser) { if (!StringUtils.equals("2", cmOperationUser.getStatus())) {//如果已绑定则不更新 //生成随机码6位 int flag = getInvitationCode(); cmOperationUser.setInvitationCode(String.valueOf(flag)); cmOperationUser.setInvitationCodeTime(new Date()); cmOperationUser.setStatus("1"); //发送短信 String clubID = cmOperationUser.getClubID(); NewCmClub newCmClub = newCmClubService.findClubById(Integer.parseInt(clubID)); String clubName = ""; if (null != newCmClub) { clubName = newCmClub.getName(); } String mobile = cmOperationUser.getMobile(); if (StringUtil.isNotEmpty(mobile)) { SMSUtils.sendSms(mobile, "欢迎加入" + clubName + ",您的邀请码为:" + flag + ",您可在微信搜索“星范采购商城”小程序,输入邀请码进行登录。"); } cmOperationUserService.save(cmOperationUser); } return JsonModel.newInstance().success(); } /** * 解绑 * * @param cmOperationUser * @return */ @GetMapping(value = "untiedOperationUser") public JsonModel untiedOperationUser(CmOperationUser cmOperationUser) { cmOperationUser.setOpenid(""); cmOperationUser.setNickName(""); cmOperationUser.setBindTime(null); cmOperationUser.setUpdateTime(new Date()); cmOperationUser.setStatus("1"); cmOperationUser.setDelFlag("1"); cmOperationUserService.untiedOperationUser(cmOperationUser); return JsonModel.newInstance().success(); } }