Bläddra i källkod

feat:手段通知后 发送短信

shc 3 år sedan
förälder
incheckning
ddd470cc56

+ 36 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/SettleNoteWarrantParams.java

@@ -0,0 +1,36 @@
+package com.qunzhixinxi.hnqz.admin.entity;
+
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+
+/**
+ * {@code SettleNoteWarrantParams}
+ *
+ * <p>
+ * 结算短信通知参数
+ * </p>
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2022/03/24 11:40
+ */
+@Data
+@ToString
+public class SettleNoteWarrantParams implements Serializable {
+	private static final long serialVersionUID = 7210920198551076997L;
+
+	private String username;
+
+	private String realname;
+
+	private String bankCard;
+
+	private String deptPermissions;
+
+	private String scorePackageName;
+
+	private String settleAmount;
+
+}

+ 5 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmScorePackageSettleNoteMapper.java

@@ -20,6 +20,7 @@ package com.qunzhixinxi.hnqz.admin.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qunzhixinxi.hnqz.admin.entity.SettleNoteWarrantParams;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageSettleNote;
 import com.qunzhixinxi.hnqz.admin.entity.input.SettleNoteStatusOutput;
 import com.qunzhixinxi.hnqz.admin.entity.output.WmTaskSettleNoteOutput;
@@ -27,6 +28,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Set;
 
 /**
  * @author pigx code generator
@@ -55,4 +57,7 @@ public interface WmScorePackageSettleNoteMapper extends BaseMapper<WmScorePackag
 	 * @return
 	 */
 	List<WmTaskSettleNoteOutput> listWmTaskForSettle(@Param("query") WmScorePackageSettleNote note);
+
+
+	List<SettleNoteWarrantParams> listSettleNoteWarrantParams(@Param("ids")Set<Integer> ids);
 }

+ 41 - 9
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageSettleNoteServiceImpl.java

@@ -16,6 +16,9 @@
  */
 package com.qunzhixinxi.hnqz.admin.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.aliyuncs.exceptions.ClientException;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -34,6 +37,7 @@ import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
 import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageSettleNoteMapper;
 import com.qunzhixinxi.hnqz.admin.service.*;
+import com.qunzhixinxi.hnqz.admin.util.SendSms;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.ding.config.DingConfig;
 import com.qunzhixinxi.hnqz.common.ding.entity.EmployPayResponse;
@@ -604,9 +608,9 @@ public class WmScorePackageSettleNoteServiceImpl extends ServiceImpl<WmScorePack
 
 		// 加锁
 		List<Integer> noteIdList = noteList.stream().filter(note ->
-				redisTemplate.opsForValue().setIfAbsent(
-						CacheConstants.SETTLE_PACKAGE_KEY + ":note_id_" + note.getId(),
-						noteList, CacheConstants.SETTLE_TIME, TimeUnit.DAYS))
+						redisTemplate.opsForValue().setIfAbsent(
+								CacheConstants.SETTLE_PACKAGE_KEY + ":note_id_" + note.getId(),
+								noteList, CacheConstants.SETTLE_TIME, TimeUnit.DAYS))
 				.mapToInt(WmScorePackageSettleNote::getId).boxed().collect(Collectors.toList());
 
 		// 加锁记录数不等于提交记录数,说明存在在途交易
@@ -849,7 +853,7 @@ public class WmScorePackageSettleNoteServiceImpl extends ServiceImpl<WmScorePack
 			WmScorePackage scorePackage = wmScorePackageMapper.selectById(tmp.getPackageId());
 
 			// 遥领不修改
