linwe
2024-08-09 37be14fc1e419396af3441da0701e2bf99f47112
短信指定楼栋发送
6 files modified
122 ■■■■ changed files
src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java 76 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/smsTask/entity/SmsTaskEntity.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/smsTask/mapper/SmsTaskMapper.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/smsTask/mapper/SmsTaskMapper.xml 22 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/smsTask/service/ISmsTaskService.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/smsTask/service/impl/SmsTaskServiceImpl.java 7 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java
@@ -16,6 +16,7 @@
 */
package org.springblade.modules.sms.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -32,14 +33,15 @@
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.resource.entity.Sms;
import org.springblade.modules.resource.service.ISmsService;
import org.springblade.modules.sms.entity.SmsRecordEntity;
import org.springblade.modules.sms.entity.SmsTemplateEntity;
import org.springblade.modules.sms.mapper.SmsTemplateMapper;
import org.springblade.modules.sms.service.ISmsRecordService;
import org.springblade.modules.sms.service.ISmsSendService;
import org.springblade.modules.sms.service.ISmsTemplateService;
import org.springblade.modules.sms.entity.SmsRecordEntity;
import org.springblade.modules.sms.service.ISmsRecordService;
import org.springblade.modules.smsTask.entity.SmsTaskEntity;
import org.springblade.modules.smsTask.service.ISmsTaskService;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.vo.UserVO;
import org.springblade.modules.task.entity.TaskPlaceSelfCheckEntity;
@@ -358,6 +360,11 @@
    public Boolean batchSendNotice(Long smsTaskId) {
        ISmsTaskService taskService = SpringUtils.getBean(ISmsTaskService.class);
        SmsTaskEntity smsTaskEntity = taskService.getById(smsTaskId);
        List<User> phoneList = taskService.selectSmsTaskListByPhone(smsTaskEntity);
        if (CollectionUtil.isEmpty(phoneList)) {
            logger.error("未查询到电话好好");
            return false;
        }
        Sms serviceOne = iSmsService.getOne(Wrappers.<Sms>lambdaQuery().eq(Sms::getStatus, 2));
        if (serviceOne == null) {
@@ -370,38 +377,41 @@
            logger.error("未找到对应的短信模板");
            return false;
        }
        Boolean aBoolean = false;
        for (User user : phoneList) {
            // 发送的手机号
            List<Map> phonesList = new ArrayList<>();
            Map phoneMap = new HashMap();
            phoneMap.put("phone", user.getPhone());
            List<String> varList = new ArrayList<>();
            // 设置参数
            phoneMap.put("varList", varList);
            phonesList.add(phoneMap);
            // 短信内容
            String content = smsTemplateEntity.getContent();
            // 发送时间
            LocalDateTime nowDateTime = LocalDateTime.now();
            String send_time = nowDateTime.format(SECOND_FORMATTER);
            Map params = new HashMap();
            params.put("phones", phonesList);
            // 短信主题
            params.put("subject", "对外接口不同内容发送-动态模板");
            params.put("content", content);
            // 短信模板
            params.put("template_id", null);
            // 发送时间
            params.put("send_time", send_time);
            // 优先级,高级=5,中级=3,低级=1
            params.put("priority", "1");
            // 不同内容发送类型,1=动态模板发送,2=文件内容发送
            params.put("type", "1");
            // 创建人主键
            params.put("sop_create_by", serviceOne.getSmsCode());
            // 短信发送记录
            saveSmsRecord(user.getPhone(), serviceOne, user.getName(), content);
            aBoolean = sendSmsGet(serviceOne, params);
        }
        //发送的手机号
        List<Map> phonesList = new ArrayList<>();
        Map phoneMap = new HashMap();
        // phoneMap.put("phone", phone);
        List<String> varList = new ArrayList<>();
        // 设置参数
        phoneMap.put("varList", varList);
        phonesList.add(phoneMap);
        //短信内容
        String content = smsTemplateEntity.getContent();
        //发送时间
        LocalDateTime nowDateTime = LocalDateTime.now();
        String send_time = nowDateTime.format(SECOND_FORMATTER);
        Map params = new HashMap();
        params.put("phones", phonesList);
        //短信主题
        params.put("subject", "对外接口不同内容发送-动态模板");
        params.put("content", content);
        //短信模板
        params.put("template_id", null);
        // 发送时间
        params.put("send_time", send_time);
        //优先级,高级=5,中级=3,低级=1
        params.put("priority", "1");
        //不同内容发送类型,1=动态模板发送,2=文件内容发送
        params.put("type", "1");
        //创建人主键
        params.put("sop_create_by", serviceOne.getSmsCode());
        //短信发送记录
        // saveSmsRecord(phone, serviceOne, placeSelfCheckEntity.getPlaceName(), content);
        Boolean aBoolean = sendSmsGet(serviceOne, params);
        return aBoolean;
    }
