Przeglądaj źródła

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

zouxuan 9 miesięcy temu
rodzic
commit
cee0ab3278
18 zmienionych plików z 368 dodań i 36 usunięć
  1. 12 0
      mec-application/src/main/java/com/ym/mec/web/controller/MemberRankOrganizationFeeMapperController.java
  2. 1 1
      mec-application/src/main/java/com/ym/mec/web/controller/MemberRankSettingController.java
  3. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberRankSettingDao.java
  4. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TenantInfoDto.java
  5. 43 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TenantMemberRankSetting.java
  6. 15 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/TenantMemberRankSettingMapper.java
  7. 25 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MemberRankOrganizationFeeMapperWrapper.java
  8. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MemberRankSettingWrapper.java
  9. 106 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/TenantMemberRankSettingWrapper.java
  10. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankOrganizationFeeMapperService.java
  11. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankSettingService.java
  12. 18 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TenantMemberRankSettingService.java
  13. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankOrganizationFeeMapperServiceImpl.java
  14. 8 14
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java
  15. 16 20
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoServiceImpl.java
  16. 67 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantMemberRankSettingServiceImpl.java
  17. 7 0
      mec-biz/src/main/resources/config/mybatis/MemberRankSettingMapper.xml
  18. 5 0
      mec-biz/src/main/resources/config/mybatis/TenantMemberRankSettingMapper.xml

+ 12 - 0
mec-application/src/main/java/com/ym/mec/web/controller/MemberRankOrganizationFeeMapperController.java

@@ -2,6 +2,7 @@ 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.service.MemberRankOrganizationFeeMapperService;
 import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.biz.service.SysUserService;
@@ -39,6 +40,17 @@ public class MemberRankOrganizationFeeMapperController extends BaseController {
         return succeed();
     }
 
+
+    @ApiOperation(value = "新增")
+    @PostMapping("/addV2")
+    @PreAuthorize("@pcs.hasPermissions('memberRankOrganizationFeeMapper/addV2')")
+    @AuditLogAnnotation(operateName = "新增系统功能类型")
+    public Object addV2(@RequestBody MemberRankOrganizationFeeMapperWrapper.MemberRankOrganizationFeeMapperAdd memberRankOrganizationFeeMapper) {
+        memberRankOrganizationFeeMapper.setOperatorId(sysUserService.getUserId());
+        memberRankOrganizationFeeMapperService.addV2(memberRankOrganizationFeeMapper);
+        return succeed();
+    }
+
     @ApiOperation(value = "修改")
     @PostMapping("/update")
     @PreAuthorize("@pcs.hasPermissions('memberRankOrganizationFeeMapper/update')")

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

