动态短信发送记录保存,组织机构数据查询修改,排除部门绑定不上人员数据
2 files modified
38 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java 32 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java
@@ -96,6 +96,7 @@
     * 校验手机号码
     */
    public static boolean validator(String phone) {
        if (null!=phone && !phone.equals("")) {
        String regex = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$";
        if (phone.length() != 11) {
            return false;
@@ -105,6 +106,8 @@
            boolean isMatch = m.matches();
            return isMatch;
        }
        }
        return false;
    }
    /**
@@ -133,20 +136,39 @@
    /**
     * 发送邮件提醒
     * @param request
     * @param smsRequest
     * @return
     */
    @PostMapping("/sendEmailMsg")
    public R sendEmailMsg(@RequestBody SmsRequest request){
    public R sendEmailMsg(@RequestBody SmsRequest smsRequest){
        // 处理数据(可能是多个手机号情况)
        List<String> list = Arrays.asList(request.getPhone().split(","));
        List<String> list = Arrays.asList(smsRequest.getPhone().split(","));
        // 遍历
        for (String phone : list) {
            DynSMSSendRequest dynSMSSendRequest = new DynSMSSendRequest();
            dynSMSSendRequest.setTemplateId("2431012165350");
            dynSMSSendRequest.setDynData(new String[][]{{"手机号码","标题"},{phone,request.getContent()}});
            dynSMSSendRequest.setDynData(new String[][]{{"手机号码", "标题"}, {phone, smsRequest.getContent()}});
            // 手机号校验
            if(validator(phone)) {
            // 发送邮件短信
            SmsUtils.dynSendMethod(dynSMSSendRequest);
                String dynSendMsg = SmsUtils.dynSendMethod(dynSMSSendRequest);
                // 记录保存
                SMSSendRequest request = new SMSSendRequest();
                request.setUserNumber(phone);
                request.setMessageContent(smsRequest.getContent());
                request.setTemplateId(dynSMSSendRequest.getTemplateId());
                // 记录发送记录操作
                saveSendRecord(request, dynSendMsg);
            }else {
                // 手机号有误记录
                // 记录保存
                SMSSendRequest request = new SMSSendRequest();
                request.setUserNumber(phone);
                request.setMessageContent(smsRequest.getContent());
                request.setTemplateId(dynSMSSendRequest.getTemplateId());
                // 记录发送记录操作
                saveSendRecord(request, "手机号错误未发送...");
            }
        }
        return R.status(true);
    }
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml
@@ -175,16 +175,16 @@
        </if>
    </select>
    <!--查询组织机构树数据(下级包含人员信息)-->
    <!--查询组织机构树数据(下级包含人员信息)(排除组织机构对应不上的人员)-->
    <select id="getUserMap" resultType="cn.gistack.common.node.DeptUserTreeNode">
        select
        bu.id,
        bu.dept_id parentId,
        bu.account AS name,
        bu.real_name AS name,
        bu.phone,
        2 as isMan,
        0 as hasChildren
        from blade_user bu left join blade_dept bd on bd.id = bu.dept_id
        from blade_user bu join blade_dept bd on find_in_set(bu.dept_id,bd.id)
        where 1=1 and bu.is_deleted = 0 and bu.status = 1
        <if test="treeNode.id!=null and treeNode.id!=''">
            and bu.dept_id like concat(concat('%',#{treeNode.id}),'%')