guoshilong
2023-05-25 affff835d01de682a503eee8b71d48bf35255a50
Merge remote-tracking branch 'origin/jtdev' into jtdev
7 files modified
114 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml 12 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java 76 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsRequest.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsTemplate.java 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.xml 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsResultMapper.xml 1 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.xml 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
@@ -38,27 +38,27 @@
        left join (
        select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
        from "SJZT_MD"."tb_res_manage_person" where  "type"=1 GROUP BY "res_guid"
        from "SJZT_MD"."att_res_manage_person" where  "type"=1 GROUP BY "res_guid"
        ) trmp1 on arb."guid" = trmp1."res_guid"
        left join (
        select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
        from "SJZT_MD"."tb_res_manage_person" where  "type"=2 GROUP BY "res_guid"
        from "SJZT_MD"."att_res_manage_person" where  "type"=2 GROUP BY "res_guid"
        ) trmp2 on arb."guid" = trmp2."res_guid"
        left join (
        select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
        from "SJZT_MD"."tb_res_manage_person" where  "type"=3 GROUP BY "res_guid"
        from "SJZT_MD"."att_res_manage_person" where  "type"=3 GROUP BY "res_guid"
        ) trmp3 on arb."guid" = trmp3."res_guid"
        left join (
        select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
        from "SJZT_MD"."tb_res_manage_person" where  "type"=4 GROUP BY "res_guid"
        from "SJZT_MD"."att_res_manage_person" where  "type"=4 GROUP BY "res_guid"
        ) trmp4 on arb."guid" = trmp4."res_guid"
        left join (
        select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
        from "SJZT_MD"."tb_res_manage_person" where  "type"=5 GROUP BY "res_guid"
        from "SJZT_MD"."att_res_manage_person" where  "type"=5 GROUP BY "res_guid"
        ) trmp5 on arb."guid" = trmp5."res_guid"
        where 1=1
        <if test="params.name !=null and params.name !=''">
@@ -114,7 +114,7 @@
        trmp."user_unit" as unitName,
        trmp."position",
        trmp."user_phone" as phone
        from "SJZT_MD"."tb_res_manage_person" trmp
        from "SJZT_MD"."att_res_manage_person" trmp
        where trmp."res_guid" = #{guid}
    </select>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java
@@ -49,13 +49,87 @@
    }
    /**
     * 短信固定内容发送通用方法(仅支持 {xx} 模式的模板)
     * request 必须包含手机号,模板id,拼接好的内容
     * @param request
     * @return
     */
    @PostMapping("/sendFixedContentByXXModel")
    public R sendFixedContentByXXModel(@RequestBody SMSSendRequest request){
        // 手机号码校验
        if(validatePhone(request.getUserNumber())) {
            // 发送操作
            String sendMsg = SmsUtils.sendMsg(request);
            JSONObject jsonObject = JSON.parseObject(sendMsg);
            // 记录发送记录操作
            SmsResult smsResult = saveSendResult(request, 1);
            if (null != smsResult){
                saveSendRecord(request, sendMsg,smsResult.getId());
            }
            // 返回发送信息
            return R.data(jsonObject);
        }
        // 返回发送信息
        return R.fail(400,"该手机号不存在!");
    }
    /**
     * 短信动态内容发送通用方法(仅支持 具名变量 {手机号码:11} 模式的模板)
     * request 必须包含手机号,模板id,拼接好的内容
     * @param smsRequest
     * @return
     */
    @PostMapping("/sendFixedContentByNamedVariableModel")
    public R sendFixedContentByNamedVariableModel(@RequestBody SmsRequest smsRequest){
        // 处理数据(可能是多个手机号情况)
        List<String> list = Arrays.asList(smsRequest.getPhone().split(","));
        // 保存发送结果
        // 记录保存
        SMSSendRequest request = new SMSSendRequest();
        request.setMessageContent(smsRequest.getContent());
        request.setTemplateId(smsRequest.getTemplateId());
        SmsResult smsResult = saveSendResult(request, list.size());
        // 遍历
        for (String phone : list) {
            DynSMSSendRequest dynSMSSendRequest = new DynSMSSendRequest();
            dynSMSSendRequest.setTemplateId(smsRequest.getTemplateId());
            dynSMSSendRequest.setDynData(smsRequest.getParams());
            // 手机号校验
            if(validator(phone)) {
                // 发送邮件短信
                String dynSendMsg = SmsUtils.dynSendMethod(dynSMSSendRequest);
                // 记录保存
                if (null != smsResult) {
                    SMSSendRequest smsSendRequest = new SMSSendRequest();
                    smsSendRequest.setUserNumber(phone);
                    smsSendRequest.setMessageContent(smsRequest.getContent());
                    smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
                    // 记录发送记录操作
                    saveSendRecord(smsSendRequest, dynSendMsg,smsResult.getId());
                }
            }else {
                // 手机号有误记录
                // 记录保存
                SMSSendRequest smsSendRequest = new SMSSendRequest();
                smsSendRequest.setUserNumber(phone);
                smsSendRequest.setMessageContent(smsRequest.getContent());
                smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
                // 记录发送记录操作
                saveSendRecord(smsSendRequest, "手机号错误未发送...",null);
            }
        }
        return R.status(true);
    }
    /**
     * 发送登录验证码
     * request 必须包含手机号
     * @param request
     * @return
     */
    @PostMapping("/sendCode")
    public R test(@RequestBody SMSSendRequest request){
    public R sendCode(@RequestBody SMSSendRequest request){
        // 手机号码校验
        if(validatePhone(request.getUserNumber())) {
            //设置模板相关信息
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsRequest.java
@@ -15,7 +15,17 @@
    private String phone;
    /**
     * 模板id
     */
    private String templateId;
    /**
     * 内容
     */
    private String content;
    /**
     * 具名参数
     */
    private String[][] params;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsTemplate.java
@@ -33,6 +33,12 @@
    private String templateName;
    /**
     * 模板类型 1:xx变量(原有模式) 2:具名变量
     */
    @ApiModelProperty(value = "模板类型")
    private String type;
    /**
     * 模板内容
     */
    @ApiModelProperty(value = "模板内容")
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.xml
@@ -8,6 +8,13 @@
        <if test="smsRecord.phone!=null and smsRecord.phone!=''">
            and phone like concat(concat('%',#{smsRecord.phone}),'%')
        </if>
        <if test="smsRecord.content!=null and smsRecord.content!=''">
            and content like concat(concat('%',#{smsRecord.content}),'%')
        </if>
        <if test="smsRecord.templateId!=null and smsRecord.templateId!=''">
            and template_id like concat(concat('%',#{smsRecord.templateId}),'%')
        </if>
        order by id desc
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsResultMapper.xml
@@ -5,6 +5,7 @@
    <!--自定义分页列表查询-->
    <select id="selectSmsResultPage" resultType="cn.gistack.sm.sms.vo.SmsResultVO">
        select * from sm_sms_result where 1=1 and is_deleted = 0
        order by id desc
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.xml
@@ -39,7 +39,7 @@
            and account = #{user.account}
        </if>
        <if test="user.realName!=null and user.realName != ''">
            and real_name = #{user.realName}
            and real_name like concat(concat('%',#{user.realName}),'%')
        </if>
        <if test="user.userType!=null and user.userType != ''">
            and user_type = #{user.userType}