@@ -82,7 +82,7 @@ public class MemberRankSettingController extends BaseController {
     @ApiOperation(value = "分页查询")
     @PostMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('memberRankSetting/queryPage')")
-    public HttpResponseResult<PageInfo<MemberRankSettingWrapper.MemberRankSetting>> queryPage(@RequestBody MemberRankSettingWrapper.MemberRankSettingQuery queryInfo) {
+    public HttpResponseResult<List<MemberRankSettingWrapper.MemberRankSetting>> queryPage(@RequestBody MemberRankSettingWrapper.MemberRankSettingQuery queryInfo) {
         return succeed(memberRankSettingService.queryPage2(queryInfo));
     }
 

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

@@ -10,4 +10,6 @@ import com.ym.mec.common.dal.BaseDAO;
 public interface MemberRankSettingDao extends BaseDAO<Integer, MemberRankSetting> {
 
 	List<MemberRankSetting> queryListByIsDefault(@Param("isDefault") Boolean isDefault);
+
+    List<MemberRankSetting> selectBatchIds(@Param("ids") List<Integer> ids);
 }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TenantInfoDto.java

@@ -1,10 +1,12 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.wrapper.TenantMemberRankSettingWrapper;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import javax.validation.constraints.*;
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * @author hgw
@@ -107,6 +109,10 @@ public class TenantInfoDto implements Serializable {
     @ApiModelProperty(value = "机构配置参数")
     private TenantConfigDto config;
 
+    @ApiModelProperty("机构会员信息设置")
+    @NotNull(message = "请填写机构会员信息设置!")
+    private List<TenantMemberRankSettingWrapper.TenantMemberRankSettingAdd> memberInfos;
+
     @ApiModelProperty(value = "购买的服务名称")
     private String platformServeName;
 
@@ -116,6 +122,14 @@ public class TenantInfoDto implements Serializable {
     @ApiModelProperty(value = "推荐人")
     private Integer recommender;
 
+    public List<TenantMemberRankSettingWrapper.TenantMemberRankSettingAdd> getMemberInfos() {
+        return memberInfos;
+    }
+
+    public void setMemberInfos(List<TenantMemberRankSettingWrapper.TenantMemberRankSettingAdd> memberInfos) {
+        this.memberInfos = memberInfos;
+    }
+
     public Integer getId() {
         return id;
     }

+ 43 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TenantMemberRankSetting.java

@@ -0,0 +1,43 @@
+package com.ym.mec.biz.dal.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import lombok.Data;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+
+/**
+ * 机构学练宝配置表
+ * 2024-10-23 10:48:21
+ */
+@Data
+@ApiModel(" TenantMemberRankSetting-机构学练宝配置表")
+@TableName("tenant_member_rank_setting")
+public class TenantMemberRankSetting implements Serializable {
+
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("机构id") 
+	@TableField(value = "tenant_id_")
+    private Integer tenantId;
+
+    @ApiModelProperty("学练宝ID") 
+	@TableField(value = "member_rank_setting_id_")
+    private Integer memberRankSettingId;
+
+    @ApiModelProperty("机构配置:TENANT, 学生配置:STUDENT") 
+	@TableField(value = "type_")
+    private String type;
+
+    @ApiModelProperty("学练宝配置") 
+	@TableField(value = "member_config_")
+    private String memberConfig;
+
+}

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/TenantMemberRankSettingMapper.java

@@ -0,0 +1,15 @@
+package com.ym.mec.biz.dal.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ym.mec.biz.dal.entity.TenantMemberRankSetting;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 机构学练宝配置表
+ * 2024-10-23 10:48:21
+ */
+@Repository
+public interface TenantMemberRankSettingMapper extends BaseMapper<TenantMemberRankSetting> {
+
+
+}

+ 25 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MemberRankOrganizationFeeMapperWrapper.java

@@ -0,0 +1,25 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.ym.mec.biz.dal.entity.MemberFeeSetting;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+public class MemberRankOrganizationFeeMapperWrapper {
+
+    @Data
+    public static class MemberRankOrganizationFeeMapperAdd{
+
+        @ApiModelProperty("机构ID 多个逗号隔开")
+        private String organIds;
+
+        @ApiModelProperty("会员卡ID")
+        private Integer memberRankSettingId;
+
+
+        private Integer operatorId;
+
+        @ApiModelProperty("价格信息")
+        private MemberFeeSetting memberFeeSetting;
+
+    }
+}

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

@@ -111,6 +111,9 @@ public class MemberRankSettingWrapper {
         @ApiModelProperty("是否已被购买")
         private Boolean buyFlag = false;
 
+        @ApiModelProperty("子节点")
+        private List<MemberRankSetting> children;
+
 
         @ApiModelProperty("更新人名称")
         private String operatorName;

+ 106 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/TenantMemberRankSettingWrapper.java

@@ -0,0 +1,106 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.alibaba.fastjson.JSON;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Optional;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * 机构学练宝配置表
+ * 2024-10-23 10:48:21
+ */
+@ApiModel(value = "TenantMemberRankSettingWrapper对象", description = "机构学练宝配置表查询对象")
+public class TenantMemberRankSettingWrapper {
+
+    @Data
+	@Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" TenantMemberRankSettingQuery-机构学练宝配置表")
+    public static class TenantMemberRankSettingQuery implements QueryInfo {
+    
+    	@ApiModelProperty("当前页")
+        private Integer page;
+        
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+        
+        @ApiModelProperty("关键字匹配")
+		private String keyword;
+        
+        public String getKeyword() {
+            return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
+        }
+        
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static TenantMemberRankSettingQuery from(String json) {
+            return JSON.parseObject(json, TenantMemberRankSettingQuery.class);
+        }
+    }  
+
+    @Data
+	@ApiModel(" TenantMemberRankSettingAdd-机构学练宝配置表")
+    public static class TenantMemberRankSettingAdd {
+
+        @ApiModelProperty("学练宝ID")
+        private Integer memberRankSettingId;
+
+        @ApiModelProperty("学练宝名称")
+        private String memberRankSettingName;
+
+        @ApiModelProperty("机构配置:TENANT, 学生配置:STUDENT")
+        private String type;
+
+        @ApiModelProperty("学练宝配置")
+        private MemberConfig memberConfig;
+        
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static TenantMemberRankSettingAdd from(String json) {
+            return JSON.parseObject(json, TenantMemberRankSettingAdd.class);
+        }
+	}
+
+
+    @Data
+    @ApiModel(" MemberConfig")
+    public static class MemberConfig {
+
+//        "day_divide": "0",
+//            "month_divide": "0",
+//            "quarter_divide": "1",
+//            "half_year_divide": "0",
+//            "year_divide": "0"
+
+        @ApiModelProperty("日分成")
+        private BigDecimal dayDivide;
+
+        @ApiModelProperty("月分成")
+        private BigDecimal monthDivide;
+
+        @ApiModelProperty("季度分成")
+        private BigDecimal quarterDivide;
+
+        @ApiModelProperty("半年分成")
+        private BigDecimal halfYearDivide;
+
+        @ApiModelProperty("年分成")
+        private BigDecimal yearDivide;
+
+    }
+}

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

@@ -1,6 +1,7 @@
 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.common.service.BaseService;
 
 public interface MemberRankOrganizationFeeMapperService extends BaseService<Integer,MemberRankOrganizationFeeMapper>{
@@ -8,4 +9,6 @@ public interface MemberRankOrganizationFeeMapperService extends BaseService<Inte
     void add(MemberRankOrganizationFeeMapper memberRankOrganizationFeeMapper);
 
     void updateFee(MemberRankOrganizationFeeMapper memberRankOrganizationFeeMapper);
+
+    void addV2(MemberRankOrganizationFeeMapperWrapper.MemberRankOrganizationFeeMapperAdd memberRankOrganizationFeeMapper);
 }

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankSettingService.java

@@ -54,7 +54,9 @@ public interface MemberRankSettingService extends BaseService<Integer, MemberRan
 
     List<SysMusicScoreCategories> getTree(Integer parentId);
 
-    PageInfo<MemberRankSettingWrapper.MemberRankSetting> queryPage2(MemberRankSettingWrapper.MemberRankSettingQuery queryInfo);
+    List<MemberRankSettingWrapper.MemberRankSetting> queryPage2(MemberRankSettingWrapper.MemberRankSettingQuery queryInfo);
 
     void del(Integer id);
+
+    List<MemberRankSetting> listByIds(List<Integer> ids);
 }

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TenantMemberRankSettingService.java

@@ -0,0 +1,18 @@
+package com.ym.mec.biz.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ym.mec.biz.dal.entity.TenantMemberRankSetting;
+import com.ym.mec.biz.dal.wrapper.TenantMemberRankSettingWrapper;
+
+import java.util.List;
+
+/**
+ * 机构学练宝配置表
+ * 2024-10-23 10:48:21
+ */
+public interface TenantMemberRankSettingService extends IService<TenantMemberRankSetting>  {
+
+    void update(Integer tenantId, List<TenantMemberRankSettingWrapper.TenantMemberRankSettingAdd> memberInfo);
+
+    List<TenantMemberRankSettingWrapper.TenantMemberRankSettingAdd> query(Integer tenantId);
+}

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankOrganizationFeeMapperServiceImpl.java

@@ -1,8 +1,10 @@
 package com.ym.mec.biz.service.impl;
 
+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.wrapper.MemberRankOrganizationFeeMapperWrapper;
 import com.ym.mec.biz.service.MemberFeeSettingService;
 import com.ym.mec.biz.service.MemberRankOrganizationFeeMapperService;
 import com.ym.mec.common.dal.BaseDAO;
@@ -12,6 +14,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
 @Service
 public class MemberRankOrganizationFeeMapperServiceImpl extends BaseServiceImpl<Integer, MemberRankOrganizationFeeMapper>  implements MemberRankOrganizationFeeMapperService {
 
@@ -63,4 +69,18 @@ public class MemberRankOrganizationFeeMapperServiceImpl extends BaseServiceImpl<
 		memberFeeSettingService.update(memberFeeSetting);
 		memberRankOrganizationFeeMapperDao.update(memberRankOrganizationFeeMapper);
 	}
+
+    @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());
+
+        for (Integer orgId : orgIds) {
+            MemberRankOrganizationFeeMapper mapper = JSON.parseObject(JSON.toJSONString(memberRankOrganizationFeeMapper), MemberRankOrganizationFeeMapper.class);
+            mapper.setOrganId(orgId);
+            add(mapper);
+        }
+    }
 }

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

