Commit 1f378a48 by 桂前礼

feat: [1003833] 我的足迹修改日期无数据时灰色

parent 80976a1e
...@@ -4,6 +4,7 @@ import com.pcloud.book.applet.dto.AppletRecordDTO; ...@@ -4,6 +4,7 @@ import com.pcloud.book.applet.dto.AppletRecordDTO;
import com.pcloud.book.applet.entity.AppletRecord; import com.pcloud.book.applet.entity.AppletRecord;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -61,4 +62,6 @@ public interface AppletRecordBiz { ...@@ -61,4 +62,6 @@ public interface AppletRecordBiz {
* @return * @return
*/ */
PageBeanNew<AppletRecordDTO> listAppletRecord(Long wechatUserId, String date, List<Integer> recordTypes, String queryName, Integer currentPage, Integer numPerPage); PageBeanNew<AppletRecordDTO> listAppletRecord(Long wechatUserId, String date, List<Integer> recordTypes, String queryName, Integer currentPage, Integer numPerPage);
List<String> listUnreachableDate(Long wechatUserId);
} }
\ No newline at end of file
package com.pcloud.book.applet.biz.impl; package com.pcloud.book.applet.biz.impl;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.book.applet.biz.AppletBooklistBiz; import com.pcloud.book.applet.biz.AppletBooklistBiz;
...@@ -43,6 +47,7 @@ import org.springframework.stereotype.Service; ...@@ -43,6 +47,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
...@@ -155,6 +160,19 @@ public class AppletRecordBizImpl implements AppletRecordBiz { ...@@ -155,6 +160,19 @@ public class AppletRecordBizImpl implements AppletRecordBiz {
return listAppletRecord; return listAppletRecord;
} }
@Override
public List<String> listUnreachableDate(Long wechatUserId) {
// 获取过去30天所有日期集合
List<DateTime> dateTimes = DateUtil.rangeToList(DateUtil.offsetDay(new Date(), -30), new Date(), DateField.DAY_OF_YEAR);
List<Date> reachableDate = new ArrayList<>();
if (Objects.nonNull(wechatUserId)) {
reachableDate = appletRecordDao.listReachableDate(wechatUserId);
}
List<DateTime> collect = reachableDate.stream().filter(Objects::nonNull).map(DateUtil::beginOfDay).collect(Collectors.toList());
// 筛选出没有埋点记录的日期
return dateTimes.stream().filter(x -> !collect.contains(DateUtil.beginOfDay(x))).map(x -> DateUtil.format(x, DatePattern.NORM_DATE_FORMAT)).collect(Collectors.toList());
}
private void fillAppletRecord(List<AppletRecordDTO> recordList) { private void fillAppletRecord(List<AppletRecordDTO> recordList) {
if (ListUtils.isEmpty(recordList)) { if (ListUtils.isEmpty(recordList)) {
return; return;
......
...@@ -5,6 +5,7 @@ import com.pcloud.book.applet.dto.AppletUserBookcaseDTO; ...@@ -5,6 +5,7 @@ import com.pcloud.book.applet.dto.AppletUserBookcaseDTO;
import com.pcloud.book.applet.entity.AppletRecord; import com.pcloud.book.applet.entity.AppletRecord;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -19,4 +20,6 @@ public interface AppletRecordDao extends BaseDao<AppletRecord> { ...@@ -19,4 +20,6 @@ public interface AppletRecordDao extends BaseDao<AppletRecord> {
Map<Long, AppletUserBookcaseDTO> getBookMap(List<AppletRecordDTO> appletRecordDTOS4Book); Map<Long, AppletUserBookcaseDTO> getBookMap(List<AppletRecordDTO> appletRecordDTOS4Book);
void updateDeleteState(Long fromId, Integer recordType); void updateDeleteState(Long fromId, Integer recordType);
List<Date> listReachableDate(Long wechatUserId);
} }
\ No newline at end of file
package com.pcloud.book.applet.dao.impl; package com.pcloud.book.applet.dao.impl;
import cn.hutool.core.map.MapUtil;
import com.pcloud.book.applet.dao.AppletRecordDao; import com.pcloud.book.applet.dao.AppletRecordDao;
import com.pcloud.book.applet.dto.AppletRecordDTO; import com.pcloud.book.applet.dto.AppletRecordDTO;
import com.pcloud.book.applet.dto.AppletUserBookcaseDTO; import com.pcloud.book.applet.dto.AppletUserBookcaseDTO;
...@@ -7,6 +8,7 @@ import com.pcloud.book.applet.entity.AppletRecord; ...@@ -7,6 +8,7 @@ import com.pcloud.book.applet.entity.AppletRecord;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -32,4 +34,9 @@ public class AppletRecordDaoImpl extends BaseDaoImpl<AppletRecord> implements Ap ...@@ -32,4 +34,9 @@ public class AppletRecordDaoImpl extends BaseDaoImpl<AppletRecord> implements Ap
paramMap.put("recordType", recordType); paramMap.put("recordType", recordType);
getSessionTemplate().update(getStatement("updateDeleteState"), paramMap); getSessionTemplate().update(getStatement("updateDeleteState"), paramMap);
} }
@Override
public List<Date> listReachableDate(Long wechatUserId) {
return getSqlSession().selectList("listReachableDate", MapUtil.of("wechatUserId",wechatUserId));
}
} }
\ No newline at end of file
...@@ -9,7 +9,6 @@ import com.pcloud.common.dto.ResponseDto; ...@@ -9,7 +9,6 @@ import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.permission.PermissionException; import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.SessionUtil;
import com.pcloud.common.utils.cookie.Cookie; import com.pcloud.common.utils.cookie.Cookie;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -17,13 +16,11 @@ import org.springframework.web.bind.annotation.CookieValue; ...@@ -17,13 +16,11 @@ import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -96,4 +93,11 @@ public class AppletRecordFacade { ...@@ -96,4 +93,11 @@ public class AppletRecordFacade {
return new ResponseDto<>(recordDTOPageBeanNew); return new ResponseDto<>(recordDTOPageBeanNew);
} }
@ApiOperation("获取没有埋点记录的日期列表(过去30天)")
@RequestMapping(value = "listUnreachableDate",method = RequestMethod.GET)
public ResponseDto<List<String>> listUnreachableDate(@CookieValue("userInfo") String userInfo){
Long wechatUserId = Cookie.getId(userInfo,Cookie._WECHAT_USER_ID);
return new ResponseDto<>(appletRecordBiz.listUnreachableDate(wechatUserId));
}
} }
\ No newline at end of file
...@@ -268,4 +268,16 @@ ...@@ -268,4 +268,16 @@
record_type = #{recordType} record_type = #{recordType}
</update> </update>
<select id="listReachableDate" parameterType="map" resultType="Date">
SELECT
create_date
FROM
applet_record
WHERE
wechat_user_id = #{wechatUserId}
AND create_date > DATE_SUB( curdate(), INTERVAL 30 DAY )
GROUP BY
create_date
</select>
</mapper> </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