AuthClubServiceImpl.java 7.9 KB

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