Qchen 1 рік тому
батько
коміт
0c19324865

+ 3 - 2
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -514,7 +514,7 @@ public class SysUserController extends BaseController {
             sysDeptVo.setName(sysUser.getName() + "工作室"); // 以人名设置工作室名称
             sysDeptVo.setDeptType("C"); // 默认为子公司
             sysDeptVo.setParentId(sysDept.getParentId());
-            sysDeptVo.setManagementSource(sysUser.getDeptSource()); //机构来源
+            sysDeptVo.setManagementSource("jiameng"); //机构来源默认为加盟
             sysDeptVo.setLeaderId(sysUser.getId()); // 负责人ID
             sysDeptVo.setOrderNum(0);
             sysDeptVo.setComattribute("procar"); //机构性质 车险
@@ -561,7 +561,7 @@ public class SysUserController extends BaseController {
         sysUserTrack.setApproveMess(reason);
         sysUserTrackService.save(sysUserTrack);
 
-
+        sysUserService.sendMsgPantner(sysUser.getMobile());
 
         return HttpResult.ok(sysUserService.updateById(sysUser));
 
@@ -876,6 +876,7 @@ public class SysUserController extends BaseController {
     @PostMapping(value = "/saveTeamLeader")
     public HttpResult saveTeamLeader(@RequestBody SysUser2Vo sysUserVo) {
         SysUser sysUser = sysUserVo.getSysUser();
+        sysUser.setType(3);
         SysUserInfo sysUserInfo = new SysUserInfo();
         LocalDate birthday = LocalDate.parse(sysUser.getIdentity().substring(6, 10) + "-" + sysUser.getIdentity().substring(10, 12) + "-" + sysUser.getIdentity().substring(12, 14));
         sysUserInfo.setBirthday(birthday);

+ 4 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -14,13 +14,17 @@ import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.vo.*;
 import com.ydtech.modules.base.model.dto.PageDto;
 import com.ydtech.modules.base.model.vo.PageVo;
+import org.springframework.web.bind.annotation.RequestParam;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 public interface SysUserService extends BaseIService<SysUser> {
 
+    HttpResult sendMsgPantner(String phone);
+
 
     SysUser findByUsername(String username);
 

+ 161 - 8
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -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("修改成功");
     }