|  | @@ -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,41 @@ 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 = "获取可用的会员树状列表")
 |