commit
76d2b5b2fb
@ -141,6 +141,20 @@ public class SysCustomerCaseController extends BaseController
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改客户案例是否微信展示状态
|
||||
*/
|
||||
//@PreAuthorize("@ss.hasPermi('custom:customerCase:wxShow')")
|
||||
@Log(title = "微信展示状态修改", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/updateWxShow")
|
||||
public AjaxResult updateWxShow(@RequestBody SysCustomerCase sysCustomerCase)
|
||||
{
|
||||
if(sysCustomerCase.getWxShow() == null || sysCustomerCase.getIds() == null || sysCustomerCase.getIds().length == 0){
|
||||
return AjaxResult.error();
|
||||
}
|
||||
return toAjax(sysCustomerCaseService.updateWxShowByIds(sysCustomerCase.getWxShow() ? 1 : 0, sysCustomerCase.getIds()));
|
||||
}
|
||||
|
||||
// 转移到SysFileUploadController.java
|
||||
// /**
|
||||
// * 上传文件到OSS返回URL
|
||||
|
@ -5,6 +5,7 @@ import com.stdiet.common.core.domain.AjaxResult;
|
||||
import com.stdiet.common.core.page.TableDataInfo;
|
||||
import com.stdiet.common.utils.StringUtils;
|
||||
import com.stdiet.common.utils.oss.AliyunOSSUtils;
|
||||
import com.stdiet.common.utils.sign.AesUtils;
|
||||
import com.stdiet.custom.domain.SysCustomerCase;
|
||||
import com.stdiet.custom.domain.SysCustomerCaseFile;
|
||||
import com.stdiet.custom.dto.response.CustomerCaseResponse;
|
||||
@ -33,9 +34,9 @@ public class WxCustomerCaseController extends BaseController{
|
||||
{
|
||||
startPage();
|
||||
sysCustomerCase.setKeywordArray(StringUtils.isNotEmpty(sysCustomerCase.getKeyword()) ? sysCustomerCase.getKeyword().split(",") : null);
|
||||
//sysCustomerCase.setWxShow(1);
|
||||
List<SysCustomerCase> list = sysCustomerCaseService.selectSysCustomerCaseList(sysCustomerCase);
|
||||
//List<CustomerCaseResponse> resultList = dealSysCustomerCase(list);
|
||||
List<CustomerCaseResponse> list = sysCustomerCaseService.getWxCustomerCaseList(sysCustomerCase);
|
||||
//处理ID加密
|
||||
dealIdEnc(list);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@ -43,34 +44,33 @@ public class WxCustomerCaseController extends BaseController{
|
||||
* 查询客户案例文件列表
|
||||
*/
|
||||
@GetMapping("/getFileByCaseId")
|
||||
public AjaxResult getFileByCaseId(@RequestParam("caseId")Long caseId)
|
||||
public AjaxResult getFileByCaseId(@RequestParam("caseId")String caseId)
|
||||
{
|
||||
Long id = StringUtils.isNotEmpty(caseId) ? Long.parseLong(AesUtils.decrypt(caseId, null)) : null;
|
||||
CustomerCaseResponse customerCaseResponse = new CustomerCaseResponse();
|
||||
List<SysCustomerCaseFile> list = sysCustomerCaseService.getFileListByCaseId(caseId);
|
||||
customerCaseResponse.setId(caseId);
|
||||
if(id != null){
|
||||
List<SysCustomerCaseFile> list = sysCustomerCaseService.getFileListByCaseId(id);
|
||||
List<String> fileUrl = new ArrayList<>();
|
||||
for (SysCustomerCaseFile caseFile : list) {
|
||||
fileUrl.add(caseFile.getFileUrl());
|
||||
}
|
||||
List<String> downUrlList = AliyunOSSUtils.generatePresignedUrl(fileUrl);
|
||||
customerCaseResponse.setFileList(downUrlList);
|
||||
}else{
|
||||
customerCaseResponse.setFileList(new ArrayList<>());
|
||||
}
|
||||
return AjaxResult.success(customerCaseResponse);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理返回值
|
||||
* 处理返回值的ID加密
|
||||
* @param list
|
||||
* @return
|
||||
*/
|
||||
private List<CustomerCaseResponse> dealSysCustomerCase(List<SysCustomerCase> list){
|
||||
List<CustomerCaseResponse> resultList = new ArrayList<>();
|
||||
for (SysCustomerCase customerCase : list) {
|
||||
CustomerCaseResponse customerCaseResponse = new CustomerCaseResponse();
|
||||
customerCaseResponse.setId(customerCase.getId());
|
||||
customerCaseResponse.setKeyword(customerCase.getKeyword());
|
||||
customerCaseResponse.setName(customerCase.getName());
|
||||
customerCaseResponse.setRemark(customerCase.getRemark());
|
||||
resultList.add(customerCaseResponse);
|
||||
private void dealIdEnc(List<CustomerCaseResponse> list){
|
||||
for (CustomerCaseResponse cus : list) {
|
||||
cus.setId(AesUtils.encrypt(cus.getId()+"", null));
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
}
|
||||
|
@ -20,6 +20,8 @@ public class SysCustomerCase extends BaseEntity
|
||||
/** $column.columnComment */
|
||||
private Long id;
|
||||
|
||||
private Long[] ids;
|
||||
|
||||
/** 案例名称 */
|
||||
@Excel(name = "案例名称")
|
||||
private String name;
|
||||
@ -37,7 +39,7 @@ public class SysCustomerCase extends BaseEntity
|
||||
private String customerName;
|
||||
|
||||
//是否显示到微信小程序
|
||||
private Integer wxShow;
|
||||
private Boolean wxShow;
|
||||
|
||||
/** 删除标识 0未删除 1已删除,默认0 */
|
||||
private Long delFlag;
|
||||
|
@ -7,7 +7,7 @@ import java.util.List;
|
||||
@Data
|
||||
public class CustomerCaseResponse {
|
||||
|
||||
private Long id;
|
||||
private String id;
|
||||
|
||||
private String name;
|
||||
|
||||
@ -15,5 +15,7 @@ public class CustomerCaseResponse {
|
||||
|
||||
private String remark;
|
||||
|
||||
private Boolean wxShow;
|
||||
|
||||
private List<String> fileList;
|
||||
}
|
||||
|
@ -2,6 +2,8 @@ package com.stdiet.custom.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.stdiet.custom.domain.SysCustomerCase;
|
||||
import com.stdiet.custom.dto.response.CustomerCaseResponse;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 客户案例管理Mapper接口
|
||||
@ -58,4 +60,19 @@ public interface SysCustomerCaseMapper
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteSysCustomerCaseByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 查询微信小程序上展示的客户案例
|
||||
* @param sysCustomerCase
|
||||
* @return
|
||||
*/
|
||||
public List<CustomerCaseResponse> getWxCustomerCaseList(SysCustomerCase sysCustomerCase);
|
||||
|
||||
/**
|
||||
* 更新微信展示状态
|
||||
* @param wxShow 是否展示 0不展示 1展示
|
||||
* @param ids id数组
|
||||
* @return
|
||||
*/
|
||||
public int updateWxShowByIds(@Param("wxShow")Integer wxShow, @Param("array") Long[] ids);
|
||||
}
|
@ -3,6 +3,7 @@ package com.stdiet.custom.service;
|
||||
import java.util.List;
|
||||
import com.stdiet.custom.domain.SysCustomerCase;
|
||||
import com.stdiet.custom.domain.SysCustomerCaseFile;
|
||||
import com.stdiet.custom.dto.response.CustomerCaseResponse;
|
||||
|
||||
/**
|
||||
* 客户案例管理Service接口
|
||||
@ -66,4 +67,19 @@ public interface ISysCustomerCaseService {
|
||||
*/
|
||||
List<SysCustomerCaseFile> getFileListByCaseId(Long caseId);
|
||||
|
||||
/**
|
||||
* 查询微信小程序上展示的客户案例
|
||||
* @param sysCustomerCase
|
||||
* @return
|
||||
*/
|
||||
List<CustomerCaseResponse> getWxCustomerCaseList(SysCustomerCase sysCustomerCase);
|
||||
|
||||
/**
|
||||
* 更新微信展示状态
|
||||
* @param wxShow 是否展示 0不展示 1展示
|
||||
* @param ids id数组
|
||||
* @return
|
||||
*/
|
||||
int updateWxShowByIds(Integer wxShow, Long[] ids);
|
||||
|
||||
}
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import com.stdiet.common.utils.DateUtils;
|
||||
import com.stdiet.custom.domain.SysCustomerCaseFile;
|
||||
import com.stdiet.custom.dto.response.CustomerCaseResponse;
|
||||
import com.stdiet.custom.mapper.SysCustomerCaseFileMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -154,7 +155,29 @@ public class SysCustomerCaseServiceImpl implements ISysCustomerCaseService
|
||||
* @param caseId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<SysCustomerCaseFile> getFileListByCaseId(Long caseId){
|
||||
return sysCustomerCaseFileMapper.selectSysCustomerCaseFileListByCaseId(caseId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询微信小程序上展示的客户案例
|
||||
* @param sysCustomerCase
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<CustomerCaseResponse> getWxCustomerCaseList(SysCustomerCase sysCustomerCase){
|
||||
return sysCustomerCaseMapper.getWxCustomerCaseList(sysCustomerCase);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新微信展示状态
|
||||
* @param wxShow 是否展示 0不展示 1展示
|
||||
* @param ids id数组
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int updateWxShowByIds(Integer wxShow, Long[] ids){
|
||||
return sysCustomerCaseMapper.updateWxShowByIds(wxShow, ids);
|
||||
}
|
||||
}
|
@ -10,6 +10,7 @@
|
||||
<result property="keyword" column="keyword" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="customerId" column="customer_id" />
|
||||
<result property="wxShow" column="wx_show" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
@ -19,8 +20,16 @@
|
||||
<result property="customerName" column="customer_name"></result>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.stdiet.custom.dto.response.CustomerCaseResponse" id="SysCustomerCaseResponseResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="name" column="name" />
|
||||
<result property="keyword" column="keyword" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="wxShow" column="wx_show" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectSysCustomerCaseVo">
|
||||
select id, name, keyword, remark, customer_id, create_time from sys_customer_case
|
||||
select id, name, keyword, remark, customer_id, wx_show, create_time from sys_customer_case
|
||||
</sql>
|
||||
|
||||
<sql id="searchKey">
|
||||
@ -34,7 +43,7 @@
|
||||
</sql>
|
||||
|
||||
<select id="selectSysCustomerCaseList" parameterType="SysCustomerCase" resultMap="SysCustomerCaseResult">
|
||||
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
|
||||
select scc.id, scc.name, scc.keyword, scc.remark, scc.customer_id, scc.wx_show, 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
|
||||
<include refid="searchKey">
|
||||
@ -50,7 +59,7 @@
|
||||
</select>
|
||||
|
||||
<select id="selectSysCustomerCaseById" parameterType="Long" resultMap="SysCustomerCaseResult">
|
||||
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
|
||||
select scc.id, scc.name, scc.keyword, scc.remark, scc.customer_id, scc.wx_show, 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>
|
||||
@ -62,6 +71,7 @@
|
||||
<if test="keyword != null">keyword,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="customerId != null">customer_id,</if>
|
||||
<if test="wxShow != null">wx_show,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
@ -73,6 +83,7 @@
|
||||
<if test="keyword != null">#{keyword},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="customerId != null">#{customerId},</if>
|
||||
<if test="wxShow != null">#{wxShow},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
@ -88,6 +99,7 @@
|
||||
<if test="keyword != null">keyword = #{keyword},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="customerId != null">customer_id = #{customerId},</if>
|
||||
<if test="wxShow != null">wx_show = #{wxShow},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
@ -108,4 +120,22 @@
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<!-- 获取在微信小程序上展示的客户案例 -->
|
||||
<select id="getWxCustomerCaseList" parameterType="SysCustomerCase" resultMap="SysCustomerCaseResponseResult">
|
||||
select scc.id, scc.name, scc.keyword, scc.remark, scc.wx_show from sys_customer_case scc
|
||||
where scc.del_flag = 0 and scc.wx_show = 1
|
||||
<include refid="searchKey">
|
||||
<property name="keywordArray" value="#{keywordArray}"/>
|
||||
</include>
|
||||
order by id desc
|
||||
</select>
|
||||
|
||||
<!-- 更新是否在微信小程序上展示 -->
|
||||
<update id="updateWxShowByIds">
|
||||
update sys_customer_case set wx_show = #{wxShow} where del_flag = 0 and id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
</mapper>
|
@ -75,6 +75,15 @@ export function downCaseFile(downUrl) {
|
||||
window.location.href = downUrl;
|
||||
}
|
||||
|
||||
// 修改客户案例微信小程序展示状态
|
||||
export function updateWxShow(data) {
|
||||
return request({
|
||||
url: '/custom/customerCase/updateWxShow',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -36,6 +36,18 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="展示状态" prop="wxShow">
|
||||
<el-select
|
||||
v-model="queryParams.wxShow"
|
||||
placeholder="请选择展示状态"
|
||||
clearable
|
||||
size="small"
|
||||
>
|
||||
<el-option key="false" label="不展示" value="false"/>
|
||||
<el-option key="true" label="展示" value="true"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="客户姓名" prop="customerName">
|
||||
<el-input
|
||||
v-model.trim="queryParams.customerName"
|
||||
@ -139,6 +151,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="所属客户" align="center" prop="customerName" />
|
||||
|
||||
<el-table-column label="文件" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
@ -161,6 +174,17 @@
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="小程序展示状态" align="center" prop="wxShow" >
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.wxShow"
|
||||
active-text="展示"
|
||||
inactive-text="不展示"
|
||||
@change="handleWxShow($event, scope.row)"
|
||||
>
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
@ -241,7 +265,7 @@
|
||||
placeholder="请输入案例备注"
|
||||
v-model.trim="form.remark"
|
||||
maxlength="200"
|
||||
rows="4"
|
||||
rows="3"
|
||||
show-word-limit
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
@ -259,6 +283,16 @@
|
||||
></span
|
||||
>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item label="展示状态" prop="wxShow">
|
||||
<el-switch
|
||||
v-model="form.wxShow"
|
||||
active-text="小程序展示"
|
||||
inactive-text="小程序不展示">
|
||||
</el-switch>
|
||||
<div>提示:小程序展示的案例需要隐藏客户隐私</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="案例文件" prop="file">
|
||||
<DragUpload
|
||||
v-if="form.id == null || form.id <= 0"
|
||||
@ -301,6 +335,7 @@ import {
|
||||
updateCustomerCase,
|
||||
exportCustomerCase,
|
||||
getFileListByCaseId,
|
||||
updateWxShow
|
||||
} from "@/api/custom/customerCase";
|
||||
import DragUpload from "@/components/FileUpload/DragUpload";
|
||||
import DragUploadEdit from "@/components/FileUpload/DragUploadEdit";
|
||||
@ -337,6 +372,7 @@ export default {
|
||||
pageSize: 10,
|
||||
name: null,
|
||||
keyword: null,
|
||||
wxShow: null,
|
||||
customerName: null,
|
||||
},
|
||||
// 表单参数
|
||||
@ -398,6 +434,7 @@ export default {
|
||||
remark: null,
|
||||
customerId: null,
|
||||
customerName: null,
|
||||
wxShow: false,
|
||||
caseFileList: [],
|
||||
caseFileUrl: [],
|
||||
caseFileName: [],
|
||||
@ -437,6 +474,7 @@ export default {
|
||||
keywordArray: response.data.keyword.split(","),
|
||||
remark: response.data.remark,
|
||||
customerId: response.data.customerId,
|
||||
wxShow: response.data.wxShow == 1 ? true : false,
|
||||
customerName: response.data.customerName,
|
||||
caseFileList: response.data.caseFileList,
|
||||
caseFileUrl: [],
|
||||
@ -560,6 +598,13 @@ export default {
|
||||
})
|
||||
.catch(function () {});
|
||||
},
|
||||
handleWxShow(newWxshow, row){
|
||||
let param = {
|
||||
ids:[row.id],
|
||||
wxShow: newWxshow
|
||||
};
|
||||
updateWxShow(param);
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
Loading…
x
Reference in New Issue
Block a user