Przeglądaj źródła

添加公司类别功能

user5 1 rok temu
rodzic
commit
044cf858c0
14 zmienionych plików z 523 dodań i 4 usunięć
  1. 66 0
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/core/excel/converter/ExcelCompanyTypeListDTOConverter.java
  2. 4 0
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/controller/MerchantCompanyController.java
  3. 87 0
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/controller/MerchantCompanyTypeController.java
  4. 1 1
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/controller/MerchantProductController.java
  5. 27 0
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/domain/CompanyType.java
  6. 47 0
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/mapper/CompanyTypeMapper.java
  7. 13 0
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/mapper/MerchantCompanyMapper.java
  8. 49 0
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/mapper/xml/CompanyTypeMapper.xml
  9. 28 1
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/mapper/xml/MerchantCommanyMapper.xml
  10. 75 0
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/service/CompanyTypeService.java
  11. 10 1
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/service/MerchantCompanyService.java
  12. 32 0
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/service/dto/CompanyTypeDTO.java
  13. 51 1
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/service/dto/MerchantCompanyDTO.java
  14. 33 0
      jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/service/mapstuct/CompanyTypeWrapper.java

+ 66 - 0
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/core/excel/converter/ExcelCompanyTypeListDTOConverter.java

@@ -0,0 +1,66 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.core.excel.converter;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.extra.spring.SpringUtil;
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.data.ReadCellData;
+import com.alibaba.excel.metadata.data.WriteCellData;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+import com.google.common.collect.Lists;
+import com.jeeplus.test.wdt.merchantCompany.domain.CompanyType;
+import com.jeeplus.test.wdt.merchantCompany.domain.SettledPlatform;
+import com.jeeplus.test.wdt.merchantCompany.service.CompanyTypeService;
+import com.jeeplus.test.wdt.merchantCompany.service.SettledPlatformService;
+import com.jeeplus.test.wdt.merchantCompany.service.dto.CompanyTypeDTO;
+import com.jeeplus.test.wdt.merchantCompany.service.dto.SettledPlatformDTO;
+import com.jeeplus.test.wdt.merchantCompany.service.mapstuct.CompanyTypeWrapper;
+import com.jeeplus.test.wdt.merchantCompany.service.mapstuct.SettledPlatformWrapper;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 入驻公司类型转换
+ *
+ * @author jeeplus
+ * @version 2016-03-10
+ */
+
+public class ExcelCompanyTypeListDTOConverter implements Converter <List <CompanyTypeDTO>> {
+
+    @Override
+    public Class <?> supportJavaTypeKey() {
+        return List.class;
+    }
+
+    @Override
+    public CellDataTypeEnum supportExcelTypeKey() {
+        return CellDataTypeEnum.STRING;
+    }
+
+    @Override
+    public List <CompanyTypeDTO> convertToJavaData(ReadCellData <?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
+
+        List <CompanyTypeDTO> postList = Lists.newArrayList ( );
+        String val = cellData.getStringValue ( );
+        for (String postName : StrUtil.split ( val, "," )) {
+            CompanyTypeDTO postDTO = CompanyTypeWrapper.INSTANCE.toDTO ( SpringUtil.getBean ( CompanyTypeService.class ).lambdaQuery ( ).eq ( CompanyType::getName, postName ).one ( ) );
+            postList.add ( postDTO );
+        }
+        return postList.size ( ) > 0 ? postList : null;
+    }
+
+    @Override
+    public WriteCellData <?> convertToExcelData(List <CompanyTypeDTO> postDTOList, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
+        List <String> postNames = postDTOList.stream ( ).map ( postDTO -> postDTO.getName ( ) ).collect ( Collectors.toList ( ) );
+        return new WriteCellData <> ( StrUtil.join ( ",", postNames ) );
+    }
+
+
+}
+

+ 4 - 0
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/controller/MerchantCompanyController.java

@@ -9,6 +9,9 @@ import com.jeeplus.core.excel.EasyExcelUtils;
 import com.jeeplus.core.excel.ExcelOptions;
 import com.jeeplus.core.excel.annotation.ExportMode;
 import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.sys.domain.DictValue;
+import com.jeeplus.sys.service.dto.DictValueDTO;
+import com.jeeplus.sys.utils.DictUtils;
 import com.jeeplus.test.utils.excel.MerchantCompanyEasyExcel;
 import com.jeeplus.test.wdt.merchantCompany.service.MerchantCompanyService;
 import com.jeeplus.test.wdt.merchantCompany.service.dto.*;