-			if (!"1611890566".equals(scorePackage.getSendPackageDeptId())){
+			if (!"1611890566".equals(scorePackage.getSendPackageDeptId())) {
 				// 更新积分包状态
 				log.info("更新积分包状态:{}", tmp);
 				WmScorePackage wmScorePackage = new WmScorePackage();
@@ -864,12 +868,40 @@ public class WmScorePackageSettleNoteServiceImpl extends ServiceImpl<WmScorePack
 				redisTemplate.delete(CacheConstants.SETTLE_PACKAGE_KEY + tmp.getId());
 			}
 
-		} else {
-			log.info("回调成功,流水号异常: {}", streamId);
-		}
+			// 结算成功发送到账信息
+			if (settleStatus == 1) {
+
+				Set<Integer> ids = noteList.stream().mapToInt(WmScorePackageSettleNote::getId).boxed().collect(Collectors.toSet());
+
+				if (CollUtil.isNotEmpty(ids)) {
 
+					try {
+						List<SettleNoteWarrantParams> settleNoteWarrantParams = baseMapper.listSettleNoteWarrantParams(ids);
+
+						settleNoteWarrantParams.stream()
+								.filter(params -> StrUtil.isNotBlank(params.getBankCard()))
+								.filter(params -> StrUtil.contains(params.getDeptPermissions(), "1"))
+								.collect(Collectors.toList())
+								.forEach(item -> {
+									String bankcard = StrUtil.subSuf(item.getBankCard(), -4);
+									try {
+										SendSms.sendWarrantSMS(bankcard, item.getSettleAmount(), LocalDateTime.now(), item.getScorePackageName(), item.getUsername());
+									} catch (ClientException e) {
+										log.error("发送短信失败:{}", item, e);
+									}
+								});
+					} catch (Exception e) {
+						log.error("获取短信发送信息失败", e);
+					}
+
+				}
+
+			} else {
+				log.info("回调成功,流水号异常: {}", streamId);
+			}
+		}
 		log.info("=== 税邦云 回调处理结束 ===");
 		return R.ok(noteList);
-	}
 
-}
+	}
+}

+ 177 - 111
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/util/SendSms.java

@@ -1,5 +1,7 @@
 package com.qunzhixinxi.hnqz.admin.util;
 
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.json.JSONUtil;
 import com.aliyuncs.DefaultAcsClient;
 import com.aliyuncs.IAcsClient;
 import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest;
