浏览代码

Merge remote-tracking branch 'origin/feature/1022_vip' into feature/1022_vip

zouxuan 9 月之前
父节点
当前提交
410d40a580

+ 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 - 2
mec-application/src/main/java/com/ym/mec/web/controller/MemberRankSettingController.java

@@ -72,10 +72,10 @@ public class MemberRankSettingController extends BaseController {
 
 
     @ApiOperation(value = "删除")
-    @PostMapping("/del")
+    @PostMapping("/del/{id}")
     @PreAuthorize("@pcs.hasPermissions('memberRankSetting/del')")
     @AuditLogAnnotation(operateName = "删除学练宝会员等级")
-    public HttpResponseResult<Object> update(@RequestParam Integer id) {
+    public HttpResponseResult<Object> update(@PathVariable Integer id) {
         memberRankSettingService.del(id);
         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);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScore.java

@@ -178,6 +178,8 @@ public class SysMusicScore {
 	@ApiModelProperty("伴奏固定调PDF文件")
 	private String accJianPdfUrl;
 
+    @ApiModelProperty("曲目状态 ")
+
 	private List<SysMusicScoreAccompaniment> background;
 
 	@Override

+ 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;
+    }
 }

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

@@ -46,6 +46,9 @@ public class MemberRankSettingWrapper {
         @ApiModelProperty("查询有子节点的数据")
         private Boolean hasChildren;
 
+        @ApiModelProperty("移除ID")
+        private List<Integer> removeIds;
+
         public String jsonString() {
             return JSON.toJSONString(this);
         }
@@ -99,6 +102,9 @@ public class MemberRankSettingWrapper {
         @ApiModelProperty("父级编号")
         private Integer parentId;
 
+        @ApiModelProperty("父级名称")
+        private String parentName;
+
         @ApiModelProperty("名称")
         private String name;
 

+ 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);
 }

+ 42 - 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,30 @@ 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();
+        settingQuery.setHasChildren(true);
+        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);
+
+    }
 }

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

@@ -71,6 +71,9 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
     @Autowired
     private LessonCoursewareService lessonCoursewareService;
 
+    @Autowired
+    private SysUserService sysUserService;
+
     @Resource
     private CbsMusicScoreCategoriesService cbsMusicScoreCategoriesService;
     @Lazy
@@ -151,7 +154,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);
         // 设置学练宝曲目分类内容
@@ -1067,8 +1070,16 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
 
             dataList.addAll(tops);
         }
+        //dataList 转map
+        Map<Integer, MemberRankSetting> settingMap = dataList.stream().collect(Collectors.toMap(MemberRankSetting::getId, o -> o, (o1, o2) -> o1));
+
+
+        List<MemberRankSettingWrapper.MemberRankSetting> memberRankSettings = JSON.parseArray(JSON.toJSONString(settingMap.values()), MemberRankSettingWrapper.MemberRankSetting.class);
+
+        //  更新人ID集合
+        List<Integer> operatorIds = memberRankSettings.stream().map(o -> o.getOperator()).collect(Collectors.toList());
+        Map<Long, SysUser> sysUserMap = sysUserService.getMapByIds(operatorIds);
 
-        List<MemberRankSettingWrapper.MemberRankSetting> memberRankSettings = JSON.parseArray(JSON.toJSONString(dataList), MemberRankSettingWrapper.MemberRankSetting.class);
 
         // 设置曲目数量
         // 查询曲目ID分类
@@ -1094,6 +1105,14 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
                     if (CollectionUtils.isNotEmpty(categoryList)) {
                         e.setMusicCount(categoryList.stream().map(statMap::get).filter(Objects::nonNull).reduce(Integer::sum).orElse(0));
                     }
+                    SysUser sysUser = sysUserMap.get(e.getOperator().longValue());
+                    if (sysUser != null) {
+                        e.setOperatorName(sysUser.getRealName());
+                    }
+                    MemberRankSetting memberRankSetting = settingMap.get(e.getParentId());
+                    if (memberRankSetting != null) {
+                        e.setParentName(memberRankSetting.getName());
+                    }
                 });
             }
             // 转tree

+ 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>

+ 8 - 2
mec-biz/src/main/resources/config/mybatis/MemberRankSettingMapper.xml

@@ -36,8 +36,8 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.MemberRankSetting" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO member_rank_setting (name_,intro_,icon_,is_default_,create_time_,update_time_,operator_,experience_icon_)
-		VALUES(#{name},#{intro},#{icon},#{isDefault},NOW(),NOW(),#{operator},#{experienceIcon})
+		INSERT INTO member_rank_setting (name_,intro_,icon_,is_default_,create_time_,update_time_,operator_,experience_icon_,parent_id_)
+		VALUES(#{name},#{intro},#{icon},#{isDefault},NOW(),NOW(),#{operator},#{experienceIcon},#{parentId})
 	</insert>
 
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.MemberRankSetting">
@@ -96,6 +96,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>