src/main/java/org/springblade/modules/smsTask/entity/SmsTaskEntity.java
@@ -92,4 +92,8 @@
    @ApiModelProperty(value = "楼栋名称", example = "")
    @TableField("building_name")
    private String buildingName;
    @ApiModelProperty(value = "状态", example = "")
    @TableField("status")
    private String status;
}
src/main/java/org/springblade/modules/smsTask/mapper/SmsTaskMapper.java
@@ -22,7 +22,10 @@
import org.springblade.modules.smsTask.vo.SmsTaskVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.system.entity.User;
import java.util.List;
import java.util.Map;
/**
 * 短信发送任务 Mapper 接口
@@ -56,4 +59,5 @@
     */
    public List<SmsTaskDTO> selectSmsTaskList(SmsTaskDTO smsTaskDTO);
    List<User> selectSmsTaskListByPhone(SmsTaskEntity smsTaskEntity);
}
src/main/java/org/springblade/modules/smsTask/mapper/SmsTaskMapper.xml
@@ -46,7 +46,8 @@
            district_id,
            building_code,
            building_name,
            district_name
            district_name,
            status
        from
            jczz_sms_task
    </sql>
@@ -73,4 +74,23 @@
    </select>
    <select id="selectSmsTaskListByPhone" resultType="org.springblade.modules.system.entity.User">
        SELECT DISTINCT
        bu.phone,
        bu.name
        FROM
        blade_user bu
        LEFT JOIN jczz_household jhd ON bu.id = jhd.associated_user_id
        LEFT JOIN jczz_house jh ON jhd.house_code = jh.house_code
        LEFT JOIN jczz_district jd ON jd.aoi_code = jh.district_code
        LEFT JOIN jczz_sms_task jst ON jst.district_id = jd.id
        <where>
            <if test="id != null">jst.id = #{id}</if>
            <if test="buildingCode != null  and buildingCode != ''">and building_code = #{buildingCode}</if>
            and jhd.relationship = 1
            and bu.phone is not null
        </where>
    </select>
</mapper>
src/main/java/org/springblade/modules/smsTask/service/ISmsTaskService.java
@@ -22,8 +22,10 @@
import org.springblade.modules.smsTask.vo.SmsTaskVO;
import org.springblade.core.mp.base.BaseService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.system.entity.User;
import java.util.List;
import java.util.Map;
/**
 * 短信发送任务 服务类
@@ -59,4 +61,11 @@
     */
    public List<SmsTaskDTO> selectSmsTaskList(SmsTaskDTO smsTaskDTO);
    /**
     *
     * @param
     * @return
     */
    public List<User> selectSmsTaskListByPhone(SmsTaskEntity smsTaskEntity);
}
src/main/java/org/springblade/modules/smsTask/service/impl/SmsTaskServiceImpl.java
@@ -23,10 +23,12 @@
import org.springblade.modules.smsTask.mapper.SmsTaskMapper;
import org.springblade.modules.smsTask.service.ISmsTaskService;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.modules.system.entity.User;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
import java.util.Map;
/**
 * 短信发送任务 服务实现类
@@ -67,5 +69,8 @@
        return this.baseMapper.selectSmsTaskList(smsTaskDTO);
    }
    @Override
    public List<User> selectSmsTaskListByPhone(SmsTaskEntity smsTaskEntity) {
        return baseMapper.selectSmsTaskListByPhone(smsTaskEntity);
    }
}