@@ -1026,21 +1026,11 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
      * @return
      */
     @Override
-    public PageInfo<MemberRankSettingWrapper.MemberRankSetting> queryPage2(MemberRankSettingWrapper.MemberRankSettingQuery queryInfo) {
-        PageInfo<MemberRankSettingWrapper.MemberRankSetting> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+    public List<MemberRankSettingWrapper.MemberRankSetting> queryPage2(MemberRankSettingWrapper.MemberRankSettingQuery queryInfo) {
         Map<String, Object> params = new HashMap<String, Object>();
         MapUtil.populateMap(params, queryInfo);
+        List<MemberRankSetting>   dataList = this.getDAO().queryPage(params);
 
-        List<MemberRankSetting> dataList = null;
-        int count = this.findCount(params);
-        if (count > 0) {
-            pageInfo.setTotal(count);
-            params.put("offset", pageInfo.getOffset());
-            dataList = this.getDAO().queryPage(params);
-        }
-        if (count == 0) {
-            dataList = new ArrayList<>();
-        }
         List<MemberRankSettingWrapper.MemberRankSetting> memberRankSettings = JSON.parseArray(JSON.toJSONString(dataList), MemberRankSettingWrapper.MemberRankSetting.class);
 
         // 设置曲目数量
@@ -1070,12 +1060,16 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
                 });
             }
         }
