浏览代码

fengji 修复剩余天数

yanite 3 年之前
父节点
当前提交
3abfe64387

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherOrderDao.java

@@ -107,5 +107,5 @@ public interface CloudTeacherOrderDao extends BaseDAO<Long, CloudTeacherOrder> {
     
     List<CloudTeacherOrder> queryByUserIdAndStatus(@Param("userId")Integer userId, @Param("status")Integer status);
 
-    Map<Integer, String> findUserNameByOrderId(@Param("platformOrderId")Integer platformOrderId);
+    List<String> findUserNameByOrderId(@Param("platformOrderId")Integer platformOrderId);
 }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TenantProductSumm.java

@@ -25,6 +25,9 @@ public class TenantProductSumm extends TenantInfo implements Serializable  {
     @ApiModelProperty(value = "服务有效期开始")
     private Date expiryDate;
 
+    @ApiModelProperty(value = "服务有效期结束")
+    private Date expiryDateEnd;
+
     @ApiModelProperty(value = "有效期(数字-结合有效期单位)")
     private int expiryCount;
 
@@ -44,9 +47,6 @@ public class TenantProductSumm extends TenantInfo implements Serializable  {
     private Integer studentUpLimit;
 
     // ----------- 计算字段
-    @ApiModelProperty(value = "服务有效期结束")
-    private Date expiryDateEnd;
-
     @ApiModelProperty(value = "剩余天数")
     private Integer validRemaining;
 

+ 7 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -291,8 +291,13 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 
     @Override
     public int sendSms(TenantOrderRecord record) {
-        Map<Integer, String> userPhone = cloudTeacherOrderDao.findUserNameByOrderId(record.getId());
-        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.CLOUD_TEACHER_ORDER_SUCCESS, userPhone, null, 0, null, null);
+        List<String> orderUsers = cloudTeacherOrderDao.findUserNameByOrderId(record.getId());
+        Map<Integer, String> userPhones = new HashMap<>();
+        int i = 0;
+        for (String phone : orderUsers) {
+            userPhones.put(i++, phone);
+        }
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.CLOUD_TEACHER_ORDER_SUCCESS, userPhones, null, 0, null, null);
         return 0;
     }
 

+ 16 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -313,8 +313,9 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			throw new BizException("接收地址不能为空");
 		}
 		// email data from database load, 使用接收者 tenantId, 假设发送者和接收者为同一机构
-		Integer tenantId = getTenantIdByUser(null, String.valueOf(receivers.keySet().stream().findFirst()));
-		loadEmailInfo(messageSender, tenantId);
+		if (Objects.equals(messageSender.getSendMode(), "EMAIL")) {
+			loadEmailInfo(null, receivers.values().stream().findFirst().orElse(null));
+		}
 		if(StringUtils.isNotEmpty(jpushType) && jpushType == "STUDENT"){
 			//如果不是缴费信息
 			if(type != STUDENT_PUSH_VIP_BUY){
@@ -449,8 +450,9 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			throw new BizException("接收地址不能为空");
 		}
 		// email data from database load
-		Integer tenantId = getTenantIdByUser(userId, receiver);
-		loadEmailInfo(messageSender, tenantId);
+		if (Objects.equals(messageSender.getSendMode(), "EMAIL")) {
+			loadEmailInfo(userId, receiver);
+		}
 		Date date = new Date();
 		SendStatusEnum status = SendStatusEnum.WAIT;
 		String errorMsg = null;
@@ -497,16 +499,16 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		}
 	}
 
