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