-        pageInfo.setRows(memberRankSettings);
-        return pageInfo;
+        return memberRankSettings;
     }
 
     @Override
     public void del(Integer id) {
 
     }
+
+    @Override
+    public List<MemberRankSetting> listByIds(List<Integer> ids) {
+        return memberRankSettingDao.selectBatchIds(ids);
+    }
 }

+ 16 - 20
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoServiceImpl.java

@@ -29,6 +29,7 @@ import javax.servlet.http.HttpServletRequest;
 
 import com.microsvc.toolkit.middleware.oss.OssPluginContext;
 import com.microsvc.toolkit.middleware.oss.impl.TencentOssPlugin;
+import com.ym.mec.biz.service.*;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -86,26 +87,6 @@ import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.vo.PlatformServePageVo;
 import com.ym.mec.biz.dal.vo.SysUserTenantVo;
 import com.ym.mec.biz.dal.vo.TenantInfoPageVo;
-import com.ym.mec.biz.service.ContractService;
-import com.ym.mec.biz.service.EmployeeService;
-import com.ym.mec.biz.service.PayService;
-import com.ym.mec.biz.service.PlatformProductService;
-import com.ym.mec.biz.service.PlatformServeDetailService;
-import com.ym.mec.biz.service.PlatformServeService;
-import com.ym.mec.biz.service.StudentService;
-import com.ym.mec.biz.service.SysAreaService;
-import com.ym.mec.biz.service.SysConfigService;
-import com.ym.mec.biz.service.SysMessageService;
-import com.ym.mec.biz.service.SysUserTenantService;
-import com.ym.mec.biz.service.SysUserTsignService;
-import com.ym.mec.biz.service.TenantAssetsInfoService;
-import com.ym.mec.biz.service.TenantConfigService;
-import com.ym.mec.biz.service.TenantContractRecordService;
-import com.ym.mec.biz.service.TenantContractTemplateService;
-import com.ym.mec.biz.service.TenantInfoService;
-import com.ym.mec.biz.service.TenantOrderRecordService;
-import com.ym.mec.biz.service.TenantPreJoinService;
-import com.ym.mec.biz.service.TenantProductInfoService;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.PageUtil;
@@ -174,6 +155,9 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
     @Autowired
     private OssPluginContext ossPluginContext;
 
+    @Autowired
+    private TenantMemberRankSettingService tenantMemberRankSettingService;
+
     @Value("${contract.baseDir:/var/pdf}")
     private String contractBaseDir;
     //乐小雅协议名称
@@ -247,6 +231,11 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
         userTenant.setTenantId(tenantId);
         userTenant.setCreatedTime(new Date());
         sysUserTenantService.save(userTenant);
+
+        // 设置机构会员配置
+        tenantMemberRankSettingService.update(tenantId,dto.getMemberInfos());
+
+
         //释放
         bucket.delete();
     }