-	private void loadEmailInfo(MessageSender messageSender, Integer tenantId) {
-		if (Objects.equals(messageSender.getSendMode(), "EMAIL")) {
-			SysEmail email1 = sysEmailService.getOne(new WrapperUtil<SysEmail>().hasEq("tenant_id_", tenantId).queryWrapper());
-			messageSenderPluginContext.sysEmail.setHostName(email1.getHostName());
-			messageSenderPluginContext.sysEmail.setSmtpPort(email1.getSmtpPort());
-			messageSenderPluginContext.sysEmail.setUserName(email1.getUserName());
-			messageSenderPluginContext.sysEmail.setPassword(email1.getPassword());
-			messageSenderPluginContext.sysEmail.setFromName(email1.getFromName());
-			messageSenderPluginContext.sysEmail.setFrom(email1.getFrom());
-		}
+	private void loadEmailInfo(Integer userId,  String receiver) {
+		Integer tenantId = getTenantIdByUser(userId, receiver);
+		SysEmail email1 = sysEmailService.getOne(new WrapperUtil<SysEmail>().hasEq("tenant_id_", tenantId).queryWrapper());
+		messageSenderPluginContext.sysEmail.setHostName(email1.getHostName());
+		messageSenderPluginContext.sysEmail.setSmtpPort(email1.getSmtpPort());
+		messageSenderPluginContext.sysEmail.setUserName(email1.getUserName());
+		messageSenderPluginContext.sysEmail.setPassword(email1.getPassword());
+		messageSenderPluginContext.sysEmail.setFromName(email1.getFromName());
+		messageSenderPluginContext.sysEmail.setFrom(email1.getFrom());
+
 	}
 
 	@Override

+ 4 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoServiceImpl.java

@@ -650,19 +650,13 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
     @Override
     public TenantProductSumm queryTenantInfoProductSumm(Integer tenantId) {
         TenantProductSumm tps = baseMapper.queryTenantInfoProductSumm(tenantId);
-        Date d1;
-        if (Objects.equals(tps.getExpiryUnit(), "MONTH")) {
-            d1 = DateUtil.addMonths(tps.getExpiryDate(), tps.getExpiryCount());
-        } else if (Objects.equals(tps.getExpiryUnit(), "YEAR")) {
-            d1 = DateUtil.addYears(tps.getExpiryDate(), tps.getExpiryCount());
-        } else if (Objects.equals(tps.getExpiryUnit(), "DAY")) {
-            d1 = DateUtil.addDays(tps.getExpiryDate(), tps.getExpiryCount());
+
+        if (tps.getExpiryDateEnd() == null) {
+            tps.setValidRemaining(0);
         } else {
-            d1 = null;
+            tps.setValidRemaining(DateUtil.daysBetween(new Date(), tps.getExpiryDateEnd()));
         }
-        tps.setValidRemaining(DateUtil.daysBetween(new Date(), tps.getExpiryDateEnd()));
         tps.setSumBalance(tps.getBalance().add(tps.getFrozenAmount()));
-        tps.setExpiryDateEnd(d1);
 
         Map<String, Object> params = new HashMap<>();
         params.put("tenantId", tenantId);

+ 2 - 6
mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml

@@ -124,12 +124,8 @@
         where cto.platform_order_id_ = #{platformOrderId} and su.del_flag_ = 0
     </select>
 
-    <resultMap id="mapResult" type="java.util.HashMap">
-        <result property="key" column="studentId"/>
-        <result property="value" column="phone" />
-    </resultMap>
-    <select id="findUserNameByOrderId" resultMap="mapResult">
-        select cto.student_id_ as studentId, su.phone_ as phone from cloud_teacher_order cto
+    <select id="findUserNameByOrderId" resultType="java.lang.String">
+        select su.phone_ as phone from cloud_teacher_order cto
         left join sys_user su on cto.student_id_ = su.id_
         where platform_order_id_ = #{platformOrderId} and su.del_flag_ = 0
     </select>

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/TenantInfoMapper.xml

@@ -91,8 +91,8 @@
     </select>
     <select id="queryTenantInfoProductSumm" resultType="com.ym.mec.biz.dal.entity.TenantProductSumm">
             SELECT t.*, ps.name_ as serverName,
-                   tp.pay_date_ as payDateBegin,
-                   tp.expiry_date_ as expiryDate,
+                   tp.pay_date_ as expiryDate,
+                   tp.expiry_date_ as expiryDateEnd,
                    tp.expiry_count_  as expiryCount,
                    tp.expiry_unit_ as expiryUnit,
                    ta.balance_ as balance,