营养分析与热量占比分析
This commit is contained in:
@ -117,9 +117,10 @@ public class MemberUserController {
|
|||||||
@GetMapping("/heat")
|
@GetMapping("/heat")
|
||||||
@Operation(summary = "获得会员热量分析")
|
@Operation(summary = "获得会员热量分析")
|
||||||
@PreAuthorize("@ss.hasPermission('member:user:query')")
|
@PreAuthorize("@ss.hasPermission('member:user:query')")
|
||||||
public CommonResult<List<Map>> getUserHeat(@RequestParam("userId") Long userId,
|
public CommonResult<List<Map>> getUserHeat(@RequestParam(value = "userId",required = false) Long userId,
|
||||||
@RequestParam(value = "days")Integer days){
|
@RequestParam(value = "days",required = false)Integer days,
|
||||||
return success(memberUserService.getUserHeat(userId,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<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
|
@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){
|
if(days==7){
|
||||||
LocalDateTime endDate = LocalDateTimeUtil.now();
|
LocalDateTime endDate = LocalDateTimeUtil.now();
|
||||||
LocalDateTime offset = LocalDateTimeUtil.offset(endDate, -7, ChronoUnit.DAYS);
|
LocalDateTime offset = LocalDateTimeUtil.offset(endDate, -7, ChronoUnit.DAYS);
|
||||||
LocalDateTime startDate = LocalDateTimeUtil.beginOfDay(offset);
|
LocalDateTime startDate = LocalDateTimeUtil.beginOfDay(offset);
|
||||||
return suggestion(userId,startDate,endDate,Boolean.TRUE);
|
return suggestion(userId,startDate,endDate,Boolean.TRUE,null);
|
||||||
}else{
|
}else{
|
||||||
LocalDateTime endDate = LocalDateTimeUtil.now();
|
LocalDateTime endDate = LocalDateTimeUtil.now();
|
||||||
LocalDateTime startDate = LocalDateTimeUtil.beginOfDay(endDate);
|
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>()
|
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)
|
.eqIfPresent(DishOrderDO::getUserId, userId)
|
||||||
.eq(DishOrderDO::getOrderStatus, DishOrderDO.COMPLETE)
|
.eq(DishOrderDO::getOrderStatus, DishOrderDO.COMPLETE)
|
||||||
.betweenIfPresent(DishOrderDO::getCreateTime, startDate, endDate))
|
.betweenIfPresent(DishOrderDO::getCreateTime, startDate, endDate))
|
||||||
.stream()
|
.stream()
|
||||||
.map(DishOrderDO::getId)
|
.map(DishOrderDO::getId)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
if(ObjectUtil.isEmpty(collect)){
|
if(ObjectUtil.isEmpty(collect)){
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user