@@ -313,6 +302,10 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
         if (Objects.nonNull(dto.getConfig())) {
             setIdByApply(tenantInfo.getId(), dto.getConfig(), dto.getConfig()::setTenantId, tenantConfigService::updateConfig);
         }
+        if (CollectionUtils.isNotEmpty(dto.getMemberInfos())) {
+            // 设置机构会员配置
+            tenantMemberRankSettingService.update(tenantId,dto.getMemberInfos());
+        }
     }
 
     /**
@@ -348,6 +341,9 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
         Optional.ofNullable(serveDetail)
                 .map(PlatformServeDetail::getStudentUpLimit)
                 .ifPresent(tenantInfoDto::setStudentUpLimit);
+
+        // 学练宝信息
+        tenantInfoDto.setMemberInfos(tenantMemberRankSettingService.query(tenantId));
         return tenantInfoDto;
     }
 

+ 67 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantMemberRankSettingServiceImpl.java

@@ -0,0 +1,67 @@
+package com.ym.mec.biz.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ym.mec.biz.dal.entity.MemberRankSetting;
+import com.ym.mec.biz.dal.entity.TenantMemberRankSetting;
+import com.ym.mec.biz.dal.mapper.TenantMemberRankSettingMapper;
+import com.ym.mec.biz.dal.wrapper.TenantMemberRankSettingWrapper;
+import com.ym.mec.biz.service.MemberRankSettingService;
+import com.ym.mec.biz.service.TenantMemberRankSettingService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
+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.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 机构学练宝配置表
+ * 2024-10-23 10:48:21
+ */
+@Slf4j
+@Service
+public class TenantMemberRankSettingServiceImpl extends ServiceImpl<TenantMemberRankSettingMapper, TenantMemberRankSetting> implements TenantMemberRankSettingService {
+
+    @Autowired
+    private MemberRankSettingService memberRankSettingService;
+
+    @Override
+    @Transactional
+    public void update(Integer tenantId, List<TenantMemberRankSettingWrapper.TenantMemberRankSettingAdd> memberInfo) {
+
+        // 先删除
+        lambdaUpdate().eq(TenantMemberRankSetting::getTenantId, tenantId).remove();
+
+        // 在新增
+        List<TenantMemberRankSetting> tenantMemberRankSettings = JSON.parseArray(JSON.toJSONString(memberInfo), TenantMemberRankSetting.class);
+        tenantMemberRankSettings.forEach(tenantMemberRankSetting -> tenantMemberRankSetting.setTenantId(tenantId));
+
+        saveBatch(tenantMemberRankSettings);
+
+    }
+
+    @Override
+    public List<TenantMemberRankSettingWrapper.TenantMemberRankSettingAdd> query(Integer tenantId) {
+        List<TenantMemberRankSetting> list = lambdaQuery().eq(TenantMemberRankSetting::getTenantId, tenantId).list();
+        if (CollectionUtils.isEmpty(list)) {
+            return new ArrayList<>();
+        }
+        List<TenantMemberRankSettingWrapper.TenantMemberRankSettingAdd> tenantMemberRankSettingAdds = JSON.parseArray(JSON.toJSONString(list), TenantMemberRankSettingWrapper.TenantMemberRankSettingAdd.class);
+        // 学练宝ID集合
+        List<Integer> ids = tenantMemberRankSettingAdds.stream().map(o -> o.getMemberRankSettingId()).distinct().collect(Collectors.toList());
+        List<MemberRankSetting> memberRankSettings = memberRankSettingService.listByIds(ids);
+        // map
+        Map<Integer, String> map =
+            memberRankSettings.stream().collect(Collectors.toMap(MemberRankSetting::getId, MemberRankSetting::getName));
+
+        tenantMemberRankSettingAdds
+            .forEach(tenantMemberRankSettingAdd -> tenantMemberRankSettingAdd.setMemberRankSettingName(map.get(tenantMemberRankSettingAdd.getMemberRankSettingId())));
+
+        return tenantMemberRankSettingAdds;
+    }
+}

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

@@ -106,4 +106,11 @@
 			</if>
 		</where>
 	</select>
+
+	<select id="selectBatchIds" resultMap="MemberRankSetting">
+        SELECT * FROM member_rank_setting WHERE id_ IN
+        <foreach collection="ids" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </select>
 </mapper>

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/TenantMemberRankSettingMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ym.mec.biz.dal.mapper.TenantMemberRankSettingMapper">
+
+</mapper>