@@ -25,6 +28,7 @@ import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.io.IOException;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 

+ 87 - 0
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/controller/MerchantCompanyTypeController.java

@@ -0,0 +1,87 @@
+package com.jeeplus.test.wdt.merchantCompany.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.collect.Lists;
+import com.jeeplus.aop.logging.annotation.ApiLog;
+import com.jeeplus.test.wdt.merchantCompany.service.CompanyTypeService;
+import com.jeeplus.test.wdt.merchantCompany.service.dto.CompanyTypeDTO;
+import com.jeeplus.test.wdt.merchantCompany.service.mapstuct.CompanyTypeWrapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+/**
+ * 入驻公司类型controller
+ * @author: 徐滕
+ * @version: 2024-01-04 15:12
+ */
+@Api("入驻产品管理")
+@RestController
+@RequestMapping(value = "/wdt/merchantCompanyType")
+public class MerchantCompanyTypeController {
+    @Autowired
+    private CompanyTypeService companyTypeService;
+
+    @Autowired
+    private CompanyTypeWrapper companyTypeWrapper;
+
+    /**
+     * 入驻产品列表数据
+     */
+    @ApiLog("查询入驻公司类型列表数据")
+    @ApiOperation(value = "查询入驻公司类型列表数据")
+    @PreAuthorize("hasAuthority('wdt:merchantCompanyType:list')")
+    @GetMapping("list")
+    public ResponseEntity<IPage<CompanyTypeDTO>> list(CompanyTypeDTO companyTypeDTO, Page<CompanyTypeDTO> page) throws Exception {
+        IPage<CompanyTypeDTO> result = companyTypeService.findPage (page, companyTypeDTO);
+        return ResponseEntity.ok (result);
+    }
+
+    /**
+     * 根据Id获取商家基本信息
+     */
+    @ApiLog("根据Id获取入驻公司类型基本信息")
+    @ApiOperation(value = "根据Id获取入驻公司类型基本信息")
+    @PreAuthorize("hasAnyAuthority('wdt:merchantCompanyType:view','wdt:merchantCompanyType:add','wdt:merchantCompanyType:edit')")
+    @GetMapping("queryById")
+    public ResponseEntity<CompanyTypeDTO> queryById(String id) {
+        return ResponseEntity.ok ( companyTypeService.findById ( id ) );
+    }
+
+
+
+    /**
+     * 保存请假表单
+     */
+    @ApiLog("保存入驻公司类型基本信息")
+    @ApiOperation(value = "保存入驻公司类型基本信息")
+    @PreAuthorize("hasAnyAuthority('wdt:merchantCompanyType:add','wdt:merchantCompanyType:edit')")
+    @PostMapping("save")
+    public ResponseEntity<String> save(@Valid @RequestBody CompanyTypeDTO companyTypeDTO) {
+        //新增或编辑表单保存
+        companyTypeService.saveOrUpdate (companyTypeWrapper.toEntity (companyTypeDTO));
+        return ResponseEntity.ok ( "保存入驻产品基本信息成功" );
+    }
+
+
+    /**
+     * 删除请假表单
+     */
+    @ApiLog("删除入驻公司类型基本信息")
+    @ApiOperation(value = "删除入驻公司类型基本信息")
+    @PreAuthorize("hasAuthority('wdt:merchantCompanyType:del')")
+    @DeleteMapping("delete")
+    public ResponseEntity <String> delete(String ids) {
+        String idArray[] = ids.split(",");
+        companyTypeService.removeByIds ( Lists.newArrayList ( idArray ) );
+        return ResponseEntity.ok( "删除入驻公司类型基本信息成功" );
+    }
+
+
+}

+ 1 - 1
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/controller/MerchantProductController.java

@@ -129,7 +129,7 @@ public class MerchantProductController {
             categories.add(info.getName());
             data.add(info.getMonthlySalesVolume());
         }
-        map1.put("name","月销售额");
+        map1.put("name","月销售额(元)");
         map1.put("data",data);
         series.add(map1);
         map.put("categories",categories);

+ 27 - 0
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/domain/CompanyType.java

