AuthClubServiceImpl.java 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. package com.caimei.service.auth.impl;
  2. import com.caimei.mapper.cmMapper.*;
  3. import com.caimei.model.ResponseJson;
  4. import com.caimei.model.po.ClubUserPo;
  5. import com.caimei.model.vo.*;
  6. import com.caimei.service.auth.AuthClubService;
  7. import com.caimei.utils.AliyunSmsUtil;
  8. import com.caimei.utils.CodeUtil;
  9. import com.caimei.utils.Md5Util;
  10. import com.caimei.utils.SmsUtils;
  11. import com.github.pagehelper.PageHelper;
  12. import com.github.pagehelper.PageInfo;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.apache.commons.lang3.StringUtils;
  15. import org.springframework.stereotype.Service;
  16. import javax.annotation.Resource;
  17. import java.util.*;
  18. /**
  19. * Description
  20. *
  21. * @author : Aslee
  22. * @date : 2021/5/11
  23. */
  24. @Slf4j
  25. @Service
  26. public class AuthClubServiceImpl implements AuthClubService {
  27. @Resource
  28. private ClubMapper clubMapper;
  29. @Resource
  30. private AuthMapper authMapper;
  31. @Resource
  32. private ShopMapper shopMapper;
  33. @Resource
  34. private AuthProductMapper authProductMapper;
  35. @Resource
  36. private DoctorMapper doctorMapper;
  37. @Override
  38. public ResponseJson<PageInfo<ClubVo>> getClubList(Integer authUserId, String clubName, Integer pageNum, Integer pageSize) {
  39. if (null == authUserId) {
  40. return ResponseJson.error("参数异常,请输入供应商用户id", null);
  41. }
  42. PageHelper.startPage(pageNum, pageSize);
  43. List<ClubVo> clubList = clubMapper.getClubList(authUserId, clubName);
  44. PageInfo<ClubVo> pageData = new PageInfo<>(clubList);
  45. return ResponseJson.success(pageData);
  46. }
  47. @Override
  48. public ResponseJson<PageInfo<ClubUserVo>> getClubUserList(Integer authUserId, String mobile, String name, Integer status, Integer pageNum, Integer pageSize) {
  49. if (null == authUserId) {
  50. return ResponseJson.error("参数异常,请输入供应商用户id", null);
  51. }
  52. PageHelper.startPage(pageNum, pageSize);
  53. List<ClubUserVo> clubUserList = clubMapper.getClubUserList(authUserId, mobile, name, status);
  54. PageInfo<ClubUserVo> pageData = new PageInfo<>(clubUserList);
  55. return ResponseJson.success(pageData);
  56. }
  57. @Override
  58. public ResponseJson<PageInfo<WxClubListVo>> getWxClubList(Integer authUserId, String appId, String lngAndLat, String clubName, Integer provinceId,
  59. Integer cityId, Integer townId, Integer pageNum, Integer pageSize) {
  60. if (null == authUserId && StringUtils.isNotEmpty(appId)) {
  61. authUserId = shopMapper.getUserIdByAppId(appId);
  62. }
  63. log.info("查询机构数据,经纬度:" + lngAndLat);
  64. Double lng = null;
  65. Double lat = null;
  66. if (StringUtils.isNotEmpty(lngAndLat)) {
  67. String[] split = lngAndLat.split(",");
  68. lng = Double.parseDouble(split[0]);
  69. lat = Double.parseDouble(split[1]);
  70. }
  71. PageHelper.startPage(pageNum, pageSize);
  72. List<WxClubListVo> clubList = clubMapper.getWxClubList(authUserId, clubName, provinceId, cityId, townId, lng, lat);
  73. PageInfo<WxClubListVo> pageData = new PageInfo<>(clubList);
  74. return ResponseJson.success(pageData);
  75. }
  76. @Override
  77. public ResponseJson submitFeedback(Integer clubUserId, String content) {
  78. if (null == clubUserId) {
  79. return ResponseJson.error("参数异常,请输入机构用户id");
  80. }
  81. if (StringUtils.isEmpty(content)) {
  82. return ResponseJson.error("参数异常,请输入反馈内容");
  83. }
  84. clubMapper.insertFeedback(clubUserId, content);
  85. return ResponseJson.success("提交成功");
  86. }
  87. @Override
  88. public ResponseJson<WxClubDetailsVo> getWxClubDetails(Integer authId) {
  89. if (null == authId) {
  90. return ResponseJson.error("参数异常,请输入机构id", null);
  91. }
  92. WxClubDetailsVo clubDetail = clubMapper.getClubDetails(authId);
  93. if (null == clubDetail) {
  94. return ResponseJson.error("机构不存在", null);
  95. }
  96. // 轮播图列表
  97. List<String> bannerList = authMapper.getBannerList(clubDetail.getAuthId());
  98. clubDetail.setBannerList(bannerList);
  99. // 授权设备列表
  100. List<WxProductListVo> wxProductList = authProductMapper.getClubProductList(authId);
  101. clubDetail.setProductList(wxProductList);
  102. // 操作医师列表
  103. List<WxDoctorListVo> doctorList = doctorMapper.getWxDoctorList(null, authId, 1, null);
  104. doctorList.forEach(doctor->{
  105. List<String> tagList = doctorMapper.getTagList(doctor.getDoctorId());
  106. doctor.setTagList(tagList);
  107. });
  108. clubDetail.setDoctorList(doctorList);
  109. return ResponseJson.success(clubDetail);
  110. }
  111. @Override
  112. public ResponseJson<WxShopVo> getWxShopInfo(Integer authUserId, String appId) {
  113. if (null == authUserId && StringUtils.isNotEmpty(appId)) {
  114. authUserId = shopMapper.getUserIdByAppId(appId);
  115. }
  116. WxShopVo shop = shopMapper.getWxShopInfo(authUserId);
  117. if (null == shop) {
  118. return ResponseJson.error("供应商不存在", null);
  119. }
  120. return ResponseJson.success(shop);
  121. }
  122. @Override
  123. public ResponseJson saveClubUser(Integer clubUserId, Integer authUserId, String mobile) {
  124. // 是否为添加操作
  125. boolean insertFlag = null == clubUserId;
  126. // 构建机构用户
  127. ClubUserPo clubUser = new ClubUserPo();
  128. clubUser.setAuthUserId(authUserId);
  129. clubUser.setMobile(mobile);
  130. if (insertFlag) {
  131. // 根据手机号校验该机构下是否已添加该机构用户
  132. WxClubUserVo wxClubUser = clubMapper.getWxClubUser(mobile, null, authUserId, null, null);
  133. if (null != wxClubUser) {
  134. return ResponseJson.error("该用户已存在,请勿重复添加");
  135. }
  136. clubUser.setAddTime(new Date());
  137. clubUser.setPassword("rzt123456");
  138. clubUser.setStatus(1);
  139. clubMapper.insertClubUser(clubUser);
  140. String content = "您认证通登录密码为:rzt123456";
  141. Boolean sendSms = SmsUtils.sendSms(11, mobile, content);
  142. if (!sendSms) {
  143. log.info("供应商添加机构用户-密码发送失败,手机号:" + mobile);
  144. return ResponseJson.error("发送失败,请确认手机号无误");
  145. } else {
  146. log.info("供应商添加机构用户-密码发送成功,手机号:" + mobile);
  147. }
  148. } else {
  149. clubUser.setId(clubUserId);
  150. clubMapper.updateClubUser(clubUser);
  151. }
  152. return ResponseJson.success("保存机构用户成功");
  153. }
  154. @Override
  155. public ResponseJson deleteClubUser(Integer clubUserId) {
  156. clubMapper.deleteClubUser(clubUserId);
  157. return ResponseJson.success("删除机构用户成功");
  158. }
  159. @Override
  160. public ResponseJson updateStatus(Integer clubUserId, Integer status) {
  161. clubMapper.updateStatus(clubUserId, status);
  162. return ResponseJson.success("修改成功");
  163. }
  164. @Override
  165. public ResponseJson resetClubUserPassword(Integer clubUserId) {
  166. if (clubUserId == null) {
  167. return ResponseJson.error("请输入机构用户id");
  168. }
  169. String newPassword = "rzt123456";
  170. String md5Password = Md5Util.md5(newPassword);
  171. clubMapper.updateClubUserPassword(clubUserId, md5Password);
  172. WxClubUserVo clubUser = clubMapper.getWxClubUser(null, null, null, null, clubUserId);
  173. String mobile = clubUser.getMobile();
  174. String content = "您认证通登录密码为:" + newPassword;
  175. Boolean sendSms = SmsUtils.sendSms(11, mobile, content);
  176. if (!sendSms) {
  177. log.info("机构用户重置密码发送失败,手机号:" + mobile);
  178. return ResponseJson.error("发送失败,请确认手机号无误");
  179. } else {
  180. log.info("机构用户重置密码发送成功,手机号:" + mobile);
  181. }
  182. return ResponseJson.success("密码重置成功");
  183. }
  184. }