营养分析与热量占比分析
This commit is contained in:
@ -117,9 +117,10 @@ public class MemberUserController {
|
||||
@GetMapping("/heat")
|
||||
@Operation(summary = "获得会员热量分析")
|
||||
@PreAuthorize("@ss.hasPermission('member:user:query')")
|
||||
public CommonResult<List<Map>> getUserHeat(@RequestParam("userId") Long userId,
|
||||
@RequestParam(value = "days")Integer days){
|
||||
return success(memberUserService.getUserHeat(userId,days));
|
||||
public CommonResult<List<Map>> getUserHeat(@RequestParam(value = "userId",required = false) Long userId,
|
||||
@RequestParam(value = "days",required = false)Integer days,
|
||||
@RequestParam(value = "orderId",required = false)Long orderId){
|
||||
return success(memberUserService.getUserHeat(userId,days,orderId));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -208,7 +208,7 @@ public interface MemberUserService {
|
||||
*/
|
||||
List<AppNutritionWeekVO> NutritionWeek(String start, String end);
|
||||
|
||||
List<Map> getUserHeat(Long userId,Integer days);
|
||||
List<Map> getUserHeat(Long userId,Integer days,Long orderId);
|
||||
|
||||
|
||||
}
|
||||
|
@ -544,28 +544,37 @@ public class MemberUserServiceImpl implements MemberUserService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map> getUserHeat(Long userId, Integer days) {
|
||||
public List<Map> getUserHeat(Long userId, Integer days,Long orderId) {
|
||||
if(ObjectUtil.isNotEmpty(orderId)){
|
||||
return suggestion(userId,null,null,Boolean.FALSE,orderId);
|
||||
}
|
||||
//判断是一天与一周
|
||||
if(days==7){
|
||||
LocalDateTime endDate = LocalDateTimeUtil.now();
|
||||
LocalDateTime offset = LocalDateTimeUtil.offset(endDate, -7, ChronoUnit.DAYS);
|
||||
LocalDateTime startDate = LocalDateTimeUtil.beginOfDay(offset);
|
||||
return suggestion(userId,startDate,endDate,Boolean.TRUE);
|
||||
return suggestion(userId,startDate,endDate,Boolean.TRUE,null);
|
||||
}else{
|
||||
LocalDateTime endDate = LocalDateTimeUtil.now();
|
||||
LocalDateTime startDate = LocalDateTimeUtil.beginOfDay(endDate);
|
||||
return suggestion(userId,startDate,endDate,Boolean.FALSE);
|
||||
return suggestion(userId,startDate,endDate,Boolean.FALSE,null);
|
||||
}
|
||||
}
|
||||
public List<Map> suggestion(Long userId,LocalDateTime startDate,LocalDateTime endDate,Boolean bol) {
|
||||
public List<Map> suggestion(Long userId,LocalDateTime startDate,LocalDateTime endDate,Boolean bol,Long orderId) {
|
||||
//查询今天的订单
|
||||
List<Long> collect = dishOrderMapper.selectList(new LambdaQueryWrapperX<DishOrderDO>()
|
||||
.eqIfPresent(DishOrderDO::getUserId, userId)
|
||||
.eq(DishOrderDO::getOrderStatus, DishOrderDO.COMPLETE)
|
||||
.betweenIfPresent(DishOrderDO::getCreateTime, startDate, endDate))
|
||||
.stream()
|
||||
.map(DishOrderDO::getId)
|
||||
.collect(Collectors.toList());
|
||||
List<Long> collect= new ArrayList<>();
|
||||
if(ObjectUtil.isNotEmpty(orderId)){
|
||||
collect= Collections.singletonList(orderId);
|
||||
}
|
||||
if(ObjectUtil.isNotEmpty(userId)){
|
||||
collect = dishOrderMapper.selectList(new LambdaQueryWrapperX<DishOrderDO>()
|
||||
.eqIfPresent(DishOrderDO::getUserId, userId)
|
||||
.eq(DishOrderDO::getOrderStatus, DishOrderDO.COMPLETE)
|
||||
.betweenIfPresent(DishOrderDO::getCreateTime, startDate, endDate))
|
||||
.stream()
|
||||
.map(DishOrderDO::getId)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
if(ObjectUtil.isEmpty(collect)){
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
Reference in New Issue
Block a user