Explorar o código

双十一活动

zouxuan %!s(int64=3) %!d(string=hai) anos
pai
achega
3018d183d6

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupActivityService.java

@@ -74,7 +74,7 @@ public interface VipGroupActivityService extends BaseService<Integer, VipGroupAc
     * @author zx
     * @date 2021/10/25 12:07
     */
-    Object organDoubleEleven2021Statis();
+    Object organDoubleEleven2021Statis(String order,String sort);
 
     /**
     * @description: 双11活动统计

+ 51 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java

@@ -194,18 +194,65 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 	}
 
     @Override
-    public Object organDoubleEleven2021Statis() {
+    public Object organDoubleEleven2021Statis(String order,String sort) {
+		if(StringUtils.isEmpty(order)){
+			order = "DESC";
+		}
+		if(StringUtils.isEmpty(sort)){
+			sort = "totalBuyAmount";
+		}
 		List<DoubleEleven2021Dto> doubleEleven2021Dtos = vipGroupActivityDao.countOrganDoubleEleven2021Statis();
 		if(doubleEleven2021Dtos != null && doubleEleven2021Dtos.size() > 0){
 			List<Integer> organIdList = doubleEleven2021Dtos.stream().map(e -> e.getOrganId()).collect(Collectors.toList());
 			List<DoubleEleven2021ActivityDto> activityDtoList = vipGroupActivityDao.countOrganActivityStatis(organIdList);
+			Map<Integer, List<DoubleEleven2021ActivityDto>> collect = new HashMap<>();
 			if(activityDtoList != null && activityDtoList.size() > 0){
-				Map<Integer, List<DoubleEleven2021ActivityDto>> collect = activityDtoList.stream().collect(Collectors.groupingBy(DoubleEleven2021ActivityDto::getOrganId));
+				collect = activityDtoList.stream().collect(Collectors.groupingBy(DoubleEleven2021ActivityDto::getOrganId));
 			}
 			Map<Integer, Integer> maps = MapUtil.convertIntegerMap(vipGroupActivityDao.countOrganGiveMemberNum(organIdList));
-
+			for (DoubleEleven2021Dto doubleEleven2021Dto : doubleEleven2021Dtos) {
+				if(doubleEleven2021Dto.getTotalBuyAmount().compareTo(BigDecimal.ZERO) > 0){
+					doubleEleven2021Dto.setAvgBuyAmount(
+							doubleEleven2021Dto.getTotalBuyAmount().divide(new BigDecimal(doubleEleven2021Dto.getTotalBuyNum()),2,BigDecimal.ROUND_CEILING));
+				}
+				List<DoubleEleven2021ActivityDto> activityDtos = collect.get(doubleEleven2021Dto.getOrganId());
+				doubleEleven2021Dto.setActivityDtoList(activityDtos);
+				Integer giveNum = maps.get(doubleEleven2021Dto.getOrganId());
+				doubleEleven2021Dto.setGiveMemberNum(giveNum);
+			}
+			if(sort.equals("totalBuyAmount")){
+				if(order.equals("DESC")){
+					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getTotalBuyAmount)).collect(Collectors.toList());
+				}else {
+					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getTotalBuyAmount).reversed()).collect(Collectors.toList());
+				}
+			}else if(sort.equals("totalBuyNum")){
+				if(order.equals("DESC")){
+					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getTotalBuyNum)).collect(Collectors.toList());
+				}else {
+					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getTotalBuyNum).reversed()).collect(Collectors.toList());
+				}
+			}else if(sort.equals("avgBuyAmount")){
+				if(order.equals("DESC")){
+					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getAvgBuyAmount)).collect(Collectors.toList());
+				}else {
+					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getAvgBuyAmount).reversed()).collect(Collectors.toList());
+				}
+			}else if(sort.equals("giveMemberNum")){
+				if(order.equals("DESC")){
+					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getGiveMemberNum)).collect(Collectors.toList());
+				}else {
+					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getGiveMemberNum).reversed()).collect(Collectors.toList());
+				}
+			}else if(sort.equals("vip1v120")){
+				if(order.equals("DESC")){
+					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getGiveMemberNum)).collect(Collectors.toList());
+				}else {
+					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getGiveMemberNum).reversed()).collect(Collectors.toList());
+				}
+			}
 		}
-		return null;
+		return doubleEleven2021Dtos;
     }
 
 	@Override

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/education/ActivityController.java

@@ -159,8 +159,8 @@ public class ActivityController extends BaseController {
 
     @ApiOperation(value = "分部双11活动统计")
     @GetMapping("/organDoubleEleven2021Statis")
-    public HttpResponseResult organDoubleEleven2021Statis(){
-        return succeed(vipGroupActivityService.organDoubleEleven2021Statis());
+    public HttpResponseResult organDoubleEleven2021Statis(String order,String sort){
+        return succeed(vipGroupActivityService.organDoubleEleven2021Statis(order,sort));
     }
 
     @ApiOperation(value = "双11活动统计")