Bladeren bron

fix 新增下发短信

tjf 3 jaren geleden
bovenliggende
commit
72f3b77f72

+ 9 - 0
boman-web-core/src/main/java/com/boman/web/core/controller/SendSmsController.java

@@ -120,13 +120,22 @@ public class SendSmsController extends BaseController
             //"{\"name\":\"" + code + "\",\"reportNumber\":\"" + code + "\"}"
             //"{\"name\":\"" + code + "\",\"reportNumber\":\"" + code + "\"}"
             QuerySendDetailsResponse querySendDetailsResponse = SendSmsUtils.sendSmsAndQuery(phone, "{\"ticketId\":\"" + sendSms.getTicketId() + "\",\"name\":\"" + sendSms.getName() + "\",\"result\":\"" + sendSms.getResult() + "\"}", templateName);
             QuerySendDetailsResponse querySendDetailsResponse = SendSmsUtils.sendSmsAndQuery(phone, "{\"ticketId\":\"" + sendSms.getTicketId() + "\",\"name\":\"" + sendSms.getName() + "\",\"result\":\"" + sendSms.getResult() + "\"}", templateName);
             String ok = querySendDetailsResponse.getCode();
             String ok = querySendDetailsResponse.getCode();
+            String message = querySendDetailsResponse.getMessage();
             if ("OK".equals(ok)) {
             if ("OK".equals(ok)) {
+                sendSms.setContent(message);
+                sendSms.setStatus("发送成功");
+                sendSmsService.insertSendSms(sendSms);
                 return AjaxResult.success("发送成功");
                 return AjaxResult.success("发送成功");
             } else {
             } else {
+                sendSms.setContent(message);
+                sendSms.setStatus("发送失败");
+                sendSmsService.insertSendSms(sendSms);
                 return AjaxResult.error(querySendDetailsResponse.getMessage());
                 return AjaxResult.error(querySendDetailsResponse.getMessage());
             }
             }
         } catch (ClientException e) {
         } catch (ClientException e) {
             e.printStackTrace();
             e.printStackTrace();
+            sendSms.setStatus("发送失败");
+            sendSmsService.insertSendSms(sendSms);
         }
         }
         return AjaxResult.error("发送失败");
         return AjaxResult.error("发送失败");
     }
     }

+ 26 - 9
boman-web-core/src/main/java/com/boman/web/core/domain/SendSms.java

@@ -2,9 +2,12 @@ package com.boman.web.core.domain;
 
 
 import com.boman.domain.BaseEntity;
 import com.boman.domain.BaseEntity;
 import com.boman.domain.annotation.Excel;
 import com.boman.domain.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
 
+import java.util.Date;
+
 /**
 /**
  * 中考下发短信日志对象 send_sms
  * 中考下发短信日志对象 send_sms
  * 
  * 
@@ -16,23 +19,26 @@ public class SendSms extends BaseEntity
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
     /** $column.columnComment */
     /** $column.columnComment */
-    private String id;
+    private Long id;
 
 
     /** 发送的手机号 */
     /** 发送的手机号 */
-    @Excel(name = "发送的手机号")
+    @Excel(name = "手机号")
     private String phone;
     private String phone;
     /**
     /**
      * 准考证号码
      * 准考证号码
      */
      */
+    @Excel(name = "准考证号码")
     private String ticketId;
     private String ticketId;
     /**
     /**
      * 姓名
      * 姓名
      */
      */
+    @Excel(name = "姓名")
     private String name;
     private String name;
 
 
     /**
     /**
      *录取结果
      *录取结果
      */
      */
+    @Excel(name = "录取结果")
     private String result;
     private String result;
 
 
 
 
@@ -55,6 +61,18 @@ public class SendSms extends BaseEntity
 
 
     /** 是否删除 */
     /** 是否删除 */
     private String isDel;
     private String isDel;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @Override
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    @Override
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
 
 
     public String getTicketId() {
     public String getTicketId() {
         return ticketId;
         return ticketId;
@@ -88,16 +106,15 @@ public class SendSms extends BaseEntity
         this.templateName = templateName;
         this.templateName = templateName;
     }
     }
 
 
-    public void setId(String id)
-    {
-        this.id = id;
+    public Long getId() {
+        return id;
     }
     }
 
 
-    public String getId() 
-    {
-        return id;
+    public void setId(Long id) {
+        this.id = id;
     }
     }
-    public void setPhone(String phone) 
+
+    public void setPhone(String phone)
     {
     {
         this.phone = phone;
         this.phone = phone;
     }
     }

+ 18 - 3
boman-web-core/src/main/java/com/boman/web/core/service/sendSms/Impl/SendSmsServiceImpl.java

@@ -27,6 +27,11 @@ public class SendSmsServiceImpl implements ISendSmsService
     @Autowired
     @Autowired
     private SendSmsMapper sendSmsMapper;
     private SendSmsMapper sendSmsMapper;
 
 
