Explorar o código

学练宝收费标准

刘俊驰 hai 9 meses
pai
achega
17efc9c76e

+ 17 - 1
mec-application/src/main/java/com/ym/mec/web/controller/MemberRankOrganizationFeeMapperController.java

@@ -3,19 +3,24 @@ package com.ym.mec.web.controller;
 import com.ym.mec.biz.dal.entity.MemberRankOrganizationFeeMapper;
 import com.ym.mec.biz.dal.page.MemberRankFeeQueryInfo;
 import com.ym.mec.biz.dal.wrapper.MemberRankOrganizationFeeMapperWrapper;
+import com.ym.mec.biz.dal.wrapper.MemberRankSettingWrapper;
 import com.ym.mec.biz.service.MemberRankOrganizationFeeMapperService;
 import com.ym.mec.biz.service.OrganizationService;
 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.tenant.TenantContextHolder;
 import com.ym.mec.util.collection.MapUtil;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @RequestMapping("${app-config.url.web:}/memberRankOrganizationFeeMapper")
@@ -41,11 +46,22 @@ public class MemberRankOrganizationFeeMapperController extends BaseController {
     }
 
 
+    @ApiOperation(value = "查询分部可配置的学练宝")
+    @PostMapping("/getMemberRankSetting")
+    @AuditLogAnnotation(operateName = "查询分部可配置的学练宝")
+    public HttpResponseResult<List<MemberRankSettingWrapper.MemberRankSetting>> getMemberRankSetting(
+        @RequestBody @Validated MemberRankOrganizationFeeMapperWrapper.MemberRankQuery query) {
+        query.setTenantId(TenantContextHolder.getTenantId());
+        return succeed(memberRankOrganizationFeeMapperService.getMemberRankSetting(query));
+
+    }
+
+
     @ApiOperation(value = "新增")
     @PostMapping("/addV2")
     @PreAuthorize("@pcs.hasPermissions('memberRankOrganizationFeeMapper/addV2')")
     @AuditLogAnnotation(operateName = "新增系统功能类型")