@@ -16,7 +18,12 @@ import lombok.extern.slf4j.Slf4j;
 
 import java.nio.charset.Charset;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.UUID;
 
 /**
@@ -26,66 +33,126 @@ import java.util.UUID;
  * 工程依赖了2个jar包(存放在工程的libs目录下)
  * 1:aliyun-java-sdk-core.jar
  * 2:aliyun-java-sdk-dysmsapi.jar
- *
+ * <p>
  * 备注:Demo工程编码采用UTF-8
  * 国际短信发送请勿参照此DEMO
  */
 @Slf4j
 public class SendSms {
 
-    //产品名称:云通信短信API产品,开发者无需替换
-    static final String product = "Dysmsapi";
-    //产品域名,开发者无需替换
-    static final String domain = "dysmsapi.aliyuncs.com";
+	//产品名称:云通信短信API产品,开发者无需替换
+	static final String product = "Dysmsapi";
+	//产品域名,开发者无需替换
+	static final String domain = "dysmsapi.aliyuncs.com";
 
-    // TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
-    static final String accessKeyId = "LTAI4GAdn6AGmW3BaA2Q8Jte";
-    static final String accessKeySecret = "75bY85ZCv15GjOuHaQheFnz9AdtBUx";
+	// TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
+	static final String accessKeyId = "LTAI4GAdn6AGmW3BaA2Q8Jte";
+	static final String accessKeySecret = "75bY85ZCv15GjOuHaQheFnz9AdtBUx";
 
-    public static SendSmsResponse sendSms(String loginCode,String phoneNumber) throws ClientException {
+	public static SendSmsResponse sendSms(String loginCode, String phoneNumber) throws ClientException {
 
-        //可自助调整超时时间
-        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
-        System.setProperty("sun.net.client.defaultReadTimeout", "10000");
+		//可自助调整超时时间
+		System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
+		System.setProperty("sun.net.client.defaultReadTimeout", "10000");
+
+		//初始化acsClient,暂不支持region化
+		IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
+		DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
+		IAcsClient acsClient = new DefaultAcsClient(profile);
+
+		//组装请求对象-具体描述见控制台-文档部分内容
+		SendSmsRequest request = new SendSmsRequest();
+		//必填:待发送手机号
+		request.setPhoneNumbers(phoneNumber);
+		//必填:短信签名-可在短信控制台中找到
+		request.setSignName("要易医药助手");
+		//必填:短信模板-可在短信控制台中找到
+		request.setTemplateCode("SMS_199760218");
+		//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
+		request.setTemplateParam("{\"code\":\"" + loginCode + "\"}");
+
+		//选填-上行短信扩展码(无特殊需求用户请忽略此字段)
+		//request.setSmsUpExtendCode("90997");
+
+		//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
+		//request.setOutId("yourOutId");
+
+		//hint 此处可能会抛出异常,注意catch
+		SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
+
+		return sendSmsResponse;
+	}
+
+	/**
+	 * 到账通知
+	 * SMS_237061877
+	 * <p>
+	 * 您银行尾号${bank}的银行卡有一笔${money}元的收款,到账时间是${datetime}(备注:${project_name}),请注意查收,本短信不作为入账凭证。
+	 * </p>
+	 *
+	 * @param bankcard    银行卡后四位
+	 * @param money       支付金额
+	 * @param datetime    时间
+	 * @param projectName 项目名称
+	 * @param phoneNumber 目标手机号
+	 * @return
+	 * @throws ClientException
+	 */
+	public static SendSmsResponse sendWarrantSMS(String bankcard, String money, LocalDateTime datetime, String projectName, String phoneNumber) throws ClientException {
+
+		//可自助调整超时时间
+		System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
+		System.setProperty("sun.net.client.defaultReadTimeout", "10000");
 
-        //初始化acsClient,暂不支持region化
-        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
-        DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
-        IAcsClient acsClient = new DefaultAcsClient(profile);
+		//初始化acsClient,暂不支持region化
+		IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
+		DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
+		IAcsClient acsClient = new DefaultAcsClient(profile);
 
-        //组装请求对象-具体描述见控制台-文档部分内容
-        SendSmsRequest request = new SendSmsRequest();
-        //必填:待发送手机号
-        request.setPhoneNumbers(phoneNumber);
-        //必填:短信签名-可在短信控制台中找到
-        request.setSignName("要易医药助手");
-        //必填:短信模板-可在短信控制台中找到
-        request.setTemplateCode("SMS_199760218");
-        //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
-        request.setTemplateParam("{\"code\":\""+loginCode+"\"}");
+		//组装请求对象-具体描述见控制台-文档部分内容
+		SendSmsRequest request = new SendSmsRequest();
+		//必填:待发送手机号
+		request.setPhoneNumbers(phoneNumber);
+		//必填:短信签名-可在短信控制台中找到
+		request.setSignName("要易云");
+		//必填:短信模板-可在短信控制台中找到
+		request.setTemplateCode("SMS_237061877");
+		//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
+
+		Map<String, String> params = new HashMap<>(4);
+		params.put("bank", bankcard);
+		params.put("money", money);
+		params.put("datetime", datetime.format(DateTimeFormatter.ofPattern("MM月dd日 HH:mm")));
+		params.put("project_name", projectName);
+
+		String paramsJson = JSONUtil.toJsonStr(params);
+
+		log.warn("发送打款确认信息:{}", paramsJson);
+		request.setTemplateParam(paramsJson);
 
-        //选填-上行短信扩展码(无特殊需求用户请忽略此字段)
-        //request.setSmsUpExtendCode("90997");
+		//选填-上行短信扩展码(无特殊需求用户请忽略此字段)
+		//request.setSmsUpExtendCode("90997");
 
-        //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
-        //request.setOutId("yourOutId");
+		//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
+		//request.setOutId("yourOutId");
 
-        //hint 此处可能会抛出异常,注意catch
-        SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
+		//hint 此处可能会抛出异常,注意catch
+		SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
 
-        return sendSmsResponse;
-    }
+		return sendSmsResponse;
+	}
 
 	/**
-	 *SMS_206495034  要易医药助手:由于您身份证实名认证未通过,${name}给您发起任务包结算失败,为不影响向您结算,
+	 * SMS_206495034  要易医药助手:由于您身份证实名认证未通过,${name}给您发起任务包结算失败,为不影响向您结算,
 	 * 请您登陆要易推广助手小程序,在个人名片确认身份证信息是否正确。
+	 *
 	 * @param msg
 	 * @param phoneNumber
 	 * @return
 	 * @throws ClientException
 	 */
-	public static SendSmsResponse sendNoticeSms(String msg,String phoneNumber) throws ClientException {
-		log.debug(msg+"发送提醒短信"+phoneNumber);
+	public static SendSmsResponse sendNoticeSms(String msg, String phoneNumber) throws ClientException {
+		log.debug(msg + "发送提醒短信" + phoneNumber);
 		//可自助调整超时时间
 		System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
 		System.setProperty("sun.net.client.defaultReadTimeout", "10000");
@@ -105,7 +172,7 @@ public class SendSms {
 		//TODO 短信提示信息
 		request.setTemplateCode("SMS_206495034");
 		//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
-		request.setTemplateParam("{\"name\":\""+msg+"\"}");
+		request.setTemplateParam("{\"name\":\"" + msg + "\"}");
 		//hint 此处可能会抛出异常,注意catch
 		SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
 
@@ -114,16 +181,17 @@ public class SendSms {
 
 
 	/**
-	 *SMS_206485071  要易医药助手:由于您的身份证信息缺失,${name}给您发起任务包结算失败,
+	 * SMS_206485071  要易医药助手:由于您的身份证信息缺失,${name}给您发起任务包结算失败,
 	 * 为不影响向您结算,请您登陆要易推广助手小程序,在个人名片尽快补录身份证号信息。
+	 *
 	 * @param msg
 	 * @param phoneNumber
 	 * @return
 	 * @throws ClientException
 	 */
-	public static SendSmsResponse sendNoticeSms2(String msg,String phoneNumber) throws ClientException {
+	public static SendSmsResponse sendNoticeSms2(String msg, String phoneNumber) throws ClientException {
 
-		log.debug(msg+"发送提醒短信"+phoneNumber);
+		log.debug(msg + "发送提醒短信" + phoneNumber);
 		//可自助调整超时时间
 		System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
 		System.setProperty("sun.net.client.defaultReadTimeout", "10000");
@@ -143,7 +211,7 @@ public class SendSms {
 		//TODO 短信提示信息
 		request.setTemplateCode("SMS_206485071");
 		//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
-		request.setTemplateParam("{\"name\":\""+msg+"\"}");
+		request.setTemplateParam("{\"name\":\"" + msg + "\"}");
 		//hint 此处可能会抛出异常,注意catch
 		SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
 
@@ -151,76 +219,74 @@ public class SendSms {
 	}
 
 
-    public static QuerySendDetailsResponse querySendDetails(String bizId) throws ClientException {
-
-        //可自助调整超时时间
-        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
-        System.setProperty("sun.net.client.defaultReadTimeout", "10000");
-
-        //初始化acsClient,暂不支持region化
-        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
-        DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
-        IAcsClient acsClient = new DefaultAcsClient(profile);
-
-        //组装请求对象
-        QuerySendDetailsRequest request = new QuerySendDetailsRequest();
-        //必填-号码
-        request.setPhoneNumber("15000000000");
-        //可选-流水号
-        request.setBizId(bizId);
-        //必填-发送日期 支持30天内记录查询,格式yyyyMMdd
-        SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd");
-        request.setSendDate(ft.format(new Date()));
-        //必填-页大小
-        request.setPageSize(10L);
-        //必填-当前页码从1开始计数
-        request.setCurrentPage(1L);
-
-        //hint 此处可能会抛出异常,注意catch
-        QuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request);
-
-        return querySendDetailsResponse;
-    }
-
-    public static boolean sendSmsCode(String phoneNumber,String loginCode) throws ClientException, InterruptedException {
-
-        //发短信
-        SendSmsResponse response = sendSms(loginCode,phoneNumber);
-        System.out.println("短信接口返回的数据----------------");
-        System.out.println("Code=" + response.getCode());
-        System.out.println("Message=" + response.getMessage());
-        System.out.println("RequestId=" + response.getRequestId());
-        System.out.println("BizId=" + response.getBizId());
-
-        Thread.sleep(3000L);
-
-        //查明细
-        if(response.getCode() != null && response.getCode().equals("OK")) {
-            QuerySendDetailsResponse querySendDetailsResponse = querySendDetails(response.getBizId());
-            System.out.println("短信明细查询接口返回数据----------------");
-            System.out.println("Code=" + querySendDetailsResponse.getCode());
-            System.out.println("Message=" + querySendDetailsResponse.getMessage());
-            int i = 0;
-            for(QuerySendDetailsResponse.SmsSendDetailDTO smsSendDetailDTO : querySendDetailsResponse.getSmsSendDetailDTOs())
-            {
-                System.out.println("SmsSendDetailDTO["+i+"]:");
-                System.out.println("Content=" + smsSendDetailDTO.getContent());
-                System.out.println("ErrCode=" + smsSendDetailDTO.getErrCode());
-                System.out.println("OutId=" + smsSendDetailDTO.getOutId());
-                System.out.println("PhoneNum=" + smsSendDetailDTO.getPhoneNum());
-                System.out.println("ReceiveDate=" + smsSendDetailDTO.getReceiveDate());
-                System.out.println("SendDate=" + smsSendDetailDTO.getSendDate());
-                System.out.println("SendStatus=" + smsSendDetailDTO.getSendStatus());
-                System.out.println("Template=" + smsSendDetailDTO.getTemplateCode());
-            }
-            System.out.println("TotalCount=" + querySendDetailsResponse.getTotalCount());
-            System.out.println("RequestId=" + querySendDetailsResponse.getRequestId());
-            return true;
-        }else{
-        	return false;
-		}
+	public static QuerySendDetailsResponse querySendDetails(String bizId) throws ClientException {
+
+		//可自助调整超时时间
+		System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
+		System.setProperty("sun.net.client.defaultReadTimeout", "10000");
+
+		//初始化acsClient,暂不支持region化
+		IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
+		DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
+		IAcsClient acsClient = new DefaultAcsClient(profile);
+
+		//组装请求对象
+		QuerySendDetailsRequest request = new QuerySendDetailsRequest();
+		//必填-号码
+		request.setPhoneNumber("15000000000");
+		//可选-流水号
+		request.setBizId(bizId);
+		//必填-发送日期 支持30天内记录查询,格式yyyyMMdd
+		SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd");
+		request.setSendDate(ft.format(new Date()));
+		//必填-页大小
+		request.setPageSize(10L);
+		//必填-当前页码从1开始计数
+		request.setCurrentPage(1L);
+
+		//hint 此处可能会抛出异常,注意catch
+		QuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request);
 
+		return querySendDetailsResponse;
+	}
+
+	public static boolean sendSmsCode(String phoneNumber, String loginCode) throws ClientException, InterruptedException {
+
+		//发短信
+		SendSmsResponse response = sendSms(loginCode, phoneNumber);
+		System.out.println("短信接口返回的数据----------------");
+		System.out.println("Code=" + response.getCode());
+		System.out.println("Message=" + response.getMessage());
+		System.out.println("RequestId=" + response.getRequestId());
+		System.out.println("BizId=" + response.getBizId());
+
+		Thread.sleep(3000L);
+
+		//查明细
+		if (response.getCode() != null && response.getCode().equals("OK")) {
+			QuerySendDetailsResponse querySendDetailsResponse = querySendDetails(response.getBizId());
+			System.out.println("短信明细查询接口返回数据----------------");
+			System.out.println("Code=" + querySendDetailsResponse.getCode());
+			System.out.println("Message=" + querySendDetailsResponse.getMessage());
+			int i = 0;
+			for (QuerySendDetailsResponse.SmsSendDetailDTO smsSendDetailDTO : querySendDetailsResponse.getSmsSendDetailDTOs()) {
+				System.out.println("SmsSendDetailDTO[" + i + "]:");
+				System.out.println("Content=" + smsSendDetailDTO.getContent());
+				System.out.println("ErrCode=" + smsSendDetailDTO.getErrCode());
+				System.out.println("OutId=" + smsSendDetailDTO.getOutId());
+				System.out.println("PhoneNum=" + smsSendDetailDTO.getPhoneNum());
+				System.out.println("ReceiveDate=" + smsSendDetailDTO.getReceiveDate());
+				System.out.println("SendDate=" + smsSendDetailDTO.getSendDate());
+				System.out.println("SendStatus=" + smsSendDetailDTO.getSendStatus());
+				System.out.println("Template=" + smsSendDetailDTO.getTemplateCode());
+			}
+			System.out.println("TotalCount=" + querySendDetailsResponse.getTotalCount());
+			System.out.println("RequestId=" + querySendDetailsResponse.getRequestId());
+			return true;
+		} else {
+			return false;
+		}
 
 
-    }
+	}
 }

+ 18 - 0
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmScorePackageSettleNoteMapper.xml

@@ -167,4 +167,22 @@
 		</if>
 		ORDER BY e.sub_time DESC, t.id
 	</select>
+
+	<select id="listSettleNoteWarrantParams" resultType="com.qunzhixinxi.hnqz.admin.entity.SettleNoteWarrantParams">
+		SELECT
+			u.username,
+			u.realname,
+			u.bank_card_number,
+			sd.dept_permissions,
+			sp.score_package_name,
+			n.settle_amount
+		FROM wm_score_package_settle_note n
+				 LEFT JOIN wm_score_package sp ON sp.id = n.package_id
+				 LEFT JOIN sys_user u ON u.user_id = n.user_id
+				 LEFT JOIN sys_dept sd ON u.dept_id = sd.dept_id
+		WHERE n.id IN
+		      <foreach collection="ids" item="id" index="index" open="(" close=")" separator=",">
+				  #{id}
+			  </foreach>
+	</select>
 </mapper>