Browse Source

fix 学练宝分部价格设置

shangke 8 tháng trước cách đây
mục cha
commit
6c9b5f035d

+ 43 - 1
mec-application/src/main/java/com/ym/mec/web/controller/MemberRankSettingController.java

@@ -1,14 +1,21 @@
 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;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
 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.*;
@@ -16,6 +23,9 @@ 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.Objects;
+import java.util.stream.Collectors;
 
 @RequestMapping("${app-config.url.web:}/memberRankSetting")
 @Api(tags = "会员等级服务")
@@ -27,6 +37,9 @@ public class MemberRankSettingController extends BaseController {
     @Autowired
     private SysUserService sysUserService;
 
+    @Autowired
+    private MemberRankOrganizationFeeMapperService memberRankOrganizationFeeMapperService;
+
     @ApiOperation(value = "新增")
     @PostMapping("/add")
     @PreAuthorize("@pcs.hasPermissions('memberRankSetting/add')")
@@ -84,7 +97,36 @@ public class MemberRankSettingController extends BaseController {
     @PostMapping("/findByOrganIds")
     @PreAuthorize("@pcs.hasPermissions('memberRankSetting/findByOrganIds')")
     public HttpResponseResult<List<MemberRankSetting>> findAll(@RequestBody List<Integer> organIds) {
-        return succeed(memberRankSettingService.findByOrganIds(organIds));
+
+        // 根据分部ID查询对应的会员等级
+        List<MemberRankSetting> memberRanks = memberRankSettingService.findByOrganIds(organIds);
+
+        // 根据分部ID查询对应价格
+        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 = "获取可用的会员树状列表")