+    /**
+     * todo 短信模板名称,需要替换
+     */
+    static final String TEMPLATE_CODE = "";
+
     /**
     /**
      * 查询中考下发短信日志
      * 查询中考下发短信日志
      * 
      * 
@@ -112,27 +117,37 @@ public class SendSmsServiceImpl implements ISendSmsService
         StringBuilder successMsg = new StringBuilder();
         StringBuilder successMsg = new StringBuilder();
         StringBuilder failureMsg = new StringBuilder();
         StringBuilder failureMsg = new StringBuilder();
 
 
-        String templateCode = "";
-
         for (SendSms sms : smsList) {
         for (SendSms sms : smsList) {
             // 防止有空行,手机号是必须要有的
             // 防止有空行,手机号是必须要有的
             String phone = sms.getPhone();
             String phone = sms.getPhone();
             if (StringUtils.isEmpty(phone)) {
             if (StringUtils.isEmpty(phone)) {
                 continue;
                 continue;
             }
             }
+            sms.setCreateBy(operName);
             try {
             try {
-                QuerySendDetailsResponse querySendDetailsResponse = SendSmsUtils.sendSmsAndQuery(phone, "{\"ticketId\":\"" + sms.getTicketId() + "\",\"name\":\"" + sms.getName() + "\",\"result\":\"" + sms.getResult() + "\"}", templateCode);
+                QuerySendDetailsResponse querySendDetailsResponse = SendSmsUtils.sendSmsAndQuery(phone, "{\"ticketId\":\"" + sms.getTicketId() + "\",\"name\":\"" + sms.getName() + "\",\"result\":\"" + sms.getResult() + "\"}", TEMPLATE_CODE);
                 String ok = querySendDetailsResponse.getCode();
                 String ok = querySendDetailsResponse.getCode();
+                String message = querySendDetailsResponse.getMessage();
+
                 if ("OK".equals(ok)) {
                 if ("OK".equals(ok)) {
                     successNum++;
                     successNum++;
                     successMsg.append("<br/>").append(successNum).append("、手机号 ").append(sms.getPhone()).append(" 发送成功");
                     successMsg.append("<br/>").append(successNum).append("、手机号 ").append(sms.getPhone()).append(" 发送成功");
+                    sms.setContent(message);
+                    sms.setStatus("发送成功");
+                    sendSmsMapper.insertSendSms(sms);
                 } else {
                 } else {
                     failureNum++;
                     failureNum++;
                     failureMsg.append("<br/>").append(failureNum).append("、手机号 ").append(sms.getPhone()).append(" 发送失败,原因是: ").append(querySendDetailsResponse.getMessage());
                     failureMsg.append("<br/>").append(failureNum).append("、手机号 ").append(sms.getPhone()).append(" 发送失败,原因是: ").append(querySendDetailsResponse.getMessage());
+                    sms.setContent(message);
+                    sms.setStatus("发送失败");
+                    sendSmsMapper.insertSendSms(sms);
                 }
                 }
             } catch (ClientException e) {
             } catch (ClientException e) {
                 failureNum++;
                 failureNum++;
                 failureMsg.append("<br/>").append(failureNum).append("、手机号 ").append(sms.getPhone()).append(" 发送失败");
                 failureMsg.append("<br/>").append(failureNum).append("、手机号 ").append(sms.getPhone()).append(" 发送失败");
+                sms.setStatus("发送失败");
+                sms.setContent("手机号:"+sms.getPhone()+"准考证号:"+sms.getTicketId()+"录取结果:"+sms.getResult());
+                sendSmsMapper.insertSendSms(sms);
             }
             }
             if (failureNum > 0) {
             if (failureNum > 0) {
                 failureMsg.insert(0, "很抱歉,发送失败!共 " + failureNum + " 条,错误如下:");
                 failureMsg.insert(0, "很抱歉,发送失败!共 " + failureNum + " 条,错误如下:");

+ 6 - 1
boman-web-core/src/main/java/com/boman/web/core/utils/SendSmsUtils.java

@@ -154,7 +154,12 @@ public class SendSmsUtils {
         //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
         //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
         //request.setOutId("2345");
         //request.setOutId("2345");
         //hint 此处可能会抛出异常,注意catch
         //hint 此处可能会抛出异常,注意catch
-        SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
+        SendSmsResponse sendSmsResponse = null;
+        try {
+            sendSmsResponse = acsClient.getAcsResponse(request);
+        } catch (ClientException e) {
+            e.printStackTrace();
+        }
         QuerySendDetailsResponse querySendDetailsResponse = SendSmsUtils.querySendDetails(sendSmsResponse.getBizId(), phone, ACCESS_KEY_ID, ACCESS_KEY_SECRET);
         QuerySendDetailsResponse querySendDetailsResponse = SendSmsUtils.querySendDetails(sendSmsResponse.getBizId(), phone, ACCESS_KEY_ID, ACCESS_KEY_SECRET);
         return querySendDetailsResponse;
         return querySendDetailsResponse;
     }
     }

+ 10 - 11
boman-web-core/src/main/resources/mapper/SendSmsMapper.xml

@@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <resultMap type="com.boman.web.core.domain.SendSms" id="SendSmsResult">
     <resultMap type="com.boman.web.core.domain.SendSms" id="SendSmsResult">
         <result property="id"    column="id"    />
         <result property="id"    column="id"    />
         <result property="phone"    column="phone"    />
         <result property="phone"    column="phone"    />
+        <result property="ticketId"    column="ticket_id"    />
         <result property="status"    column="status"    />
         <result property="status"    column="status"    />
         <result property="content"    column="content"    />
         <result property="content"    column="content"    />
         <result property="modifyDate"    column="modify_date"    />
         <result property="modifyDate"    column="modify_date"    />
@@ -18,13 +19,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
     </resultMap>
 
 
     <sql id="selectSendSmsVo">
     <sql id="selectSendSmsVo">
-        select id, phone, status, content, modify_date, create_by, create_time, update_by, update_time, is_del from send_sms
+        select id, phone,ticket_id, status, content, modify_date, create_by, create_time, update_by, update_time, is_del from send_sms
     </sql>
     </sql>
 
 
     <select id="selectSendSmsList" parameterType="SendSms" resultMap="SendSmsResult">
     <select id="selectSendSmsList" parameterType="SendSms" resultMap="SendSmsResult">
         <include refid="selectSendSmsVo"/>
         <include refid="selectSendSmsVo"/>
         <where>  
         <where>  
-            <if test="phone != null  and phone != ''"> and phone like concat('%', #{phone}, '%')</if>
+            <if test="phone != null  and phone != ''"> and phone like concat( #{phone}, '%')</if>
+            <if test="ticketId != null  and ticketId != ''"> and ticket_id like concat( #{ticketId}, '%')</if>
             <if test="status != null  and status != ''"> and status = #{status}</if>
             <if test="status != null  and status != ''"> and status = #{status}</if>
         </where>
         </where>
     </select>
     </select>
@@ -37,28 +39,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <insert id="insertSendSms" parameterType="SendSms">
     <insert id="insertSendSms" parameterType="SendSms">
         insert into send_sms
         insert into send_sms
         <trim prefix="(" suffix=")" suffixOverrides=",">
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="id != null">id,</if>
             <if test="phone != null">phone,</if>
             <if test="phone != null">phone,</if>
+            <if test="ticketId != null">ticket_id,</if>
             <if test="status != null">status,</if>
             <if test="status != null">status,</if>
             <if test="content != null">content,</if>
             <if test="content != null">content,</if>
             <if test="modifyDate != null">modify_date,</if>
             <if test="modifyDate != null">modify_date,</if>
             <if test="createBy != null">create_by,</if>
             <if test="createBy != null">create_by,</if>
-            <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateTime != null">update_time,</if>
             <if test="updateTime != null">update_time,</if>
-            <if test="isDel != null and isDel != ''">is_del,</if>
+            create_time
          </trim>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="id != null">#{id},</if>
             <if test="phone != null">#{phone},</if>
             <if test="phone != null">#{phone},</if>
+            <if test="ticketId != null">#{ticketId},</if>
             <if test="status != null">#{status},</if>
             <if test="status != null">#{status},</if>
             <if test="content != null">#{content},</if>
             <if test="content != null">#{content},</if>
             <if test="modifyDate != null">#{modifyDate},</if>
             <if test="modifyDate != null">#{modifyDate},</if>
             <if test="createBy != null">#{createBy},</if>
             <if test="createBy != null">#{createBy},</if>
-            <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
             <if test="updateTime != null">#{updateTime},</if>
-            <if test="isDel != null and isDel != ''">#{isDel},</if>
+            sysdate()
          </trim>
          </trim>
     </insert>
     </insert>
 
 
@@ -66,14 +66,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         update send_sms
         update send_sms
         <trim prefix="SET" suffixOverrides=",">
         <trim prefix="SET" suffixOverrides=",">
             <if test="phone != null">phone = #{phone},</if>
             <if test="phone != null">phone = #{phone},</if>
+            <if test="ticketId != null">ticket_id = #{ticketId},</if>
             <if test="status != null">status = #{status},</if>
             <if test="status != null">status = #{status},</if>
             <if test="content != null">content = #{content},</if>
             <if test="content != null">content = #{content},</if>
             <if test="modifyDate != null">modify_date = #{modifyDate},</if>
             <if test="modifyDate != null">modify_date = #{modifyDate},</if>
-            <if test="createBy != null">create_by = #{createBy},</if>
-            <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
-            <if test="updateTime != null">update_time = #{updateTime},</if>
             <if test="isDel != null and isDel != ''">is_del = #{isDel},</if>
             <if test="isDel != null and isDel != ''">is_del = #{isDel},</if>
+            update_time = sysdate()
         </trim>
         </trim>
         where id = #{id}
         where id = #{id}
     </update>
     </update>