-    public Object addV2(@RequestBody MemberRankOrganizationFeeMapperWrapper.MemberRankOrganizationFeeMapperAdd memberRankOrganizationFeeMapper) {
+    public Object addV2(@RequestBody @Validated MemberRankOrganizationFeeMapperWrapper.MemberRankOrganizationFeeMapperAdd memberRankOrganizationFeeMapper) {
         memberRankOrganizationFeeMapper.setOperatorId(sysUserService.getUserId());
         memberRankOrganizationFeeMapperService.addV2(memberRankOrganizationFeeMapper);
         return succeed();

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberRankOrganizationFeeMapperDao.java

@@ -12,4 +12,6 @@ public interface MemberRankOrganizationFeeMapperDao extends BaseDAO<Integer, Mem
     MemberRankOrganizationFeeMapper findByOrganIdAndRankId(@Param("organId") Integer organId, @Param("memberRankSettingId") Integer memberRankSettingId);
 
     List<MemberRankOrganizationFeeMapper> queryByOrganId(@Param("organId") Integer organId);
+
+    List<MemberRankOrganizationFeeMapper> queryByOrganIds(@Param("orgIds") List<Integer> orgIds);
 }

+ 19 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MemberRankOrganizationFeeMapperWrapper.java

@@ -4,15 +4,19 @@ import com.ym.mec.biz.dal.entity.MemberFeeSetting;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
+
 public class MemberRankOrganizationFeeMapperWrapper {
 
     @Data
     public static class MemberRankOrganizationFeeMapperAdd{
 
-        @ApiModelProperty("机构ID 多个逗号隔开")
+        @ApiModelProperty("分部ID 多个逗号隔开")
+        @NotNull(message = "分部ID不能为空")
         private String organIds;
 
-        @ApiModelProperty("会员卡ID")
+        @ApiModelProperty("学练宝ID")
+        @NotNull(message = "学练宝ID不能为空")
         private Integer memberRankSettingId;
 
 
@@ -22,4 +26,17 @@ public class MemberRankOrganizationFeeMapperWrapper {
         private MemberFeeSetting memberFeeSetting;
 
     }
+
+    @Data
+    public static class MemberRankQuery {
+
+        @ApiModelProperty("分部ID 多个逗号隔开")
+        private String organIds;
+
+        @ApiModelProperty("机构ID")
+        private Integer tenantId;
+
+        @ApiModelProperty("ID")
+        private Integer id;
+    }
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MemberRankSettingWrapper.java

@@ -44,6 +44,9 @@ public class MemberRankSettingWrapper {
         @ApiModelProperty("会员编号")
         private List<Integer> memberIds;
 
+        @ApiModelProperty("移除ID")
+        private List<Integer> removeIds;
+
         public String jsonString() {
             return JSON.toJSONString(this);
         }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankOrganizationFeeMapperService.java

@@ -2,8 +2,11 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.MemberRankOrganizationFeeMapper;
 import com.ym.mec.biz.dal.wrapper.MemberRankOrganizationFeeMapperWrapper;
+import com.ym.mec.biz.dal.wrapper.MemberRankSettingWrapper;
 import com.ym.mec.common.service.BaseService;
 
+import java.util.List;
+
 public interface MemberRankOrganizationFeeMapperService extends BaseService<Integer,MemberRankOrganizationFeeMapper>{
 
     void add(MemberRankOrganizationFeeMapper memberRankOrganizationFeeMapper);
@@ -11,4 +14,6 @@ public interface MemberRankOrganizationFeeMapperService extends BaseService<Inte
     void updateFee(MemberRankOrganizationFeeMapper memberRankOrganizationFeeMapper);
 
     void addV2(MemberRankOrganizationFeeMapperWrapper.MemberRankOrganizationFeeMapperAdd memberRankOrganizationFeeMapper);
+
+    List<MemberRankSettingWrapper.MemberRankSetting> getMemberRankSetting(MemberRankOrganizationFeeMapperWrapper.MemberRankQuery query);
 }

+ 41 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankOrganizationFeeMapperServiceImpl.java

@@ -4,16 +4,23 @@ import com.alibaba.fastjson.JSON;
 import com.ym.mec.biz.dal.dao.MemberRankOrganizationFeeMapperDao;
 import com.ym.mec.biz.dal.entity.MemberFeeSetting;
 import com.ym.mec.biz.dal.entity.MemberRankOrganizationFeeMapper;
+import com.ym.mec.biz.dal.entity.TenantMemberRankSetting;
 import com.ym.mec.biz.dal.wrapper.MemberRankOrganizationFeeMapperWrapper;
+import com.ym.mec.biz.dal.wrapper.MemberRankSettingWrapper;
 import com.ym.mec.biz.service.MemberFeeSettingService;
 import com.ym.mec.biz.service.MemberRankOrganizationFeeMapperService;
+import com.ym.mec.biz.service.MemberRankSettingService;
+import com.ym.mec.biz.service.TenantMemberRankSettingService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -26,6 +33,12 @@ public class MemberRankOrganizationFeeMapperServiceImpl extends BaseServiceImpl<
 	@Autowired
 	private MemberFeeSettingService memberFeeSettingService;
 
+    @Autowired
+    private TenantMemberRankSettingService tenantMemberRankSettingService;
+
+    @Autowired
+    private MemberRankSettingService memberRankSettingService;
+
 	@Override
 	public BaseDAO<Integer, MemberRankOrganizationFeeMapper> getDAO() {
 		return memberRankOrganizationFeeMapperDao;
@@ -37,7 +50,7 @@ public class MemberRankOrganizationFeeMapperServiceImpl extends BaseServiceImpl<
 		//一个分部只能关联一个会员
 		MemberRankOrganizationFeeMapper feeMapper = memberRankOrganizationFeeMapperDao.findByOrganIdAndRankId(memberRankOrganizationFeeMapper.getOrganId(),memberRankOrganizationFeeMapper.getMemberRankSettingId());
 		if(feeMapper != null){
-			throw new BizException("操作失败: 该分部会员收费标准已存在");
+			throw new BizException("操作失败: 分部学练宝收费标准已存在");
 		}
 		MemberFeeSetting memberFeeSetting = memberRankOrganizationFeeMapper.getMemberFeeSetting();
 		if(memberFeeSetting == null){
@@ -62,7 +75,7 @@ public class MemberRankOrganizationFeeMapperServiceImpl extends BaseServiceImpl<
 		if(!feeMapper.getOrganId().equals(memberRankOrganizationFeeMapper.getOrganId())){
 			MemberRankOrganizationFeeMapper organIdAndRankId = memberRankOrganizationFeeMapperDao.findByOrganIdAndRankId(memberRankOrganizationFeeMapper.getOrganId(), memberRankOrganizationFeeMapper.getMemberRankSettingId());
 			if(organIdAndRankId != null){
-				throw new BizException("修改失败: 该分部会员收费标准已存在");
+				throw new BizException("修改失败: 该分部学练宝收费标准已存在");
 			}
 		}
 		memberFeeSetting.setId(feeMapper.getMemberFeeSettingId());
@@ -73,7 +86,7 @@ public class MemberRankOrganizationFeeMapperServiceImpl extends BaseServiceImpl<
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void addV2(MemberRankOrganizationFeeMapperWrapper.MemberRankOrganizationFeeMapperAdd memberRankOrganizationFeeMapper) {
-        //一个分部只能关联一个会员
+        //一个分部同一个会员,只能关联一次
         List<Integer> orgIds = Arrays.stream(memberRankOrganizationFeeMapper.getOrganIds().split(","))
             .map(Integer::parseInt).collect(Collectors.toList());
 
@@ -83,4 +96,29 @@ public class MemberRankOrganizationFeeMapperServiceImpl extends BaseServiceImpl<
             add(mapper);
         }
     }
+
+    @Override
+    public List<MemberRankSettingWrapper.MemberRankSetting> getMemberRankSetting(MemberRankOrganizationFeeMapperWrapper.MemberRankQuery query) {
+        // 查询机构学练宝ID
+        List<TenantMemberRankSetting> list = tenantMemberRankSettingService.lambdaQuery()
+            .eq(TenantMemberRankSetting::getTenantId, query.getTenantId())
+            .list();
+        if (CollectionUtils.isEmpty(list)) {
+            return new ArrayList<>();
+        }
+        MemberRankSettingWrapper.MemberRankSettingQuery settingQuery = new MemberRankSettingWrapper.MemberRankSettingQuery();
+        List<Integer> memberRankSettingIds = list.stream().map(TenantMemberRankSetting::getMemberRankSettingId).collect(Collectors.toList());
+        settingQuery.setMemberIds(memberRankSettingIds);
+        if (StringUtils.isNotBlank(query.getOrganIds())) {
+            List<MemberRankOrganizationFeeMapper> memberRankOrganizationFeeMappers = memberRankOrganizationFeeMapperDao.queryByOrganIds(Arrays.stream(query.getOrganIds().split(","))
+                .map(Integer::parseInt).collect(Collectors.toList()));
+            if (query.getId() != null) {
+                memberRankOrganizationFeeMappers = memberRankOrganizationFeeMappers.stream().filter(o->o.getId().equals(query.getId())).collect(Collectors.toList());
+            }
+            settingQuery.setRemoveIds(memberRankOrganizationFeeMappers.stream().map(MemberRankOrganizationFeeMapper::getMemberRankSettingId).collect(Collectors.toList()));
+        }
+
+        return memberRankSettingService.queryPage2(settingQuery);
+
+    }
 }

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

@@ -151,7 +151,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
         memberRankSettingDao.insert(object);
         List<Integer> memberPrivilegesItemIdList = memberRankSetting.getMemberPrivilegesItemIdList();
         if (CollectionUtils.isEmpty(memberPrivilegesItemIdList)) {
-            throw new BizException("操作失败:请配置会员权益");
+            throw new BizException("操作失败:请配置学练宝权益");
         }
         memberRankPrivilegesDao.batchInsert(object.getId(), memberPrivilegesItemIdList);
         // 设置学练宝曲目分类内容

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/MemberRankOrganizationFeeMapperMapper.xml

@@ -123,4 +123,11 @@
     <select id="queryByOrganId" resultMap="MemberRankOrganizationFeeMapper">
 		SELECT * FROM member_rank_organization_fee_mapper WHERE organ_id_ = #{organId}
 	</select>
+
+	<select id="queryByOrganIds" resultMap="MemberRankOrganizationFeeMapper">
+        SELECT * FROM member_rank_organization_fee_mapper WHERE organ_id_ IN
+        <foreach collection="orgIds" item="organId" open="(" close=")" separator=",">
+            #{organId}
+        </foreach>
+    </select>
 </mapper>

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/MemberRankSettingMapper.xml

@@ -91,6 +91,12 @@
 					#{id}
 				</foreach>
             </if>
+            <if test="removeIds !=null and removeIds.size > 0">
+            	AND mrs.id_ NOT IN
+                <foreach collection="removeIds" item="id" open="(" close=")" separator=",">
+                    #{id}
+                </foreach>
+            </if>
             <if test="updateName !=null and updateName !=''">
                 AND su.real_name_ LIKE CONCAT('%',#{updateName},'%')
             </if>