案例管理
This commit is contained in:
		| @@ -23,13 +23,21 @@ public class SysCustomerCase extends BaseEntity | ||||
|     private String name; | ||||
|  | ||||
|     /** 案例关键词 */ | ||||
|     @Excel(name = "案例关键词") | ||||
|     @Excel(name = "关键词") | ||||
|     private String keyword; | ||||
|  | ||||
|     /** 案例所属客户ID */ | ||||
|     @Excel(name = "案例所属客户ID") | ||||
|     private Long customerId; | ||||
|  | ||||
|     @Excel(name = "所属客户") | ||||
|     private String customerName; | ||||
|  | ||||
|     /** 删除标识 0未删除 1已删除,默认0 */ | ||||
|     private Long delFlag; | ||||
|  | ||||
|     //案例文件名称数组 | ||||
|     private String[] caseFileName; | ||||
|  | ||||
|     //案例文件URL数组 | ||||
|     private String[] caseFileUrl; | ||||
| } | ||||
| @@ -0,0 +1,11 @@ | ||||
| package com.stdiet.custom.dto.request; | ||||
|  | ||||
| import lombok.Data; | ||||
|  | ||||
| @Data | ||||
| public class FileRequest { | ||||
|  | ||||
|     private String fileUrl; | ||||
|  | ||||
|     private String fileName; | ||||
| } | ||||
| @@ -2,6 +2,7 @@ package com.stdiet.custom.mapper; | ||||
|  | ||||
| import java.util.List; | ||||
| import com.stdiet.custom.domain.SysCustomerCaseFile; | ||||
| import org.apache.ibatis.annotations.Param; | ||||
|  | ||||
| /** | ||||
|  * 客户案例对应文件管理Mapper接口 | ||||
| @@ -58,4 +59,29 @@ public interface SysCustomerCaseFileMapper | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteSysCustomerCaseFileByIds(Long[] ids); | ||||
|  | ||||
|     /** | ||||
|      * 根据案例ID删除该案例下的所有文件记录 | ||||
|      * @param caseId | ||||
|      */ | ||||
|     int deleteSysCustomerCaseFileByCaseId(@Param("caseId")Long caseId); | ||||
|  | ||||
|     /** | ||||
|      * 根据案例ID批量删除该案例下的所有文件记录 | ||||
|      * @param caseIds | ||||
|      */ | ||||
|     int deleteSysCustomerCaseFileByCaseIds(Long[] caseIds); | ||||
|  | ||||
|     /** | ||||
|      * 批量插入案例文件记录 | ||||
|      * @param list | ||||
|      */ | ||||
|     int insertBatch(List<SysCustomerCaseFile> list); | ||||
|  | ||||
|     /** | ||||
|      * 根据案例Id查询案例文件列表 | ||||
|      * @param caseId | ||||
|      * @return | ||||
|      */ | ||||
|     List<SysCustomerCaseFile> selectSysCustomerCaseFileListByCaseId(@Param("caseId") Long caseId); | ||||
| } | ||||
| @@ -2,6 +2,7 @@ package com.stdiet.custom.service; | ||||
|  | ||||
| import java.util.List; | ||||
| import com.stdiet.custom.domain.SysCustomerCase; | ||||
| import com.stdiet.custom.domain.SysCustomerCaseFile; | ||||
|  | ||||
| /** | ||||
|  * 客户案例管理Service接口 | ||||
| @@ -58,4 +59,11 @@ public interface ISysCustomerCaseService { | ||||
|      */ | ||||
|     public int deleteSysCustomerCaseById(Long id); | ||||
|  | ||||
|     /** | ||||
|      * 根据案例ID获取对应文件列表 | ||||
|      * @param caseId | ||||
|      * @return | ||||
|      */ | ||||
|     List<SysCustomerCaseFile> getFileListByCaseId(Long caseId); | ||||
|  | ||||
| } | ||||
| @@ -1,12 +1,16 @@ | ||||
| package com.stdiet.custom.service.impl; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
| import com.stdiet.common.utils.DateUtils; | ||||
| import com.stdiet.custom.domain.SysCustomerCaseFile; | ||||
| import com.stdiet.custom.mapper.SysCustomerCaseFileMapper; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | ||||
| import com.stdiet.custom.mapper.SysCustomerCaseMapper; | ||||
| import com.stdiet.custom.domain.SysCustomerCase; | ||||
| import com.stdiet.custom.service.ISysCustomerCaseService; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
|  | ||||
| /** | ||||
|  * 客户案例管理Service业务层处理 | ||||
| @@ -15,11 +19,15 @@ import com.stdiet.custom.service.ISysCustomerCaseService; | ||||
|  * @date 2021-03-04 | ||||
|  */ | ||||
| @Service | ||||
| @Transactional | ||||
| public class SysCustomerCaseServiceImpl implements ISysCustomerCaseService | ||||
| { | ||||
|     @Autowired | ||||
|     private SysCustomerCaseMapper sysCustomerCaseMapper; | ||||
|  | ||||
|     @Autowired | ||||
|     private SysCustomerCaseFileMapper sysCustomerCaseFileMapper; | ||||
|  | ||||
|     /** | ||||
|      * 查询客户案例管理 | ||||
|      * | ||||
| @@ -54,7 +62,23 @@ public class SysCustomerCaseServiceImpl implements ISysCustomerCaseService | ||||
|     public int insertSysCustomerCase(SysCustomerCase sysCustomerCase) | ||||
|     { | ||||
|         sysCustomerCase.setCreateTime(DateUtils.getNowDate()); | ||||
|         return sysCustomerCaseMapper.insertSysCustomerCase(sysCustomerCase); | ||||
|         int rows = sysCustomerCaseMapper.insertSysCustomerCase(sysCustomerCase); | ||||
|         if(rows > 0){ | ||||
|             //批量添加文件对应列表 | ||||
|             SysCustomerCaseFile caseFile = null; | ||||
|             if(sysCustomerCase.getCaseFileUrl() != null && sysCustomerCase.getCaseFileUrl().length > 0){ | ||||
|                 List<SysCustomerCaseFile> caseFileList = new ArrayList<>(); | ||||
|                 for (String url : sysCustomerCase.getCaseFileUrl()) { | ||||
|                     caseFile = new SysCustomerCaseFile(); | ||||
|                     caseFile.setCaseId(sysCustomerCase.getId()); | ||||
|                     caseFile.setFileName(sysCustomerCase.getCaseFileName()[caseFileList.size()]); | ||||
|                     caseFile.setFileUrl(url); | ||||
|                     caseFileList.add(caseFile); | ||||
|                 } | ||||
|                 rows = sysCustomerCaseFileMapper.insertBatch(caseFileList); | ||||
|             } | ||||
|         } | ||||
|         return rows; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -79,7 +103,11 @@ public class SysCustomerCaseServiceImpl implements ISysCustomerCaseService | ||||
|     @Override | ||||
|     public int deleteSysCustomerCaseByIds(Long[] ids) | ||||
|     { | ||||
|         return sysCustomerCaseMapper.deleteSysCustomerCaseByIds(ids); | ||||
|         int rows = sysCustomerCaseMapper.deleteSysCustomerCaseByIds(ids); | ||||
|         if(rows > 0){ | ||||
|             rows = sysCustomerCaseFileMapper.deleteSysCustomerCaseFileByCaseIds(ids); | ||||
|         } | ||||
|         return rows; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -91,6 +119,19 @@ public class SysCustomerCaseServiceImpl implements ISysCustomerCaseService | ||||
|     @Override | ||||
|     public int deleteSysCustomerCaseById(Long id) | ||||
|     { | ||||
|         return sysCustomerCaseMapper.deleteSysCustomerCaseById(id); | ||||
|         int rows = sysCustomerCaseMapper.deleteSysCustomerCaseById(id); | ||||
|         if(rows > 0){ | ||||
|             rows = sysCustomerCaseFileMapper.deleteSysCustomerCaseFileByCaseId(id); | ||||
|         } | ||||
|         return rows; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 根据案例ID获取对应文件列表 | ||||
|      * @param caseId | ||||
|      * @return | ||||
|      */ | ||||
|     public List<SysCustomerCaseFile> getFileListByCaseId(Long caseId){ | ||||
|         return sysCustomerCaseFileMapper.selectSysCustomerCaseFileListByCaseId(caseId); | ||||
|     } | ||||
| } | ||||
| @@ -21,14 +21,17 @@ | ||||
|     </sql> | ||||
|  | ||||
|     <select id="selectSysCustomerCaseFileList" parameterType="SysCustomerCaseFile" resultMap="SysCustomerCaseFileResult"> | ||||
|         <include refid="selectSysCustomerCaseFileVo"/> | ||||
|         <where> | ||||
|         </where> | ||||
|         <include refid="selectSysCustomerCaseFileVo"/> where del_flag = 0 | ||||
|     </select> | ||||
|  | ||||
|     <!-- 根据案例ID查询文件列表 --> | ||||
|     <select id="selectSysCustomerCaseFileListByCaseId" parameterType="Long" resultMap="SysCustomerCaseFileResult"> | ||||
|         <include refid="selectSysCustomerCaseFileVo"/> where del_flag = 0 and case_id = #{caseId} | ||||
|     </select> | ||||
|  | ||||
|     <select id="selectSysCustomerCaseFileById" parameterType="Long" resultMap="SysCustomerCaseFileResult"> | ||||
|         <include refid="selectSysCustomerCaseFileVo"/> | ||||
|         where id = #{id} | ||||
|         where id = #{id} and del_flag = 0 | ||||
|     </select> | ||||
|  | ||||
|     <insert id="insertSysCustomerCaseFile" parameterType="SysCustomerCaseFile" useGeneratedKeys="true" keyProperty="id"> | ||||
| @@ -70,15 +73,39 @@ | ||||
|         where id = #{id} | ||||
|     </update> | ||||
|  | ||||
|     <delete id="deleteSysCustomerCaseFileById" parameterType="Long"> | ||||
|         delete from sys_customer_case_file where id = #{id} | ||||
|     </delete> | ||||
|     <update id="deleteSysCustomerCaseFileById" parameterType="Long"> | ||||
|         update sys_customer_case_file set del_flag = 1 where id = #{id} | ||||
|     </update> | ||||
|  | ||||
|     <delete id="deleteSysCustomerCaseFileByIds" parameterType="String"> | ||||
|         delete from sys_customer_case_file where id in | ||||
|     <update id="deleteSysCustomerCaseFileByIds" parameterType="String"> | ||||
|         update sys_customer_case_file set del_flag = 1 where id in | ||||
|         <foreach item="id" collection="array" open="(" separator="," close=")"> | ||||
|             #{id} | ||||
|         </foreach> | ||||
|     </delete> | ||||
|     </update> | ||||
|  | ||||
|     <!-- 根据案例ID删除该案例对应的所有文件记录 --> | ||||
|     <update id="deleteSysCustomerCaseFileByCaseId" parameterType="Long"> | ||||
|         update sys_customer_case_file set del_flag = 1 where case_id = #{caseId} | ||||
|     </update> | ||||
|  | ||||
|     <!-- 根据案例ID批量删除该案例对应的所有文件记录 --> | ||||
|     <update id="deleteSysCustomerCaseFileByCaseIds" parameterType="String"> | ||||
|         update sys_customer_case_file set del_flag = 1 where case_id in | ||||
|         <foreach item="caseId" collection="array" open="(" separator="," close=")"> | ||||
|             #{caseId} | ||||
|         </foreach> | ||||
|     </update> | ||||
|  | ||||
|     <!-- 批量插入案例文件记录 --> | ||||
|     <insert id="insertBatch"> | ||||
|         INSERT INTO sys_customer_case_file | ||||
|         (case_id, file_url, file_name) | ||||
|         VALUES | ||||
|         <foreach collection="list" item="caseFile" separator=","> | ||||
|             (#{caseFile.caseId}, #{caseFile.fileUrl}, #{caseFile.fileName}) | ||||
|         </foreach> | ||||
|     </insert> | ||||
|  | ||||
|  | ||||
| </mapper> | ||||
| @@ -15,20 +15,31 @@ | ||||
|         <result property="updateTime"    column="update_time"    /> | ||||
|         <result property="updateBy"    column="update_by"    /> | ||||
|         <result property="delFlag"    column="del_flag"    /> | ||||
|  | ||||
|         <result property="customerName" column="customer_name"></result> | ||||
|     </resultMap> | ||||
|  | ||||
|     <sql id="selectSysCustomerCaseVo"> | ||||
|         select id, name, keyword, remark, customer_id, create_time, create_by, update_time, update_by, del_flag from sys_customer_case | ||||
|         select id, name, keyword, remark, customer_id, create_time from sys_customer_case | ||||
|     </sql> | ||||
|  | ||||
|     <select id="selectSysCustomerCaseList" parameterType="SysCustomerCase" resultMap="SysCustomerCaseResult"> | ||||
|         <include refid="selectSysCustomerCaseVo"/> where del_flag = 0  | ||||
|         <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if> | ||||
|         select scc.id, scc.name, scc.keyword, scc.remark, scc.customer_id, scc.create_time,sc.name as customer_name from sys_customer_case scc | ||||
|         left join sys_customer sc on sc.id = scc.customer_id and sc.del_flag = 0 | ||||
|         where scc.del_flag = 0 | ||||
|         <if test="name != null  and name != ''"> | ||||
|             and (scc.name like concat('%', #{name}, '%') OR scc.keyword like concat('%', #{name}, '%') OR scc.remark like concat('%', #{name}, '%')) | ||||
|         </if> | ||||
|         <if test="customerName != null and customerName != ''"> | ||||
|             and sc.name like concat('%', #{customerName}, '%') | ||||
|         </if> | ||||
|         order by id desc | ||||
|     </select> | ||||
|  | ||||
|     <select id="selectSysCustomerCaseById" parameterType="Long" resultMap="SysCustomerCaseResult"> | ||||
|         <include refid="selectSysCustomerCaseVo"/> | ||||
|         where id = #{id} and del_flag = 0 | ||||
|         select scc.id, scc.name, scc.keyword, scc.remark, scc.customer_id, scc.create_time,sc.name as customer_name from sys_customer_case scc | ||||
|         left join sys_customer sc on sc.id = scc.customer_id and sc.del_flag = 0 | ||||
|         where scc.id = #{id} and scc.del_flag = 0 | ||||
|     </select> | ||||
|  | ||||
|     <insert id="insertSysCustomerCase" parameterType="SysCustomerCase" useGeneratedKeys="true" keyProperty="id"> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user