zouxuan před 8 měsíci
rodič
revize
9581dbf345

+ 1 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserTenantAlbumRecord.java

@@ -33,8 +33,6 @@ public class UserTenantAlbumRecord implements Serializable {
 	@TableField(value = "user_id_")
 	@TableField(value = "user_id_")
     private Long userId;
     private Long userId;
 
 
-
-
     @ApiModelProperty("机构ID")
     @ApiModelProperty("机构ID")
     @TableField(value = "tenant_id_")
     @TableField(value = "tenant_id_")
     private Long tenantId;
     private Long tenantId;
@@ -89,7 +87,7 @@ public class UserTenantAlbumRecord implements Serializable {
 
 
     @ApiModelProperty("消息发送 0、未发送 1、已发送提前3天消息 2、已发送会员过期消息")
     @ApiModelProperty("消息发送 0、未发送 1、已发送提前3天消息 2、已发送会员过期消息")
 	@TableField(value = "msg_status_")
 	@TableField(value = "msg_status_")
-    private Boolean msgStatus;
+    private Integer msgStatus;
 
 
     @ApiModelProperty("备注") 
     @ApiModelProperty("备注") 
 	@TableField(value = "reason_")
 	@TableField(value = "reason_")

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/mapper/UserTenantAlbumRecordMapper.java

@@ -40,6 +40,8 @@ public interface UserTenantAlbumRecordMapper extends BaseMapper<UserTenantAlbumR
 
 
     List<UserTenantAlbumRecordWrapper.UserTenantAlbumRecord> selectTemporaryRecord();
     List<UserTenantAlbumRecordWrapper.UserTenantAlbumRecord> selectTemporaryRecord();
 
 
+    List<UserTenantAlbumRecordWrapper.UserTenantAlbumRecord> selectTemporaryRecord1();
+
     List<TenantGroupAlbumWrapper.TenantAlbumSort> getTenantAlbumMaxCreateTime(@Param("userId") Long userId, @Param("clientType") ClientEnum clientType, @Param("tenantAlbumIds") List<Long> tenantAlbumIds);
     List<TenantGroupAlbumWrapper.TenantAlbumSort> getTenantAlbumMaxCreateTime(@Param("userId") Long userId, @Param("clientType") ClientEnum clientType, @Param("tenantAlbumIds") List<Long> tenantAlbumIds);
 
 
     void updateMsgStatus(@Param("ids") List<Long> ids, @Param("msgStatus") int msgStatus);
     void updateMsgStatus(@Param("ids") List<Long> ids, @Param("msgStatus") int msgStatus);

+ 25 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserTenantAlbumRecordServiceImpl.java

@@ -58,12 +58,6 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
     private TenantInfoService tenantInfoService;
     private TenantInfoService tenantInfoService;
 
 
     @Autowired
     @Autowired
-    private TenantAlbumMusicService tenantAlbumMusicService;
-
-    @Autowired
-    private MusicSheetService musicSheetService;
-
-    @Autowired
     private StudentService studentService;
     private StudentService studentService;
 
 
     @Autowired
     @Autowired
@@ -76,9 +70,6 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
     private StudentDao studentDao;
     private StudentDao studentDao;
 
 
     @Autowired
     @Autowired
-    private TenantAlbumPurchaseMapper tenantAlbumPurchaseMapper;
-
-    @Autowired
     private UserTenantAlbumRecordService userTenantAlbumRecordService;
     private UserTenantAlbumRecordService userTenantAlbumRecordService;
 
 
 
 
@@ -95,9 +86,6 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
     private SysUserMapper sysUserMapper;
     private SysUserMapper sysUserMapper;
 
 
     @Autowired
     @Autowired
-    private TenantInfoMapper tenantInfoMapper;
-
-    @Autowired
     private TenantGroupAlbumService tenantGroupAlbumService;
     private TenantGroupAlbumService tenantGroupAlbumService;
 
 
 
 
@@ -673,6 +661,19 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
             List<Long> ids = userTenantAlbumRecords.stream().map(UserTenantAlbumRecordWrapper.UserTenantAlbumRecord::getId).collect(Collectors.toList());
             List<Long> ids = userTenantAlbumRecords.stream().map(UserTenantAlbumRecordWrapper.UserTenantAlbumRecord::getId).collect(Collectors.toList());
             baseMapper.updateMsgStatus(ids,1);
             baseMapper.updateMsgStatus(ids,1);
         }
         }