@@ -0,0 +1,27 @@
+package com.jeeplus.test.wdt.merchantCompany.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @author: 徐滕
+ * @version: 2024-01-04 14:54
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("merchant_company_type")
+public class CompanyType extends BaseEntity {
+
+    /**
+     * 入驻公司类型名称
+     */
+    String name;
+
+    /**
+     * 排序
+     */
+    String sort;
+
+}

+ 47 - 0
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/mapper/CompanyTypeMapper.java

@@ -0,0 +1,47 @@
+package com.jeeplus.test.wdt.merchantCompany.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.test.wdt.merchantCompany.domain.CompanyType;
+import com.jeeplus.test.wdt.merchantCompany.domain.MerchantProduct;
+import com.jeeplus.test.wdt.merchantCompany.service.dto.CompanyTypeDTO;
+import com.jeeplus.test.wdt.merchantCompany.service.dto.MerchantProductDTO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 入驻产品mapper
+ * @author: 徐滕
+ * @version: 2024-01-04 15:59
+ */
+public interface CompanyTypeMapper extends BaseMapper<CompanyType> {
+
+    /**
+     * 根据id获取入驻产品信息
+     * @param id
+     * @return
+     */
+    CompanyTypeDTO findById(String id);
+
+
+    /**
+     * 获取入驻产品表单列表
+     *
+     * @param queryWrapper
+     * @return
+     */
+    IPage<CompanyTypeDTO> findList(Page<CompanyTypeDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+
+
+    /**
+     * 获取入驻商家表单列表
+     *
+     * @param queryWrapper
+     * @return
+     */
+    List<CompanyTypeDTO> getListJson(@Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+}

+ 13 - 0
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/mapper/MerchantCompanyMapper.java

@@ -76,4 +76,17 @@ public interface MerchantCompanyMapper extends BaseMapper<MerchantCompany> {
      * @param merchantProductId
      */
     void insertMerchantProduct(@Param("id") String id ,@Param("merchantProductId") String merchantProductId);
+
+    /**
+     * 根据商户id删除入驻公司类型信息
+     * @param id
+     */
+    void deleteMerchantCompanyType(String id);
+
+    /**
+     * 根据商户id和入驻公司类型id新增数据
+     * @param id
+     * @param merchantCompanyType
+     */
+    void insertMerchantCompanyType(@Param("id") String id ,@Param("merchantCompanyType") String merchantCompanyType);
 }

+ 49 - 0
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/mapper/xml/CompanyTypeMapper.xml

@@ -0,0 +1,49 @@
+<?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.jeeplus.test.wdt.merchantCompany.mapper.CompanyTypeMapper">
+
+
+    <sql id="merchantProductColumns">
+		a.id AS "id",
+		a.create_by_id AS "createBy.id",
+		a.create_time AS "createTime",
+		a.update_by_id AS "updateBy.id",
+		a.update_time AS "updateTime",
+		a.del_flag AS "delFlag",
+		a.remarks AS "remarks",
+        a.name AS "name",
+        a.sort AS "sort"
+	</sql>
+
+    <sql id="merchantProductJoins">
+		LEFT JOIN sys_user user ON user.id = a.create_by_id
+	</sql>
+
+
+
+    <select id="findById" resultType="com.jeeplus.test.wdt.merchantCompany.service.dto.CompanyTypeDTO">
+        SELECT
+        <include refid="merchantProductColumns"/>
+        FROM merchant_company_type a
+        <include refid="merchantProductJoins"/>
+        WHERE a.id = #{id} and a.del_flag = 0
+    </select>
+
+    <select id="findList" resultType="com.jeeplus.test.wdt.merchantCompany.service.dto.CompanyTypeDTO">
+        SELECT
+        <include refid="merchantProductColumns"/>
+        FROM merchant_company_type a
+        <include refid="merchantProductJoins"/>
+        ${ew.customSqlSegment}
+    </select>
+
+
+    <select id="getListJson" resultType="com.jeeplus.test.wdt.merchantCompany.service.dto.CompanyTypeDTO">
+        SELECT
+        <include refid="merchantProductColumns"/>
+        FROM merchant_company_type a
+        <include refid="merchantProductJoins"/>
+        ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 28 - 1
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/mapper/xml/MerchantCommanyMapper.xml

@@ -22,6 +22,11 @@
             <result property="name" column="merchantProductDTO.name"/>
             <result property="sort" column="merchantProductDTO.sort"/>
         </collection>
+        <collection property="companyTypeDTOList" javaType="java.util.List" ofType="com.jeeplus.test.wdt.merchantCompany.service.dto.CompanyTypeDTO">
+            <id property="id" column="companyTypeDTO.id"/>
+            <result property="name" column="companyTypeDTO.name"/>
+            <result property="sort" column="companyTypeDTO.sort"/>
+        </collection>
     </resultMap>
 
     <sql id="merchantCompanyColumns">
@@ -56,7 +61,10 @@
         msp.name AS "settledPlatformDTO.name",
         mp.id AS "merchantProductDTO.id",
         mp.sort AS "merchantProductDTO.sort",
-        mp.name AS "merchantProductDTO.name"
+        mp.name AS "merchantProductDTO.name",
+        mct.id AS "companyTypeDTO.id",
+        mct.sort AS "companyTypeDTO.sort",
+        mct.name AS "companyTypeDTO.name"
         FROM merchant_company_info a
         <include refid="merchantCompanyJoins"/>
         left join merchant_company_occupancy_relation_info mcori on mcori.company_id = a.id
@@ -64,6 +72,9 @@
 
         left join merchant_company_product_relation_info mcpri on mcpri.company_id = a.id
         left join merchant_product mp on mp.id = mcpri.product_id
+
+        left join merchant_company_relation_type mcrt on mcrt.company_id = a.id
+        left join merchant_company_type mct on mct.id = mcrt.type_id
         WHERE a.id = #{id} and a.del_flag = 0
     </select>
 
@@ -81,6 +92,11 @@
         ,(select group_concat(msp.name) from merchant_settled_platform msp
         LEFT JOIN merchant_company_occupancy_relation_info mcori ON msp.id = mcori.occupancy_id where mcori.company_id = a.id
         ) as "settledPlatformStr"
+
+        ,(select group_concat(mct.name) from merchant_company_type mct
+        LEFT JOIN merchant_company_relation_type mcrt ON mct.id = mcrt.type_id where mcrt.company_id = a.id
+        ) as "companyTypeStr"
+
         FROM merchant_company_info a
         <include refid="merchantCompanyJoins"/>
         left join merchant_company_occupancy_relation_info mcori on mcori.company_id = a.id
@@ -93,6 +109,8 @@
         <include refid="merchantCompanyColumns"/>
         FROM merchant_company_info a
         <include refid="merchantCompanyJoins"/>
+        left join merchant_company_relation_type mcrt on mcrt.company_id = a.id
+        left join merchant_company_type mct on mct.id = mcrt.type_id
         ${ew.customSqlSegment}
     </select>
 
@@ -114,4 +132,13 @@
         VALUES (#{id}, #{merchantProductId})
     </insert>
 
+    <delete id="deleteMerchantCompanyType">
+        delete from merchant_company_relation_type where company_id = #{id}
+    </delete>
+
+    <insert id="insertMerchantCompanyType">
+        INSERT INTO merchant_company_relation_type(company_id, type_id)
+        VALUES (#{id}, #{merchantCompanyType})
+    </insert>
+
 </mapper>

+ 75 - 0
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/service/CompanyTypeService.java

@@ -0,0 +1,75 @@
+/**
+ * Copyright © 2021-2026 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.test.wdt.merchantCompany.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.test.wdt.merchantCompany.domain.CompanyType;
+import com.jeeplus.test.wdt.merchantCompany.domain.MerchantProduct;
+import com.jeeplus.test.wdt.merchantCompany.mapper.CompanyTypeMapper;
+import com.jeeplus.test.wdt.merchantCompany.mapper.MerchantProductMapper;
+import com.jeeplus.test.wdt.merchantCompany.service.dto.CompanyTypeDTO;
+import com.jeeplus.test.wdt.merchantCompany.service.dto.MerchantProductDTO;
+import com.jeeplus.test.wdt.merchantCompany.service.mapstuct.CompanyTypeWrapper;
+import com.jeeplus.test.wdt.merchantCompany.service.mapstuct.MerchantProductWrapper;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 入驻公司类型Service
+ * @author 徐滕
+ * @version 2024-01-04 15:18
+ */
+@Service
+@Transactional
+public class CompanyTypeService extends ServiceImpl <CompanyTypeMapper, CompanyType> {
+
+    /**
+     * 自定义分页检索
+     * @param page
+     * @param companyTypeDTO
+     * @return
+     */
+    public IPage<CompanyTypeDTO> findPage(Page<CompanyTypeDTO> page, CompanyTypeDTO companyTypeDTO) throws Exception {
+        QueryWrapper<CompanyType> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( CompanyTypeWrapper.INSTANCE.toEntity(companyTypeDTO), CompanyType.class );
+        queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
+        queryWrapper.orderByAsc("a.sort");
+        if(StringUtils.isNotBlank(companyTypeDTO.getName())){
+            queryWrapper.like("a.name",companyTypeDTO.getName());
+        }
+        return  baseMapper.findList (page, queryWrapper);
+    }
+
+    /**
+     * 根据id查询
+     * @param id
+     * @return
+     */
+    public CompanyTypeDTO findById(String id) {
+        return baseMapper.findById ( id );
+    }
+
+
+
+    /**
+     * 自定义分页检索
+     * @param companyTypeDTO
+     * @return
+     */
+    public List<CompanyTypeDTO> getListJson(CompanyTypeDTO companyTypeDTO) throws Exception {
+        QueryWrapper<CompanyType> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( CompanyTypeWrapper.INSTANCE.toEntity(companyTypeDTO), CompanyType.class );
+
+        queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
+        queryWrapper.orderByDesc("a.name");
+        return  baseMapper.getListJson (queryWrapper);
+    }
+
+
+}

+ 10 - 1
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/service/MerchantCompanyService.java

@@ -100,7 +100,7 @@ public class MerchantCompanyService extends ServiceImpl<MerchantCompanyMapper, M
             queryWrapper.like("a.linkman_phone",merchantCompanyDTO.getLinkmanPhone());
         }
         if(StringUtils.isNotBlank(merchantCompanyDTO.getCompanyType())){
-            queryWrapper.like("a.company_type",merchantCompanyDTO.getCompanyType());
+            queryWrapper.eq("mcrt.type_id",merchantCompanyDTO.getCompanyType());
         }
         if (merchantCompanyDTO.getAnnualSalesList() != null && merchantCompanyDTO.getAnnualSalesList().length > 0) {
             if(merchantCompanyDTO.getAnnualSalesList().length == 1){
@@ -219,6 +219,15 @@ public class MerchantCompanyService extends ServiceImpl<MerchantCompanyMapper, M
         } else {
             throw new RuntimeException ( merchantCompanyDTO.getCompanyName() + "没有入驻产品!" );
         }
+        // 更新商户与入驻公司类型关系
+        baseMapper.deleteMerchantCompanyType ( merchantCompanyDTO.getId ( ) );
+        if ( merchantCompanyDTO.getCompanyTypeDTOList ( ) != null ) {
+            merchantCompanyDTO.getCompanyTypeDTOList ( ).forEach ( companyTypeDTO -> {
+                baseMapper.insertMerchantCompanyType ( merchantCompanyDTO.getId ( ), companyTypeDTO.getId ( ) );
+            } );
+        } else {
+            throw new RuntimeException ( merchantCompanyDTO.getCompanyName() + "没有入驻公司类型信息!" );
+        }
     }
 
 }

+ 32 - 0
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/service/dto/CompanyTypeDTO.java

@@ -0,0 +1,32 @@
+package com.jeeplus.test.wdt.merchantCompany.service.dto;
+
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @author: 徐滕
+ * @version: 2024-01-04 14:54
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class CompanyTypeDTO extends BaseDTO {
+
+    /**
+     * 入驻公司类型名称
+     */
+    String name;
+
+    /**
+     * 排序
+     */
+    String sort;
+
+    public CompanyTypeDTO() {
+        super ( );
+    }
+
+    public CompanyTypeDTO(String id) {
+        super ( id );
+    }
+}

+ 51 - 1
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/service/dto/MerchantCompanyDTO.java

@@ -9,6 +9,7 @@ import com.jeeplus.core.query.Query;
 import com.jeeplus.core.query.QueryType;
 import com.jeeplus.core.service.dto.BaseDTO;
 import com.jeeplus.sys.service.dto.PostDTO;
+import com.jeeplus.test.core.excel.converter.ExcelCompanyTypeListDTOConverter;
 import com.jeeplus.test.core.excel.converter.ExcelMerchantProductListDTOConverter;
 import com.jeeplus.test.core.excel.converter.ExcelSettledPlatformListDTOConverter;
 import io.swagger.annotations.ApiModelProperty;
@@ -88,6 +89,13 @@ public class MerchantCompanyDTO extends BaseDTO {
     @ExcelProperty("入驻平台")
     private String settledPlatformStr;
 
+    /**
+     * 入驻平台
+     */
+    @ExcelIgnore
+    @ExcelProperty("公司类型")
+    private String companyTypeStr;
+
 
     /**
      * 年销售额区间
@@ -176,7 +184,7 @@ public class MerchantCompanyDTO extends BaseDTO {
      * @return
      */
     public List <String> getMerchantProductIdList() {
-        if ( settledPlatformDTOList == null ) {
+        if ( merchantProductDTOList == null ) {
             return Lists.newArrayList ( );
         }
         List <String> merchantProductIdList = merchantProductDTOList.stream ( ).map ( merchantProductDTO -> merchantProductDTO.getId ( ) ).collect ( Collectors.toList ( ) );
@@ -194,4 +202,46 @@ public class MerchantCompanyDTO extends BaseDTO {
             merchantProductDTOList.add ( postDTO );
         }
     }
+
+
+
+    /**
+     * 入驻公司类型
+     */
+    @ApiModelProperty(hidden = true)
+    @JsonIgnore
+    @ExcelProperty(value = "入驻公司类型", converter = ExcelCompanyTypeListDTOConverter.class)
+    private List<CompanyTypeDTO> companyTypeDTOList = Lists.newArrayList ( );
+
+    /**
+     * 入驻公司类型
+     */
+    @ExcelIgnore
+    @Query(type = QueryType.EQ, javaField = "merchantProductDTO.id", tableColumn = "mp.id")
+    private CompanyTypeDTO companyTypeDTO;
+
+    /**
+     * 获取包含的入驻公司类型id列表
+     *
+     * @return
+     */
+    public List <String> getCompanyTypeIdList() {
+        if ( companyTypeDTOList == null ) {
+            return Lists.newArrayList ( );
+        }
+        List <String> companyTypeIdList = companyTypeDTOList.stream ( ).map ( companyTypeDTO -> companyTypeDTO.getId ( ) ).collect ( Collectors.toList ( ) );
+        return companyTypeIdList;
+    }
+
+    /**
+     * 设置入驻公司类型
+     *
+     * @param companyTypeIdList
+     */
+    public void setCompanyTypeIdList(List <String> companyTypeIdList) {
+        for (String companyTypeId : companyTypeIdList) {
+            CompanyTypeDTO postDTO = new CompanyTypeDTO ( companyTypeId );
+            companyTypeDTOList.add ( postDTO );
+        }
+    }
 }

+ 33 - 0
jeeplus-modules/jeeplus-test/src/main/java/com/jeeplus/test/wdt/merchantCompany/service/mapstuct/CompanyTypeWrapper.java

@@ -0,0 +1,33 @@
+package com.jeeplus.test.wdt.merchantCompany.service.mapstuct;
+
+import com.jeeplus.core.mapstruct.TreeWrapper;
+import com.jeeplus.test.wdt.merchantCompany.domain.CompanyType;
+import com.jeeplus.test.wdt.merchantCompany.domain.SettledPlatform;
+import com.jeeplus.test.wdt.merchantCompany.service.dto.CompanyTypeDTO;
+import com.jeeplus.test.wdt.merchantCompany.service.dto.SettledPlatformDTO;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.Mappings;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ * 入驻平台MAPPER接口
+ * @author 刘高峰
+ * @version 2024-01-04 10:42
+ */
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
+public interface CompanyTypeWrapper extends TreeWrapper<CompanyTypeDTO, CompanyType> {
+
+    CompanyTypeWrapper INSTANCE = Mappers.getMapper(CompanyTypeWrapper.class);
+    @Mappings({
+            @Mapping(source = "createBy.id", target = "createById"),
+            @Mapping (source = "updateBy.id", target = "updateById")})
+    CompanyType toEntity(CompanyTypeDTO dto);
+
+
+    @Mappings({
+            @Mapping (source = "createById", target = "createBy.id"),
+            @Mapping (source = "updateById", target = "updateBy.id")})
+    CompanyTypeDTO toDTO(CompanyType entity);
+}