Selaa lähdekoodia

Merge branch 'feature/1022_vip' of http://git.dayaedu.com/yonge/mec into feature/1022_vip

刘俊驰 8 kuukautta sitten
vanhempi
commit
787aca5a15

+ 45 - 3
mec-application/src/main/java/com/ym/mec/web/controller/MemberRankSettingController.java

@@ -1,7 +1,11 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.dal.entity.MemberFeeSetting;
+import com.ym.mec.biz.dal.entity.MemberRankOrganizationFeeMapper;
 import com.ym.mec.biz.dal.entity.MemberRankSetting;
+import com.ym.mec.biz.dal.page.MemberRankFeeQueryInfo;
 import com.ym.mec.biz.dal.wrapper.MemberRankSettingWrapper;
+import com.ym.mec.biz.service.MemberRankOrganizationFeeMapperService;
 import com.ym.mec.biz.service.MemberRankSettingService;
 import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
@@ -9,13 +13,16 @@ import com.ym.mec.common.entity.HttpResponseResult;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Date;
-import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 @RequestMapping("${app-config.url.web:}/memberRankSetting")
 @Api(tags = "会员等级服务")
@@ -27,6 +34,9 @@ public class MemberRankSettingController extends BaseController {
     @Autowired
     private SysUserService sysUserService;
 
+    @Autowired
+    private MemberRankOrganizationFeeMapperService memberRankOrganizationFeeMapperService;
+
     @ApiOperation(value = "新增")
     @PostMapping("/add")
     @PreAuthorize("@pcs.hasPermissions('memberRankSetting/add')")
@@ -83,8 +93,40 @@ public class MemberRankSettingController extends BaseController {
     @ApiOperation(value = "获取所有会员列表")
     @PostMapping("/findByOrganIds")
     @PreAuthorize("@pcs.hasPermissions('memberRankSetting/findByOrganIds')")
-    public HttpResponseResult<List<MemberRankSetting>> findAll(@RequestBody List<Integer> organIds) {
-        return succeed(memberRankSettingService.findByOrganIds(organIds));
+    public HttpResponseResult<List<MemberRankSetting>> findAll(@RequestBody List<Integer> organIds,
+                                                               @RequestParam(required = false, defaultValue = "false") Boolean organFeeFlag) {
+
+        // 根据分部ID查询对应的会员等级
+        List<MemberRankSetting> memberRanks = memberRankSettingService.findByOrganIds(organIds);
+
+        // 根据分部ID查询对应价格
+        if (Boolean.TRUE.equals(organFeeFlag)) {
+            MemberRankFeeQueryInfo queryInfo = new MemberRankFeeQueryInfo();
+            queryInfo.setRows(1000);
+            queryInfo.setPage(1);
+            if (CollectionUtils.isNotEmpty(organIds)) {
+                queryInfo.setOrganId(StringUtils.join(organIds, ","));
+            }
+            List<MemberRankOrganizationFeeMapper> rows = memberRankOrganizationFeeMapperService.queryPage(queryInfo).getRows();
+            if (CollectionUtils.isNotEmpty(rows)) {
+                Map<Integer, MemberFeeSetting> collect = rows.stream()
+                    .collect(Collectors.toMap(MemberRankOrganizationFeeMapper::getMemberRankSettingId, MemberRankOrganizationFeeMapper::getMemberFeeSetting, (o, n) -> n));
+
+                // 已统一规定会员等级只有两级,暂不考虑多级
+                for (MemberRankSetting item : memberRanks) {
+                    if (CollectionUtils.isEmpty(item.getChildren())) {
+                        continue;
+                    }
+
+                    // 设置价格
+                    for (MemberRankSetting child : item.getChildren()) {
+                        child.setMemberFeeSetting(collect.get(child.getId()));
+                    }
+                }
+            }
+        }
+
+        return succeed(memberRanks);
     }
 
     @ApiOperation(value = "获取可用的会员树状列表")