|
|
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.ydtech.constants.InsuranceImageEnum;
|
|
|
import com.ydtech.constants.SysConstants;
|
|
|
+import com.ydtech.constants.sys.SysPasswordEnum;
|
|
|
import com.ydtech.core.page.HttpResult;
|
|
|
import com.ydtech.core.page.PageResult;
|
|
|
import com.ydtech.exception.SystemException;
|
|
|
@@ -39,15 +40,26 @@ import com.ydtech.security.utils.PasswordUtils;
|
|
|
import com.ydtech.utils.StringUtils;
|
|
|
import com.ydtech.utils.idgen.IdGenerate;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.io.*;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.net.HttpURLConnection;
|
|
|
+import java.net.URL;
|
|
|
+import java.net.URLEncoder;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import static com.ydtech.constants.RedisConstant.PHONE_VERIFICATION_CODE_KEY;
|
|
|
+import static com.ydtech.constants.RedisConstant.PHONE_VERIFICATION_CODE_KEY_TIME;
|
|
|
+
|
|
|
|
|
|
@Service
|
|
|
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
|
|
|
@@ -91,6 +103,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
@Autowired
|
|
|
private SysPcAddressService sysPcAddressService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private StringRedisTemplate redisTemplate;
|
|
|
+
|
|
|
@Autowired
|
|
|
private SysUserLinkAreaMapper sysUserLinkAreaMapper;
|
|
|
@Autowired
|
|
|
@@ -264,6 +279,152 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
+ public HttpResult sendMsgPantner(String phone) {
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isEmpty(phone)) {
|
|
|
+ return HttpResult.error("手机号不能为空");
|
|
|
+ }
|
|
|
+// if ("0".equals(type)) { // 0 登录 1 注册
|
|
|
+ SysUser sysUser = this.findByPhone(phone);
|
|
|
+ if (sysUser == null) {
|
|
|
+ return HttpResult.error("手机号不存在!");
|
|
|
+ }
|
|
|
+// }
|
|
|
+ String createTime = String.valueOf(sysUser.getCreateTime());
|
|
|
+ String userId = sysUser.getId();
|
|
|
+ List<SysUserTrack> sysUserTracks = sysUserTrackService.list(new LambdaQueryWrapper<SysUserTrack>().eq(SysUserTrack::getUserId,userId).orderByDesc(SysUserTrack::getApproveTime));
|
|
|
+ SysUserTrack sysUserTrack = sysUserTracks.get(0);
|
|
|
+ String apprveMess = sysUserTrack.getApproveMess();
|
|
|
+ Integer status = sysUserTrack.getStatus();
|
|
|
+ String status1 = "";
|
|
|
+ if (status == 3) {
|
|
|
+ status1 = "入司审核驳回";
|
|
|
+ }
|
|
|
+
|
|
|
+ Integer type = sysUser.getType();
|
|
|
+ Integer level = sysUser.getLevel();
|
|
|
+ String source = sysUser.getManagementSource();
|
|
|
+ String type1 = "";
|
|
|
+ if (type == 1) {
|
|
|
+ type1 = "合伙人申请";
|
|
|
+ } else if (type == 2) {
|
|
|
+ type1 = "工作室申请";
|
|
|
+ } else if (type == 3) {
|
|
|
+ type1 = "团队长申请";
|
|
|
+ }
|
|
|
+ Random rand = new Random();
|
|
|
+ // randNumber 将被赋值为一个 MIN 和 MAX 范围内的随机数
|
|
|
+ int randNumber = rand.nextInt(9999 - 1000 + 1) + 1000;
|
|
|
+ // 保存验证码到redis
|
|
|
+ redisTemplate.opsForValue().set(PHONE_VERIFICATION_CODE_KEY + phone, String.valueOf(randNumber), PHONE_VERIFICATION_CODE_KEY_TIME
|
|
|
+ , TimeUnit.MINUTES);
|
|
|
+
|
|
|
+ String result = null;
|
|
|
+ String url = "http://v.juhe.cn/sms/send";//请求接口地址
|
|
|
+ Map params = new HashMap();//请求参数
|
|
|
+ params.put("mobile", phone);//接收短信的手机号码
|
|
|
+ params.put("tpl_id", "71853");//短信模板ID,请参考个人中心短信模板设置
|
|
|
+ String textVal = "#code#=" + randNumber ;
|
|
|
+ params.put("tpl_value", textVal);//变量名和变量值对。如果你的变量名或者变量值中带有#&=中的任意一个特殊符号,请先分别进行urlencode编码后再传递,<a href="http://www.juhe.cn/news/index/id/50"
|
|
|
+ params.put("user_id", userId);
|
|
|
+ params.put("timeCreate", createTime);
|
|
|
+ params.put("apprveMess", apprveMess);
|
|
|
+ if (level != null) {
|
|
|
+ params.put("level", level);
|
|
|
+ }
|
|
|
+ if (source != null) {
|
|
|
+ params.put("source", source);
|
|
|
+ }
|
|
|
+ params.put("status", status1);
|
|
|
+ params.put("type", type1);
|
|
|
+ // target="_blank">详细说明></a>
|
|
|
+ params.put("key", "fbe7b165e9e13e52f3b1f2654eab9c0e");//应用APPKEY(应用详细页查询)
|
|
|
+ params.put("dtype", "json");//返回数据的格式,xml或json,默认json
|
|
|
+
|
|
|
+ try {
|
|
|
+ result = net(url, params, "GET");
|
|
|
+ JSONObject object = JSONObject.parseObject(result);
|
|
|
+ if (object.getInteger("error_code") == 0) {
|
|
|
+// System.out.println(object.get("result"));
|
|
|
+ return HttpResult.ok("发送成功");
|
|
|
+ } else {
|
|
|
+ System.out.println(object.get("error_code") + ":" + object.get("reason"));
|
|
|
+ return HttpResult.error("发送失败," + object.get("error_code") + ":" + object.get("reason"));
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return HttpResult.ok("发送失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ public String net(String strUrl, Map params, String method) throws Exception {
|
|
|
+ String DEF_CHATSET = "UTF-8";
|
|
|
+ int DEF_CONN_TIMEOUT = 30000;
|
|
|
+ int DEF_READ_TIMEOUT = 30000;
|
|
|
+ String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
|
|
|
+
|
|
|
+ HttpURLConnection conn = null;
|
|
|
+ BufferedReader reader = null;
|
|
|
+ String rs = null;
|
|
|
+ try {
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+ if (method == null || method.equals("GET")) {
|
|
|
+ strUrl = strUrl + "?" + urlencode(params);
|
|
|
+ }
|
|
|
+ URL url = new URL(strUrl);
|
|
|
+ conn = (HttpURLConnection) url.openConnection();
|
|
|
+ if (method == null || method.equals("GET")) {
|
|
|
+ conn.setRequestMethod("GET");
|
|
|
+ } else {
|
|
|
+ conn.setRequestMethod("POST");
|
|
|
+ conn.setDoOutput(true);
|
|
|
+ }
|
|
|
+ conn.setRequestProperty("User-agent", userAgent);
|
|
|
+ conn.setUseCaches(false);
|
|
|
+ conn.setConnectTimeout(DEF_CONN_TIMEOUT);
|
|
|
+ conn.setReadTimeout(DEF_READ_TIMEOUT);
|
|
|
+ conn.setInstanceFollowRedirects(false);
|
|
|
+ conn.connect();
|
|
|
+ if (params != null && Objects.equals(method, "POST")) {
|
|
|
+ try {
|
|
|
+ DataOutputStream out = new DataOutputStream(conn.getOutputStream());
|
|
|
+ out.writeBytes(urlencode(params));
|
|
|
+ } catch (Exception e) {
|
|
|
+ // TODO: handle exception
|
|
|
+ }
|
|
|
+ }
|
|
|
+ InputStream is = conn.getInputStream();
|
|
|
+ reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));
|
|
|
+ String strRead = null;
|
|
|
+ while ((strRead = reader.readLine()) != null) {
|
|
|
+ sb.append(strRead);
|
|
|
+ }
|
|
|
+ rs = sb.toString();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } finally {
|
|
|
+ if (reader != null) {
|
|
|
+ reader.close();
|
|
|
+ }
|
|
|
+ if (conn != null) {
|
|
|
+ conn.disconnect();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return rs;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String urlencode(Map<String, Object> data) {
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ for (Map.Entry i : data.entrySet()) {
|
|
|
+ try {
|
|
|
+ sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue() + "", "UTF-8")).append("&");
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return sb.toString();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public SysUser findByUsername(String username) {
|
|
|
SysUser sysUser = null;
|
|
|
@@ -936,14 +1097,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
sysUserTrackService.save(sysUserTrack);
|
|
|
}
|
|
|
SpringUtil.getBean(RecordUserUtils.class).recordUser(sysUserVo, BaseController.getUserName());
|
|
|
- Integer type = sysUser.getType();
|
|
|
- if (type != null && type == 1) {
|
|
|
- //编辑合伙人
|
|
|
- SysPartnerDto sysPartnerDto = new SysPartnerDto();
|
|
|
- sysPartnerDto.setUserName(sysUser.getName());
|
|
|
- sysPartnerDto.setUserId(sysUser.getId());
|
|
|
- sysPartnerService.edit(sysPartnerDto);
|
|
|
- }
|
|
|
|
|
|
return HttpResult.ok("修改成功");
|
|
|
}
|