Commit a1dfefbb by 杨涛

处理打卡旧数据

parent 97402fdb
......@@ -24,5 +24,9 @@ public interface BookClockInfoService {
@PostMapping("/sendBookClockGroupMessage")
void sendBookClockGroupMessage(@RequestBody Map<String, Object> map) throws BizException;
@ApiOperation(value = "处理关联应用的打卡的旧数据", httpMethod = "GET")
@RequestMapping(value = "/dealOldData4WeixinClock", method = RequestMethod.GET)
void dealOldData4WeixinClock();
}
......@@ -67,4 +67,8 @@ public interface BookClockBiz {
*/
void deleteBookGroupClock(Long bookClockInfoId,Long adviserId);
/**
* 处理关联应用的打卡的旧数据
*/
void dealOldData4WeixinClock();
}
......@@ -28,6 +28,8 @@ import com.pcloud.book.group.dao.WeixinQrcodeDao;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookWxQrcodeDTO;
import com.pcloud.book.group.dto.ClassifyDTO;
import com.pcloud.book.weixinclock.biz.WeixinClockBiz;
import com.pcloud.book.weixinclock.dto.WeixinClockDto;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBean;
......@@ -48,6 +50,8 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
/**
......@@ -84,6 +88,8 @@ public class BookClockBizImpl implements BookClockBiz {
private ScheduleService scheduleService;
@Autowired
private WeixinQrcodeDao weixinQrcodeDao;
@Autowired
private WeixinClockBiz weixinClockBiz;
/**
......@@ -416,4 +422,30 @@ public class BookClockBizImpl implements BookClockBiz {
throw new BookBizException(BookBizException.ERROR,"删除定时任务失败!");
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void dealOldData4WeixinClock() {
new Thread(() -> {
WeixinClockDto weixinClockDto = new WeixinClockDto();
weixinClockDto.setClockGuide("每日打卡,养成良好习惯");
weixinClockDto.setClockIntroduction("欢迎加入打卡,每天一次,养成良好习惯");
weixinClockDto.setClockKeyword("每日打卡");
List<BookClockInfoDTO> clockInfoIds = bookClockInfoDao.getAllClockInfoIds();
if(!ListUtils.isEmpty(clockInfoIds)){
for(BookClockInfoDTO bookClockInfoDTO: clockInfoIds){
List<Long> list1 = bookGroupClockDao.getClassifyIdsByBookGroupId(bookClockInfoDTO.getBookClockInfoId());
List<Long> list2 = bookGroupClockDao.getClassifyIdsByClassfyId(bookClockInfoDTO.getBookClockInfoId());
list1.addAll(list2);
List<Long> resultList = list1.stream().distinct().collect(Collectors.toList());
if(!ListUtils.isEmpty(resultList)) {
weixinClockDto.setCreateUser(bookClockInfoDTO.getCreateUser());
weixinClockDto.setLastModifiedUser(bookClockInfoDTO.getCreateUser());
weixinClockDto.setGroupClassifyIds(resultList);
weixinClockBiz.createWeixinClock(weixinClockDto);
}
}
}
}).start();
}
}
......@@ -86,4 +86,6 @@ public interface BookClockInfoDao extends BaseDao<BookClockInfo> {
* @param paramMap
*/
void deleteBookClockInfo(Map<String, Object> paramMap);
List<BookClockInfoDTO> getAllClockInfoIds();
}
......@@ -70,4 +70,8 @@ public interface BookGroupClockDao extends BaseDao<BookGroupClock> {
* @param paramMap
*/
void deleteBookGroupClock(Map<String,Object> paramMap);
List<Long> getClassifyIdsByBookGroupId(Long bookClockInfoId);
List<Long> getClassifyIdsByClassfyId(Long bookClockInfoId);
}
......@@ -135,5 +135,11 @@ public class BookClockInfoDaoImpl extends BaseDaoImpl<BookClockInfo> implements
super.sqlSessionTemplate.delete(getStatement("deleteBookClockInfo"),paramMap);
}
@Override
public List<BookClockInfoDTO> getAllClockInfoIds() {
Map<String,Object> paramMap = new HashMap<>();
return super.sqlSessionTemplate.selectList(getStatement("getAllClockInfoIds"),paramMap);
}
}
......@@ -6,6 +6,7 @@ import com.pcloud.book.clock.entity.BookGroupClock;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -100,4 +101,18 @@ public class BookGroupClockDaoImpl extends BaseDaoImpl<BookGroupClock> implement
public void deleteBookGroupClock(Map<String, Object> paramMap) {
super.sqlSessionTemplate.delete(getStatement("deleteBookGroupClock"),paramMap);
}
@Override
public List<Long> getClassifyIdsByBookGroupId(Long bookClockInfoId) {
Map<String,Object> paramMap = new HashMap<>();
paramMap.put("bookClockInfoId",bookClockInfoId);
return super.sqlSessionTemplate.selectList(getStatement("getClassifyIdsByBookGroupId"),paramMap);
}
@Override
public List<Long> getClassifyIdsByClassfyId(Long bookClockInfoId) {
Map<String,Object> paramMap = new HashMap<>();
paramMap.put("bookClockInfoId",bookClockInfoId);
return super.sqlSessionTemplate.selectList(getStatement("getClassifyIdsByClassfyId"),paramMap);
}
}
......@@ -64,4 +64,17 @@ public class BookClockInfoServiceImpl implements BookClockInfoService {
// bookClockBiz.sendBookClockGroupMessage(map);
}
/**
* @description 处理关联应用的打卡的旧数据
* @author 杨涛
* @date 2019/5/10 10:28
*/
@Override
@RequestMapping(value = "/dealOldData4WeixinClock", method = RequestMethod.GET)
public void dealOldData4WeixinClock() {
bookClockBiz.dealOldData4WeixinClock();
}
}
......@@ -34,8 +34,8 @@ public class WeixinClockCheckImpl implements WeixinClockCheck {
if(StringUtil.isEmpty(weixinClockDto.getClockIntroduction())){
throw new BookBizException(BookBizException.ERROR,"缺少打卡简介!");
}
if(null == weixinClockDto.getClockPrizeId()){
/*if(null == weixinClockDto.getClockPrizeId()){
throw new BookBizException(BookBizException.ERROR,"缺少打卡的奖励应用ID!");
}
}*/
}
}
......@@ -198,5 +198,10 @@
WHERE book_clock_info_id = #{bookClockInfoId}
</delete>
<select id="getAllClockInfoIds" parameterType="map" resultMap="BaseResultMapDTO">
select <include refid="Base_Column_List"/>
from book_clock_info where origin_type = 'APP'
</select>
</mapper>
\ No newline at end of file
......@@ -140,5 +140,31 @@
WHERE book_clock_info_id = #{bookClockInfoId}
</delete>
<select id="getClassifyIdsByBookGroupId" parameterType="map" resultType="Long">
SELECT DISTINCT
t2.id
FROM
book_group_clock t1
LEFT JOIN book_group_classify t2 ON t1.book_group_id = t2.book_group_id
LEFT JOIN weixin_clock_group_classify t3 ON t2.id = t3.book_group_classify_id
WHERE
t2.is_delete = 0
AND t3.weixin_clock_group_classify_id IS NULL
AND t1.book_clock_info_id = #{bookClockInfoId}
</select>
<select id="getClassifyIdsByClassfyId" parameterType="map" resultType="Long">
SELECT DISTINCT
t2.id
FROM
book_group_clock t1
LEFT JOIN book_group_classify t2 ON t1.classify_id = t2.id
LEFT JOIN weixin_clock_group_classify t3 ON t2.id = t3.book_group_classify_id
WHERE
t2.is_delete = 0
AND t3.weixin_clock_group_classify_id IS NULL
AND t1.book_clock_info_id = #{bookClockInfoId}
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment