Browse Source

Merge remote-tracking branch 'origin/2021-04-21_music_replace' into 2021-04-21_music_replace

Joburgess 4 năm trước cách đây
mục cha
commit
b8f4ad340f

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ReplacementInstrumentActivityDao.java

@@ -24,4 +24,11 @@ public interface ReplacementInstrumentActivityDao extends BaseDAO<Integer, Repla
     int openPay(@Param("cooperationOrganId") Integer cooperationOrganId);
 
     ReplacementInstrumentActivity getLock(@Param("id") Integer id);
+
+    /**
+     * 获取开启缴费推送的人
+     * @param cooperationOrganId
+     * @return
+     */
+    List<ReplacementInstrumentActivityStatDto> getPushUsers(@Param("cooperationOrganId") Integer cooperationOrganId);
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -167,7 +167,8 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE("SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE","乐团家长会通知"),
     SMS_INSPECTION_NOTICE("SMS_INSPECTION_NOTICE","巡查日程提醒"),
     TEACHER_SERVE_PUSH("TEACHER_SERVE_PUSH", "服务指标未完成提醒"),
-    MAINTENANCE_NOTICE_PUSH("MAINTENANCE_NOTICE_PUSH", "乐保到期提醒");
+    MAINTENANCE_NOTICE_PUSH("MAINTENANCE_NOTICE_PUSH", "乐保到期提醒"),
+    REPLACEMENT_PAY_PUSH("REPLACEMENT_PAY_PUSH", "乐器置换支付提醒");
 
 
 

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentCooperationServiceImpl.java

@@ -2,20 +2,30 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.ReplacementInstrumentActivityDao;
 import com.ym.mec.biz.dal.dao.ReplacementInstrumentCooperationDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatDto;
+import com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity;
 import com.ym.mec.biz.dal.entity.ReplacementInstrumentCooperation;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.ReplacementInstrumentCooperationQueryInfo;
 import com.ym.mec.biz.service.ReplacementInstrumentCooperationService;
+import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
+import com.ym.mec.util.date.DateUtil;
+import com.ym.mec.util.http.HttpUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class ReplacementInstrumentCooperationServiceImpl extends BaseServiceImpl<Integer, ReplacementInstrumentCooperation> implements ReplacementInstrumentCooperationService {
@@ -24,6 +34,10 @@ public class ReplacementInstrumentCooperationServiceImpl extends BaseServiceImpl
     private ReplacementInstrumentCooperationDao replacementInstrumentCooperationDao;
     @Autowired
     private ReplacementInstrumentActivityDao replacementInstrumentActivityDao;
+    @Autowired
+    private SysMessageService sysMessageService;
+    @Autowired
+    private SysConfigDao sysConfigDao;
 
     @Override
     public BaseDAO<Integer, ReplacementInstrumentCooperation> getDAO() {
@@ -46,6 +60,25 @@ public class ReplacementInstrumentCooperationServiceImpl extends BaseServiceImpl
         replacementInstrumentActivityDao.openPay(replacementInstrumentCooperation.getCooperationOrganId());
 
         //发送推送链接
+        //家长您好!您订购的 {乐器品牌}品牌乐器已经开始接受预定,请点击{链接地址}完成付款,付款后15个工作日以内到货,如有疑问请咨询乐团管理老师。
+        List<ReplacementInstrumentActivityStatDto> pushUsers = replacementInstrumentActivityDao.getPushUsers(replacementInstrumentCooperation.getCooperationOrganId());
+
+        Map<Integer, String> userMap = new HashMap<>();
+        Map<Integer, String> userPhoneMap = new HashMap<>();
+
+        String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
+        String pushUrl = baseApiUrl + "/#/auditionActive/1?id=";
+        for (ReplacementInstrumentActivityStatDto pushUser : pushUsers) {
+            userMap.clear();
+            userPhoneMap.clear();
+            userMap.put(pushUser.getUserId(), pushUser.getUserId().toString());
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.REPLACEMENT_PAY_PUSH,
+                    userMap, null, 0, "5?" + pushUrl + pushUser.getId(), "STUDENT", pushUser.getBrand(), "");
+
+            userPhoneMap.put(pushUser.getUserId(), pushUser.getMobileNo());
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.REPLACEMENT_PAY_PUSH,
+                    userPhoneMap, null, 0, null, "STUDENT", pushUser.getBrand(), HttpUtil.getSortUrl(pushUrl + pushUser.getId()));
+        }
 
         return replacementInstrumentCooperation;
     }

+ 9 - 1
mec-biz/src/main/resources/config/mybatis/ReplacementInstrumentActivityMapper.xml

@@ -188,10 +188,18 @@
         UPDATE replacement_instrument_activity
         SET open_flag_ = 1
         WHERE cooperation_organ_id_ = #{cooperationOrganId}
-          AND open_flag_ = 0
+          AND open_flag_ = 0 AND instruments_id_ > 0
     </update>
 
     <select id="getLock" resultMap="ReplacementInstrumentActivity">
         SELECT * FROM replacement_instrument_activity WHERE id_ = #{id} FOR UPDATE
     </select>
+
+    <select id="getPushUsers" resultMap="ReplacementInstrumentActivityStatDto">
+        SELECT *,su.phone_ mobile_no_,ri.brand_ FROM replacement_instrument_activity ria
+        LEFT JOIN sys_user su ON su.id_ = ria.user_id_
+        LEFT JOIN replacement_instrument ri ON ri.id_ = ria.instruments_id_
+        WHERE cooperation_organ_id_ = #{cooperationOrganId}
+        AND open_flag_ = 0 AND instruments_id_ > 0
+    </select>
 </mapper>