+        //即将到期的专辑
+        List<UserTenantAlbumRecordWrapper.UserTenantAlbumRecord> userTenantAlbumRecords1 = baseMapper.selectTemporaryRecord1();
+        if (CollectionUtils.isNotEmpty(userTenantAlbumRecords1)) {
+            //获取专辑名称
+            List<Long> tenantAlbumIds = userTenantAlbumRecords1.stream().map(UserTenantAlbumRecordWrapper.UserTenantAlbumRecord::getTenantAlbumId).collect(Collectors.toList());
+            Map<Long, String> albumIdMap = tenantAlbumService.lambdaQuery()
+                    .in(TenantAlbum::getId, tenantAlbumIds)
+                    .list().stream().collect(Collectors.toMap(TenantAlbum::getId, TenantAlbum::getName));
+            //发送消息
+            userTenantAlbumRecords1.forEach(record -> temporarySend(record.getUserId(),record.getPhone(), albumIdMap.get(record.getTenantAlbumId())));
+            List<Long> ids = userTenantAlbumRecords1.stream().map(UserTenantAlbumRecordWrapper.UserTenantAlbumRecord::getId).collect(Collectors.toList());
+            baseMapper.updateMsgStatus(ids,2);
+        }
     }
     }
 
 
     @Override
     @Override
@@ -746,4 +747,16 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
             log.error("机构学生训练教材过期", e);
             log.error("机构学生训练教材过期", e);
         }
         }
     }
     }
+
+
+    private void temporarySend(Long userId,String phone, String tenantAlbumName) {
+        Map<Long, String> receivers = new HashMap<>();
+        receivers.put(userId, phone);
+        try {
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TENANT_ALBUM_EXPIRE,
+                    receivers, null, 0, null, ClientEnum.TENANT_STUDENT.getCode(),tenantAlbumName);
+        } catch (Exception e) {
+            log.error("机构学生训练教材过期", e);
+        }
+    }
 }
 }

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/ExposureRecordDao.xml

@@ -20,7 +20,7 @@
 		<if test="param.type != null and param.type != ''">
 		<if test="param.type != null and param.type != ''">
 			and er.object_type_ = #{param.type}
 			and er.object_type_ = #{param.type}
 		</if>
 		</if>
-		group by er.object_type_,DATE_FORMAT(er.exposure_time_, #{groupBy})
+		group by DATE_FORMAT(er.exposure_time_, #{groupBy})
 		ORDER BY 'date'
 		ORDER BY 'date'
 	</select>
 	</select>
 </mapper>
 </mapper>

+ 14 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserTenantAlbumRecordMapper.xml

@@ -100,6 +100,20 @@
         order by end_time_ desc
         order by end_time_ desc
     </select>
     </select>
 
 
+    <select id="selectTemporaryRecord1" resultType="com.yonge.cooleshow.biz.dal.wrapper.UserTenantAlbumRecordWrapper$UserTenantAlbumRecord">
+        select
+        <include refid="baseColumns"/>,
+        u.phone_ as phone
+        from (
+        select max(id_) as id_ from user_tenant_album_record group by user_id_
+        ) a
+        left join user_tenant_album_record t on a.id_ = t.id_
+        left join sys_user u on t.user_id_ = u.id_
+        where DATE_ADD(now(), INTERVAL 1 DAY) > t.end_time_
+        and (msg_status_ IN (0,1) or msg_status_ is null)
+        order by end_time_ desc
+    </select>
+
     <select id="selectUserTenantAlbumRecordPage" resultType="com.yonge.cooleshow.biz.dal.wrapper.UserTenantAlbumRecordWrapper$UserTenantAlbumRecord">
     <select id="selectUserTenantAlbumRecordPage" resultType="com.yonge.cooleshow.biz.dal.wrapper.UserTenantAlbumRecordWrapper$UserTenantAlbumRecord">
         SELECT
         SELECT
         <include refid="baseColumns" />
         <include refid="baseColumns" />