Commit 18386fd1 by zhiwj

门店标签导入

parent 9ff1d465
package com.gic.store.dto;
import java.io.Serializable;
import java.util.Date;
/**
* @author zhiwj
* @Description:
* @date 2020-02-24 10:02
*/
public class StoreTagTmpDTO implements Serializable {
private static final long serialVersionUID = -154900340148379231L;
/**
*
*/
private Integer storeTagTmpId;
/**
*
*/
private Integer enterpriseId;
/**
*
*/
private String storeName;
/**
*
*/
private String storeCode;
private String regionName;
/**
* success表示校验成功;其他信息表示错误信息
*/
private String errorMessage;
/**
* uuid
*/
private String signKey;
/**
*
*/
private Date updateTime;
private Integer storeId;
public Integer getStoreTagTmpId() {
return storeTagTmpId;
}
public void setStoreTagTmpId(Integer storeTagTmpId) {
this.storeTagTmpId = storeTagTmpId;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
public String getStoreCode() {
return storeCode;
}
public void setStoreCode(String storeCode) {
this.storeCode = storeCode;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
public String getSignKey() {
return signKey;
}
public void setSignKey(String signKey) {
this.signKey = signKey;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getStoreId() {
return storeId;
}
public void setStoreId(Integer storeId) {
this.storeId = storeId;
}
public String getRegionName() {
return regionName;
}
public void setRegionName(String regionName) {
this.regionName = regionName;
}
}
......@@ -307,4 +307,17 @@ public interface StoreApiService {
* @throws
*/
ServiceResponse<Void> updateScore(Integer enterpriseId, Integer storeId, double storeScore, Integer evaluateCount);
/**
*
* @Title: getStoreIdByStoreNameAndStoreCodeAndRegionId
* @Description:
* @author zhiwj
* @param storeCode
* @param regionId
* @param enterpriseId
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Object>
* @throws
*/
ServiceResponse<Integer> getStoreIdByStoreNameAndStoreCodeAndRegionId(String storeCode, Integer regionId, Integer enterpriseId);
}
......@@ -116,4 +116,15 @@ public interface StoreRegionApiService {
*/
ServiceResponse<Void> unAuthorizeRegion(Integer toEnterpriseId, Integer storeRegionId);
/**
* 查询门店域
* @Title: getStoreRegionByRegionName
* @Description:
* @author zhiwj
* @param enterpriseId
* @param regionName
* @return com.gic.api.base.commons.ServiceResponse<com.gic.store.dto.StoreRegionDTO>
* @throws
*/
ServiceResponse<StoreRegionDTO> getStoreRegionByRegionName(Integer enterpriseId, String regionName);
}
\ No newline at end of file
package com.gic.store.service;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.store.dto.StoreTagTmpDTO;
/**
* @author zhiwj
* @Description:
* @date 2020-02-24 10:08
*/
public interface StoreTagTmpApiService {
ServiceResponse<Void> delStoreTagTmp(Integer enterpriseId);
ServiceResponse<Void> saveStoreTagTmp(StoreTagTmpDTO bean);
ServiceResponse<Page<StoreTagTmpDTO>> listImportError(Integer enterpriseId, Integer currentPage, Integer pageSize);
}
......@@ -71,4 +71,6 @@ public interface TabStoreRegionMapper {
int countBySelective(StoreRegionDTO storeRegion);
List<StoreRegionDTO> listStoreRegionByIds(@Param("enterpriseId") Integer enterpriseId, @Param("storeRegionIdList") List<Integer> storeRegionIdList, @Param("ownType") Integer ownType);
StoreRegionDTO getStoreRegionByRegionName(@Param("enterpriseId") Integer enterpriseId, @Param("regionName") String regionName);
}
\ No newline at end of file
package com.gic.store.dao.mapper;
import com.gic.store.entity.TabStoreTagTmp;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
public interface TabStoreTagTmpMapper {
/**
* 根据主键删除
*
* @param storeTagTmpId 主键
* @return 更新条目数
*/
int deleteByPrimaryKey(Integer storeTagTmpId);
/**
* 插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insert(TabStoreTagTmp record);
/**
* 动态插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insertSelective(TabStoreTagTmp record);
/**
* 根据主键查询
*
* @param storeTagTmpId 主键
* @return 实体对象
*/
TabStoreTagTmp selectByPrimaryKey(Integer storeTagTmpId);
/**
* 根据主键动态更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKeySelective(TabStoreTagTmp record);
/**
* 根据主键更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKey(TabStoreTagTmp record);
void delStoreTagTmp(@Param("enterpriseId") Integer enterpriseId);
Page<TabStoreTagTmp> listImportError(@Param("enterpriseId") Integer enterpriseId);
}
\ No newline at end of file
package com.gic.store.entity;
import java.util.Date;
/**
* tab_store_tag_tmp
*/
public class TabStoreTagTmp {
/**
*
*/
private Integer storeTagTmpId;
/**
*
*/
private Integer enterpriseId;
/**
*
*/
private String storeName;
/**
*
*/
private String storeCode;
/**
*
*/
private String regionName;
/**
* success表示校验成功;其他信息表示错误信息
*/
private String errorMessage;
/**
* uuid
*/
private String signKey;
/**
*
*/
private Date updateTime;
public Integer getStoreTagTmpId() {
return storeTagTmpId;
}
public void setStoreTagTmpId(Integer storeTagTmpId) {
this.storeTagTmpId = storeTagTmpId;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
public String getStoreCode() {
return storeCode;
}
public void setStoreCode(String storeCode) {
this.storeCode = storeCode;
}
public String getRegionName() {
return regionName;
}
public void setRegionName(String regionName) {
this.regionName = regionName;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
public String getSignKey() {
return signKey;
}
public void setSignKey(String signKey) {
this.signKey = signKey;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
......@@ -31,4 +31,6 @@ public interface StoreRegionService {
List<StoreRegionDTO> listStoreRegionByIds(Integer enterpriseId, List<Integer> storeRegionIdList, Integer ownType);
List<StoreRegionDTO> listStoreRegionByIds(Integer enterpriseId, List<Integer> storeRegionIdList);
StoreRegionDTO getStoreRegionByRegionName(Integer enterpriseId, String regionName);
}
package com.gic.store.service;
import com.gic.store.dto.StoreTagTmpDTO;
import com.gic.store.entity.TabStoreTagTmp;
import com.github.pagehelper.Page;
/**
* @author zhiwj
* @Description:
* @date 2020-02-24 14:17
*/
public interface StoreTagTmpService {
void delStoreTagTmp(Integer enterpriseId);
void saveStoreTagTmp(StoreTagTmpDTO bean);
Page<TabStoreTagTmp> listImportError(Integer enterpriseId, Integer currentPage, Integer pageSize);
}
......@@ -98,4 +98,9 @@ public class StoreRegionServiceImpl implements StoreRegionService {
public List<StoreRegionDTO> listStoreRegionByIds(Integer enterpriseId, List<Integer> storeRegionIdList) {
return this.storeRegionMapper.listStoreRegionByIds(enterpriseId, storeRegionIdList, null);
}
@Override
public StoreRegionDTO getStoreRegionByRegionName(Integer enterpriseId, String regionName) {
return storeRegionMapper.getStoreRegionByRegionName(enterpriseId, regionName);
}
}
......@@ -505,5 +505,4 @@ public class StoreServiceImpl implements StoreService {
return null;
}
}
package com.gic.store.service.impl;
import com.gic.commons.util.EntityUtil;
import com.gic.store.dao.mapper.TabStoreTagTmpMapper;
import com.gic.store.dto.StoreTagTmpDTO;
import com.gic.store.entity.TabStoreTagTmp;
import com.gic.store.service.StoreTagTmpService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author zhiwj
* @Description:
* @date 2020-02-24 14:17
*/
@Service
public class StoreTagTmpServiceImpl implements StoreTagTmpService {
@Autowired
private TabStoreTagTmpMapper tabStoreTagTmpMapper;
@Override
public void delStoreTagTmp(Integer enterpriseId) {
tabStoreTagTmpMapper.delStoreTagTmp(enterpriseId);
}
@Override
public void saveStoreTagTmp(StoreTagTmpDTO bean) {
TabStoreTagTmp tabStoreTagTmp = EntityUtil.changeEntityByJSON(TabStoreTagTmp.class, bean);
tabStoreTagTmpMapper.insertSelective(tabStoreTagTmp);
}
@Override
public Page<TabStoreTagTmp> listImportError(Integer enterpriseId, Integer currentPage, Integer pageSize) {
PageHelper.startPage(currentPage, pageSize);
return tabStoreTagTmpMapper.listImportError(enterpriseId);
}
}
......@@ -778,6 +778,15 @@ public class StoreApiServiceImpl implements StoreApiService {
}
@Override
public ServiceResponse<Integer> getStoreIdByStoreNameAndStoreCodeAndRegionId(String storeCode, Integer regionId, Integer enterpriseId) {
TabStore store = this.storeService.getByStoreCodeAndRegionId(enterpriseId, regionId, storeCode);
if (store != null) {
return EnterpriseServiceResponse.success(store.getStoreId());
}
return EnterpriseServiceResponse.failure(ErrorCode.NOTEXISTS);
}
@Override
public ServiceResponse<StoreDTO> getStoreById(Integer enterpriseId, Integer storeId) {
String key = Constants.STORE_KEY + enterpriseId + ":" + storeId;
......
......@@ -177,4 +177,10 @@ public class StoreRegionApiServiceImpl implements StoreRegionApiService {
return ServiceResponse.success();
}
@Override
public ServiceResponse<StoreRegionDTO> getStoreRegionByRegionName(Integer enterpriseId, String regionName) {
StoreRegionDTO regionDTO = storeRegionService.getStoreRegionByRegionName(enterpriseId, regionName);
return EnterpriseServiceResponse.success(regionDTO);
}
}
package com.gic.store.service.outer.impl;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.PageHelperUtils;
import com.gic.enterprise.response.EnterpriseServiceResponse;
import com.gic.store.dto.StoreTagTmpDTO;
import com.gic.store.entity.TabStoreTagTmp;
import com.gic.store.service.StoreTagTmpApiService;
import com.gic.store.service.StoreTagTmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author zhiwj
* @Description:
* @date 2020-02-24 14:16
*/
@Service("storeTagTmpApiService")
public class StoreTagTmpApiServiceImpl implements StoreTagTmpApiService {
@Autowired
private StoreTagTmpService storeTagTmpService;
@Override
public ServiceResponse<Void> delStoreTagTmp(Integer enterpriseId) {
storeTagTmpService.delStoreTagTmp(enterpriseId);
return EnterpriseServiceResponse.success();
}
@Override
public ServiceResponse<Void> saveStoreTagTmp(StoreTagTmpDTO bean) {
this.storeTagTmpService.saveStoreTagTmp(bean);
return EnterpriseServiceResponse.success();
}
@Override
public ServiceResponse<Page<StoreTagTmpDTO>> listImportError(Integer enterpriseId, Integer currentPage, Integer pageSize) {
com.github.pagehelper.Page<TabStoreTagTmp> page = this.storeTagTmpService.listImportError(enterpriseId, currentPage, pageSize);
return EnterpriseServiceResponse.success(PageHelperUtils.changePageHelperToCurrentPage(page, StoreTagTmpDTO.class));
}
}
......@@ -57,4 +57,5 @@
<dubbo:reference interface="com.gic.enterprise.service.CustomStoreApiService" id="customStoreApiService" timeout="60000" />
<dubbo:service interface="com.gic.store.service.StoreTagApiService" ref="storeTagApiService" timeout="6000" />
<dubbo:service interface="com.gic.store.service.StoreTagTmpApiService" ref="storeTagTmpApiService" timeout="6000" />
</beans>
......@@ -193,4 +193,22 @@
and own_type = #{ownType}
</if>
</select>
<!-- StoreRegionDTO getStoreRegionByRegionName(@Param("enterpriseId") Integer enterpriseId, @Param("regionName") String regionName);-->
<select id="getStoreRegionByRegionName" resultMap="DTOResultMap">
select
<include refid="Base_Column_List1" >
<property name="alias" value="re" />
</include>
,
<include refid="Base_Column_List2" >
<property name="alias" value="rr" />
</include>
from tab_store_region re, tab_store_region_rel rr
where re.region_id = rr.region_id
and rr.`status` = 1
and re.status = 1
and rr.enterprise_id = #{enterpriseId}
and re.region_name = #{regionName}
limit 1
</select>
</mapper>
\ No newline at end of file
<?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.gic.store.dao.mapper.TabStoreTagTmpMapper">
<resultMap id="BaseResultMap" type="com.gic.store.entity.TabStoreTagTmp">
<id column="store_tag_tmp_id" jdbcType="INTEGER" property="storeTagTmpId" />
<result column="enterprise_id" jdbcType="INTEGER" property="enterpriseId" />
<result column="store_name" jdbcType="VARCHAR" property="storeName" />
<result column="store_code" jdbcType="VARCHAR" property="storeCode" />
<result column="region_name" jdbcType="VARCHAR" property="regionName" />
<result column="error_message" jdbcType="VARCHAR" property="errorMessage" />
<result column="sign_key" jdbcType="VARCHAR" property="signKey" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
store_tag_tmp_id, enterprise_id, store_name, store_code, region_name, error_message,
sign_key, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_store_tag_tmp
where store_tag_tmp_id = #{storeTagTmpId,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from tab_store_tag_tmp
where store_tag_tmp_id = #{storeTagTmpId,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.store.entity.TabStoreTagTmp">
insert into tab_store_tag_tmp (store_tag_tmp_id, enterprise_id, store_name,
store_code, region_name, error_message,
sign_key, update_time)
values (#{storeTagTmpId,jdbcType=INTEGER}, #{enterpriseId,jdbcType=INTEGER}, #{storeName,jdbcType=VARCHAR},
#{storeCode,jdbcType=VARCHAR}, #{regionName,jdbcType=VARCHAR}, #{errorMessage,jdbcType=VARCHAR},
#{signKey,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.gic.store.entity.TabStoreTagTmp">
insert into tab_store_tag_tmp
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="storeTagTmpId != null">
store_tag_tmp_id,
</if>
<if test="enterpriseId != null">
enterprise_id,
</if>
<if test="storeName != null">
store_name,
</if>
<if test="storeCode != null">
store_code,
</if>
<if test="regionName != null">
region_name,
</if>
<if test="errorMessage != null">
error_message,
</if>
<if test="signKey != null">
sign_key,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="storeTagTmpId != null">
#{storeTagTmpId,jdbcType=INTEGER},
</if>
<if test="enterpriseId != null">
#{enterpriseId,jdbcType=INTEGER},
</if>
<if test="storeName != null">
#{storeName,jdbcType=VARCHAR},
</if>
<if test="storeCode != null">
#{storeCode,jdbcType=VARCHAR},
</if>
<if test="regionName != null">
#{regionName,jdbcType=VARCHAR},
</if>
<if test="errorMessage != null">
#{errorMessage,jdbcType=VARCHAR},
</if>
<if test="signKey != null">
#{signKey,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.store.entity.TabStoreTagTmp">
update tab_store_tag_tmp
<set>
<if test="enterpriseId != null">
enterprise_id = #{enterpriseId,jdbcType=INTEGER},
</if>
<if test="storeName != null">
store_name = #{storeName,jdbcType=VARCHAR},
</if>
<if test="storeCode != null">
store_code = #{storeCode,jdbcType=VARCHAR},
</if>
<if test="regionName != null">
region_name = #{regionName,jdbcType=VARCHAR},
</if>
<if test="errorMessage != null">
error_message = #{errorMessage,jdbcType=VARCHAR},
</if>
<if test="signKey != null">
sign_key = #{signKey,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where store_tag_tmp_id = #{storeTagTmpId,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.store.entity.TabStoreTagTmp">
update tab_store_tag_tmp
set enterprise_id = #{enterpriseId,jdbcType=INTEGER},
store_name = #{storeName,jdbcType=VARCHAR},
store_code = #{storeCode,jdbcType=VARCHAR},
region_name = #{regionName,jdbcType=VARCHAR},
error_message = #{errorMessage,jdbcType=VARCHAR},
sign_key = #{signKey,jdbcType=VARCHAR},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where store_tag_tmp_id = #{storeTagTmpId,jdbcType=INTEGER}
</update>
<delete id="delStoreTagTmp">
delete from tab_store_tag_tmp where enterprise_id = #{enterpriseId}
</delete>
<select id="listImportError" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_store_tag_tmp
where enterprise_id = #{enterpriseId}
and error_message is not null
</select>
</mapper>
\ No newline at end of file
package com.gic.store.web.controller;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.download.utils.OperationResultUtils;
import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.response.EnterpriseRestResponse;
import com.gic.enterprise.utils.ResultControllerUtils;
import com.gic.enterprise.utils.UserDetailUtils;
import com.gic.store.dto.StoreSearchDTO;
import com.gic.store.dto.StoreTagDTO;
import com.gic.store.dto.StoreWidgetDTO;
import com.gic.store.service.StoreApiService;
import com.gic.store.service.StoreTagApiService;
import com.gic.store.service.StoreWidgetApiService;
import com.gic.store.dto.*;
import com.gic.store.service.*;
import com.gic.store.web.qo.PageQO;
import com.gic.store.web.utils.ExcelUtils;
import com.gic.store.web.vo.StoreTagVO;
import com.gic.store.web.vo.storeWidget.StoreWidgetSearch;
import com.gic.store.web.vo.storeWidget.StoreWidgetWriteBack;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/store-tag")
......@@ -32,16 +45,39 @@ public class StoreTagController {
private StoreWidgetApiService storeWidgetApiService;
@Autowired
private StoreApiService storeApiService;
@Autowired
private StoreTagTmpApiService storeTagTmpApiService;
@Autowired
private StoreRegionApiService storeRegionApiService;
@RequestMapping("/save-store-tag")
public RestResponse save(StoreTagDTO dto) {
public RestResponse save(StoreTagDTO dto, MultipartFile file, Integer dataType) {
dto.setEnterpriseId(UserDetailUtils.getUserDetail().getEnterpriseId());
if (dataType != null && dataType == 2) {
Map<String, Object> map = parseFile(file, null);
Object msg = map.get("msg");
if (msg != null) {
return RestResponse.failure(ErrorCode.OPERATION_FAILED.getCode(), msg.toString());
}
Integer storeWidgetId = (Integer) map.get("storeWidgetId");
dto.setStoreWidgetId(storeWidgetId);
}
return OperationResultUtils.operationResult(storeTagApiService.save(dto), OperationResultUtils.LOG_NEW + "门店标签",
dto.getStoreTagName());
}
@RequestMapping("/edit-store-tag")
public RestResponse edit(StoreTagDTO dto) {
public RestResponse edit(StoreTagDTO dto, MultipartFile file, Integer dataType) {
Map<String, Object> map = parseFile(file, dto.getStoreWidgetId());
if (dataType != null && dataType == 2) {
Object msg = map.get("msg");
if (msg != null) {
return RestResponse.failure(ErrorCode.OPERATION_FAILED.getCode(), msg.toString());
}
Integer storeWidgetId = (Integer) map.get("storeWidgetId");
dto.setStoreWidgetId(storeWidgetId);
}
return OperationResultUtils.operationResult(storeTagApiService.update(dto),
OperationResultUtils.LOG_EDIT + "门店标签", dto.getStoreTagName());
}
......@@ -53,6 +89,40 @@ public class StoreTagController {
OperationResultUtils.getOperationObject(result));
}
@RequestMapping("/template-download")
public Object download(HttpServletRequest request, HttpServletResponse response) throws Exception {
String fileName = " 门店标签批量导入模板.xlsx";
OutputStream fo = null;
InputStream in = null;
try {
response.setContentType("text/html;charset=gbk");
response.setHeader("Content-Disposition",
"attachment; filename=" + new String(fileName.getBytes("gbk"), "ISO-8859-1"));
fo = response.getOutputStream();
String rootPath = request.getSession().getServletContext().getRealPath("/");
String filePath = "/excel/store_tag_batch_import.xlsx";
in = new FileInputStream(new File(rootPath + filePath));
byte[] b = new byte[1024];
int len = 0;
while ((len = in.read(b)) != -1) {
fo.write(b, 0, len);
}
fo.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fo != null) {
fo.close();
}
if (in != null) {
in.close();
}
}
return RestResponse.success();
}
@RequestMapping("/list-store-tag")
public RestResponse list() {
return ResultControllerUtils.commonResult(
......@@ -86,4 +156,115 @@ public class StoreTagController {
}
return EnterpriseRestResponse.failure(result);
}
@RequestMapping("/list-import-error")
public RestResponse listImportError(PageQO pageQO) {
ServiceResponse<Page<StoreTagTmpDTO>> serviceResponse = this.storeTagTmpApiService.listImportError(UserDetailUtils.getUserDetail().getEnterpriseId(), pageQO.getCurrentPage(), pageQO.getPageSize());
return ResultControllerUtils.commonResult(serviceResponse);
}
private Map<String, Object> parseFile(MultipartFile file, Integer storeWidgetId) {
Map<String, Object> resultMap = new HashMap<>(4);
if (file.getSize() > 0) {
String fileName = file.getOriginalFilename();
if (fileName.endsWith("xlsx")) {
try {
Workbook workbook = ExcelUtils.getWorkbookFromUpload(file.getInputStream(), fileName);
List<Map<Integer, String>> data = ExcelUtils.readExcel(2, fileName.substring(fileName.lastIndexOf(".") + 1), workbook, null);
//三列 门店名称、门店code、门店域名
int total = 3;
if (data.size() > 0 && data.get(0).size() != total) {
resultMap.put("msg", "总列数与模板不一致");
}
//删除临时表数据
storeTagTmpApiService.delStoreTagTmp(UserDetailUtils.getUserDetail().getEnterpriseId());
List<Integer> storeIdList = new ArrayList<>();
List<String> storeNameList = new ArrayList<>();
for (Map<Integer, String> row : data) {
StoreTagTmpDTO bean = this.validateData(row, UserDetailUtils.getUserDetail().getEnterpriseId());
try {
//
if (StringUtils.isBlank(bean.getErrorMessage())) {
//如果是校验通过的,则
storeIdList.add(bean.getStoreId());
storeNameList.add(bean.getStoreName());
}
// 保存数据到临时表
storeTagTmpApiService.saveStoreTagTmp(bean);
} catch (Exception e) {
LOGGER.info("检验保存门店分组错误", e);
}
}
//生成门店控件ID
if (CollectionUtils.isEmpty(storeNameList)) {
resultMap.put("msg", "没有能导入的门店");
}else {
StoreWidgetDTO storeWidgetDTO;
if (storeWidgetId != null) {
storeWidgetDTO = this.storeWidgetApiService.getStoreWidget(storeWidgetId).getResult();
} else {
storeWidgetDTO = new StoreWidgetDTO();
}
storeWidgetDTO.setWriteBackParam(StoreWidgetWriteBack.getJSON(storeNameList, storeIdList));
storeWidgetDTO.setSearchParam(StoreWidgetSearch.getJSON(storeIdList));
storeWidgetId = this.storeWidgetApiService.saveStoreWidget(storeWidgetDTO).getResult();
resultMap.put("storeWidgetId", storeWidgetId);
}
} catch (IOException e) {
LOGGER.info("检验保存门店分组错误", e);
}
} else {
resultMap.put("msg", "选择excel格式文件上传");
}
} else {
resultMap.put("msg", "选择excel格式文件上传");
}
return resultMap;
}
private StoreTagTmpDTO validateData(Map<Integer, String> row, Integer enterpriseId) {
String storeName = row.get(0);
String storeCode = row.get(1);
String regionName = row.get(2);
StoreTagTmpDTO storeTagTmpDTO = new StoreTagTmpDTO();
storeTagTmpDTO.setEnterpriseId(enterpriseId);
storeTagTmpDTO.setStoreName(storeName);
storeTagTmpDTO.setStoreCode(storeCode);
storeTagTmpDTO.setRegionName(regionName);
if (StringUtils.isBlank(storeName)) {
storeTagTmpDTO.setErrorMessage("门店名称不能为空");
return storeTagTmpDTO;
}
if (StringUtils.isBlank(storeCode)) {
storeTagTmpDTO.setErrorMessage("门店code不能为空");
return storeTagTmpDTO;
}
if (StringUtils.isBlank(regionName)) {
storeTagTmpDTO.setErrorMessage("门店域不能为空");
return storeTagTmpDTO;
}
storeTagTmpDTO.setStoreName(storeTagTmpDTO.getStoreName().trim());
storeTagTmpDTO.setStoreCode(storeTagTmpDTO.getStoreCode().trim());
storeTagTmpDTO.setRegionName(storeTagTmpDTO.getRegionName().trim());
ServiceResponse<StoreRegionDTO> region = this.storeRegionApiService.getStoreRegionByRegionName(enterpriseId, regionName);
StoreRegionDTO regionDTO = region.getResult();
if (regionDTO == null) {
storeTagTmpDTO.setErrorMessage("门店域不存在");
return storeTagTmpDTO;
}
Integer storeId = this.storeApiService.getStoreIdByStoreNameAndStoreCodeAndRegionId(storeCode, regionDTO.getRegionId(), enterpriseId).getResult();
if (storeId == null) {
storeTagTmpDTO.setErrorMessage("不存在该门店");
}
storeTagTmpDTO.setStoreId(storeId);
return storeTagTmpDTO;
}
}
package com.gic.store.web.vo.storeWidget;
import com.alibaba.fastjson.JSON;
import com.google.common.base.Joiner;
import java.util.List;
/**
* @author zhiwj
* @Description:
* @date 2020-02-24 13:55
*/
public class StoreWidgetSearch {
public static String getJSON(List<Integer> storeIdList) {
String json = "[{\"type\":\"\",\"list\":[{\"data\":{\"key\":\"storeId\",\"compute\":\"contain\",\"value\":\"4040 4041 4048 4042 4045\"}}]}]";
List<StoreWidgetSearch> storeWidgetSearches = JSON.parseArray(json, StoreWidgetSearch.class);
StoreWidgetSearch storeWidgetSearch = storeWidgetSearches.get(0);
storeWidgetSearch.getList().get(0).getData().setValue(Joiner.on(" ").join(storeIdList));
return JSON.toJSONString(storeWidgetSearch);
}
/**
* type :
* list : [{"data":{"key":"storeId","compute":"contain","value":"4040 4041 4048 4042 4045"}}]
*/
private String type;
private List<ListBean> list;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public List<ListBean> getList() {
return list;
}
public void setList(List<ListBean> list) {
this.list = list;
}
public static class ListBean {
/**
* data : {"key":"storeId","compute":"contain","value":"4040 4041 4048 4042 4045"}
*/
private DataBean data;
public DataBean getData() {
return data;
}
public void setData(DataBean data) {
this.data = data;
}
public static class DataBean {
/**
* key : storeId
* compute : contain
* value : 4040 4041 4048 4042 4045
*/
private String key;
private String compute;
private String value;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getCompute() {
return compute;
}
public void setCompute(String compute) {
this.compute = compute;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
}
}
package com.gic.store.web.vo.storeWidget;
import com.alibaba.fastjson.JSON;
import com.google.common.base.Joiner;
import java.util.List;
/**
* @author zhiwj
* @Description:
* @date 2020-02-24 11:48
*/
public class StoreWidgetWriteBack {
/**
* box : [{"esScreeningWidgetChainId":"9e64d13895df4d9a90938a4b356f59c7","esScreeningWidgetCategoryId":"fe4de3f315624e8fa08d2f19ca181890","chainNodeName":"门店域","widgetFieldKey":"store-area","columnKey":"regionId","dealKey":"","nextWidgetParams":"[]","nextWidgetSourceFlag":0,"nextWidgetId":"e771749a7ba945279be6407b2511e8d7","parentChainId":"0","computeCharacter":"arr_contain","columnValue":"","property":3,"columnType":1,"widget":{"esScreeningWidgetId":"e771749a7ba945279be6407b2511e8d7","widgetName":"门店域","templateCode":"com007","widgetParam":"[{\"key\":\"url\",\"value\":\"/api-plug/list-store-region\"}]","sourceFlag":1,"widgetValues":"[{\"key\":\"字段名\",\"value\":\"字段值\"}]","status":1,"createTime":1563267944000,"updateTime":1563267944000,"widgetInstruction":"门店域控件"},"name":"store-area"},{"esScreeningWidgetChainId":"d7b319e95e164a609a04d5f616d185b8","esScreeningWidgetCategoryId":"f598d7e2a1fa4c1e8dc56c6bb81a2195","chainNodeName":"自定义属性","widgetFieldKey":"store-property","columnKey":null,"dealKey":"","nextWidgetParams":null,"nextWidgetSourceFlag":0,"nextWidgetId":"fdcbd2bccd7143a9b1a16fef9129a243","parentChainId":"0","computeCharacter":null,"columnValue":"undefined","property":8,"columnType":1,"widget":{"esScreeningWidgetId":"fdcbd2bccd7143a9b1a16fef9129a243","widgetName":"门店自定义属性","templateCode":"com009","widgetParam":"[{\"key\":\"url\",\"value\":\"callback\"}]","sourceFlag":1,"widgetValues":"[{\"key\":\"字段名\",\"value\":\"字段值\"}]","status":1,"createTime":1563268833000,"updateTime":1563268833000,"widgetInstruction":"门店自定义属性"},"name":"store-property"},{"esScreeningWidgetChainId":"f93e46d06f684eeea4d3867a46b22822","esScreeningWidgetCategoryId":"db92e4d52d274ed4a1ea3052c30cbd99","chainNodeName":"部分门店","widgetFieldKey":"store-some","columnKey":"storeId","dealKey":"","nextWidgetParams":null,"nextWidgetSourceFlag":0,"nextWidgetId":"a83356811c1046208771c340592f30d5","parentChainId":"0","computeCharacter":"contain","columnValue":"undefined","property":3,"columnType":1,"widget":{"esScreeningWidgetId":"a83356811c1046208771c340592f30d5","widgetName":"部分门店控件","templateCode":"m_store","widgetParam":"[{\"key\":\"key\",\"value\":\"callback\"}]","sourceFlag":0,"widgetValues":"[]","status":1,"createTime":1563261836000,"updateTime":1563261836000,"widgetInstruction":"部分门店"},"name":"store-some"},{"esScreeningWidgetChainId":"8171b764a5de45cfa85648a29dabcb13","esScreeningWidgetCategoryId":"a41b13eb068f4c8fa4cf03e0c91d4fa8","chainNodeName":"门店分组","widgetFieldKey":"store-group","columnKey":"storeGroupIdList","dealKey":"","nextWidgetParams":"[]","nextWidgetSourceFlag":0,"nextWidgetId":"03d51ac27aa547b499a1a509fa5eb0fc","parentChainId":"0","computeCharacter":"arr_contain","columnValue":"undefined","property":3,"columnType":1,"widget":{"esScreeningWidgetId":"03d51ac27aa547b499a1a509fa5eb0fc","widgetName":"门店分组","templateCode":"m_storeGroup","widgetParam":"[{\"key\":\"key\",\"value\":\"callback\"}]","sourceFlag":0,"widgetValues":"[]","status":1,"createTime":1563261745000,"updateTime":1563261745000,"widgetInstruction":"门店分组控件"},"name":"store-group"},{"esScreeningWidgetChainId":"411e67154126487ca92b099c4b05c4cb","esScreeningWidgetCategoryId":"6997db0bb0b3405f9ef1978ceda185b3","chainNodeName":"基本信息及状态","widgetFieldKey":"store-info","columnKey":null,"dealKey":"","nextWidgetParams":null,"nextWidgetSourceFlag":0,"nextWidgetId":"e3d11767dca74696803e79f08a925ffa","parentChainId":"0","computeCharacter":null,"columnValue":"undefined","property":8,"columnType":1,"widget":{"esScreeningWidgetId":"e3d11767dca74696803e79f08a925ffa","widgetName":"门店基本信息及状态","templateCode":"com001","widgetParam":"[{\"key\":\"key\",\"value\":\"callback\"}]","sourceFlag":0,"widgetValues":"[{\"key\":\"storeArea\",\"value\":\"门店地区\",\"name\":\"storeArea\"},{\"key\":\"storeBrand\",\"value\":\"店招品牌\",\"name\":\"storeBrand\"},{\"key\":\"storeStatus\",\"value\":\"门店启用状态\",\"name\":\"storeStatus\"},{\"key\":\"completeStatus\",\"value\":\"资料完善状态\",\"name\":\"completeStatus\"},{\"key\":\"createType\",\"value\":\"门店创建方式\",\"name\":\"createType\"},{\"key\":\"storeType\",\"value\":\"门店类型\",\"name\":\"storeType\"},{\"key\":\"erpStatus\",\"value\":\"门店状态\",\"name\":\"erpStatus\"}]","status":1,"createTime":1576679517000,"updateTime":1576679517000,"widgetInstruction":"门店基本信息及状态"},"name":"store-info"}]
* components : [{"type":"部分门店","name":"store-some","status":"delete","options":["大理古城刘建冬","大理下关王亮娟","大姚杨红","大姚杨玉梅(服装店)","加盟24店-大姚张华"],"propertyName":"store-some","list":{"key":"storeId","compute":"contain","value":"4040 4041 4048 4042 4045"}}]
* operator : 或者
*/
public static String getJSON(List<String> storeNameList, List<Integer> storeIdList) {
String json = "[{\"box\":[{\"esScreeningWidgetChainId\":\"9e64d13895df4d9a90938a4b356f59c7\",\"esScreeningWidgetCategoryId\":\"fe4de3f315624e8fa08d2f19ca181890\",\"chainNodeName\":\"门店域\",\"widgetFieldKey\":\"store-area\",\"columnKey\":\"regionId\",\"dealKey\":\"\",\"nextWidgetParams\":\"[]\",\"nextWidgetSourceFlag\":0,\"nextWidgetId\":\"e771749a7ba945279be6407b2511e8d7\",\"parentChainId\":\"0\",\"computeCharacter\":\"arr_contain\",\"columnValue\":\"\",\"property\":3,\"columnType\":1,\"widget\":{\"esScreeningWidgetId\":\"e771749a7ba945279be6407b2511e8d7\",\"widgetName\":\"门店域\",\"templateCode\":\"com007\",\"widgetParam\":\"[{\\\"key\\\":\\\"url\\\",\\\"value\\\":\\\"/api-plug/list-store-region\\\"}]\",\"sourceFlag\":1,\"widgetValues\":\"[{\\\"key\\\":\\\"字段名\\\",\\\"value\\\":\\\"字段值\\\"}]\",\"status\":1,\"createTime\":1563267944000,\"updateTime\":1563267944000,\"widgetInstruction\":\"门店域控件\"},\"name\":\"store-area\"},{\"esScreeningWidgetChainId\":\"d7b319e95e164a609a04d5f616d185b8\",\"esScreeningWidgetCategoryId\":\"f598d7e2a1fa4c1e8dc56c6bb81a2195\",\"chainNodeName\":\"自定义属性\",\"widgetFieldKey\":\"store-property\",\"columnKey\":null,\"dealKey\":\"\",\"nextWidgetParams\":null,\"nextWidgetSourceFlag\":0,\"nextWidgetId\":\"fdcbd2bccd7143a9b1a16fef9129a243\",\"parentChainId\":\"0\",\"computeCharacter\":null,\"columnValue\":\"undefined\",\"property\":8,\"columnType\":1,\"widget\":{\"esScreeningWidgetId\":\"fdcbd2bccd7143a9b1a16fef9129a243\",\"widgetName\":\"门店自定义属性\",\"templateCode\":\"com009\",\"widgetParam\":\"[{\\\"key\\\":\\\"url\\\",\\\"value\\\":\\\"callback\\\"}]\",\"sourceFlag\":1,\"widgetValues\":\"[{\\\"key\\\":\\\"字段名\\\",\\\"value\\\":\\\"字段值\\\"}]\",\"status\":1,\"createTime\":1563268833000,\"updateTime\":1563268833000,\"widgetInstruction\":\"门店自定义属性\"},\"name\":\"store-property\"},{\"esScreeningWidgetChainId\":\"f93e46d06f684eeea4d3867a46b22822\",\"esScreeningWidgetCategoryId\":\"db92e4d52d274ed4a1ea3052c30cbd99\",\"chainNodeName\":\"部分门店\",\"widgetFieldKey\":\"store-some\",\"columnKey\":\"storeId\",\"dealKey\":\"\",\"nextWidgetParams\":null,\"nextWidgetSourceFlag\":0,\"nextWidgetId\":\"a83356811c1046208771c340592f30d5\",\"parentChainId\":\"0\",\"computeCharacter\":\"contain\",\"columnValue\":\"undefined\",\"property\":3,\"columnType\":1,\"widget\":{\"esScreeningWidgetId\":\"a83356811c1046208771c340592f30d5\",\"widgetName\":\"部分门店控件\",\"templateCode\":\"m_store\",\"widgetParam\":\"[{\\\"key\\\":\\\"key\\\",\\\"value\\\":\\\"callback\\\"}]\",\"sourceFlag\":0,\"widgetValues\":\"[]\",\"status\":1,\"createTime\":1563261836000,\"updateTime\":1563261836000,\"widgetInstruction\":\"部分门店\"},\"name\":\"store-some\"},{\"esScreeningWidgetChainId\":\"8171b764a5de45cfa85648a29dabcb13\",\"esScreeningWidgetCategoryId\":\"a41b13eb068f4c8fa4cf03e0c91d4fa8\",\"chainNodeName\":\"门店分组\",\"widgetFieldKey\":\"store-group\",\"columnKey\":\"storeGroupIdList\",\"dealKey\":\"\",\"nextWidgetParams\":\"[]\",\"nextWidgetSourceFlag\":0,\"nextWidgetId\":\"03d51ac27aa547b499a1a509fa5eb0fc\",\"parentChainId\":\"0\",\"computeCharacter\":\"arr_contain\",\"columnValue\":\"undefined\",\"property\":3,\"columnType\":1,\"widget\":{\"esScreeningWidgetId\":\"03d51ac27aa547b499a1a509fa5eb0fc\",\"widgetName\":\"门店分组\",\"templateCode\":\"m_storeGroup\",\"widgetParam\":\"[{\\\"key\\\":\\\"key\\\",\\\"value\\\":\\\"callback\\\"}]\",\"sourceFlag\":0,\"widgetValues\":\"[]\",\"status\":1,\"createTime\":1563261745000,\"updateTime\":1563261745000,\"widgetInstruction\":\"门店分组控件\"},\"name\":\"store-group\"},{\"esScreeningWidgetChainId\":\"411e67154126487ca92b099c4b05c4cb\",\"esScreeningWidgetCategoryId\":\"6997db0bb0b3405f9ef1978ceda185b3\",\"chainNodeName\":\"基本信息及状态\",\"widgetFieldKey\":\"store-info\",\"columnKey\":null,\"dealKey\":\"\",\"nextWidgetParams\":null,\"nextWidgetSourceFlag\":0,\"nextWidgetId\":\"e3d11767dca74696803e79f08a925ffa\",\"parentChainId\":\"0\",\"computeCharacter\":null,\"columnValue\":\"undefined\",\"property\":8,\"columnType\":1,\"widget\":{\"esScreeningWidgetId\":\"e3d11767dca74696803e79f08a925ffa\",\"widgetName\":\"门店基本信息及状态\",\"templateCode\":\"com001\",\"widgetParam\":\"[{\\\"key\\\":\\\"key\\\",\\\"value\\\":\\\"callback\\\"}]\",\"sourceFlag\":0,\"widgetValues\":\"[{\\\"key\\\":\\\"storeArea\\\",\\\"value\\\":\\\"门店地区\\\",\\\"name\\\":\\\"storeArea\\\"},{\\\"key\\\":\\\"storeBrand\\\",\\\"value\\\":\\\"店招品牌\\\",\\\"name\\\":\\\"storeBrand\\\"},{\\\"key\\\":\\\"storeStatus\\\",\\\"value\\\":\\\"门店启用状态\\\",\\\"name\\\":\\\"storeStatus\\\"},{\\\"key\\\":\\\"completeStatus\\\",\\\"value\\\":\\\"资料完善状态\\\",\\\"name\\\":\\\"completeStatus\\\"},{\\\"key\\\":\\\"createType\\\",\\\"value\\\":\\\"门店创建方式\\\",\\\"name\\\":\\\"createType\\\"},{\\\"key\\\":\\\"storeType\\\",\\\"value\\\":\\\"门店类型\\\",\\\"name\\\":\\\"storeType\\\"},{\\\"key\\\":\\\"erpStatus\\\",\\\"value\\\":\\\"门店状态\\\",\\\"name\\\":\\\"erpStatus\\\"}]\",\"status\":1,\"createTime\":1576679517000,\"updateTime\":1576679517000,\"widgetInstruction\":\"门店基本信息及状态\"},\"name\":\"store-info\"}],\"components\":[{\"type\":\"部分门店\",\"name\":\"store-some\",\"status\":\"delete\",\"options\":[\"大理古城刘建冬\",\"大理下关王亮娟\",\"大姚杨红\",\"大姚杨玉梅(服装店)\",\"加盟24店-大姚张华\"],\"propertyName\":\"store-some\",\"list\":{\"key\":\"storeId\",\"compute\":\"contain\",\"value\":\"4040 4041 4048 4042 4045\"}}],\"operator\":\"或者\"}]";
List<StoreWidgetWriteBack> storeWidgetWriteBacks = JSON.parseArray(json, StoreWidgetWriteBack.class);
StoreWidgetWriteBack storeWidgetWriteBack = storeWidgetWriteBacks.get(0);
storeWidgetWriteBack.getComponents().get(0).setOptions(storeNameList);
storeWidgetWriteBack.getComponents().get(0).getList().setValue(Joiner.on(" ").join(storeIdList));
return JSON.toJSONString(storeWidgetWriteBacks);
}
private String operator;
private List<BoxBean> box;
private List<ComponentsBean> components;
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
public List<BoxBean> getBox() {
return box;
}
public void setBox(List<BoxBean> box) {
this.box = box;
}
public List<ComponentsBean> getComponents() {
return components;
}
public void setComponents(List<ComponentsBean> components) {
this.components = components;
}
public static class BoxBean {
/**
* esScreeningWidgetChainId : 9e64d13895df4d9a90938a4b356f59c7
* esScreeningWidgetCategoryId : fe4de3f315624e8fa08d2f19ca181890
* chainNodeName : 门店域
* widgetFieldKey : store-area
* columnKey : regionId
* dealKey :
* nextWidgetParams : []
* nextWidgetSourceFlag : 0
* nextWidgetId : e771749a7ba945279be6407b2511e8d7
* parentChainId : 0
* computeCharacter : arr_contain
* columnValue :
* property : 3
* columnType : 1
* widget : {"esScreeningWidgetId":"e771749a7ba945279be6407b2511e8d7","widgetName":"门店域","templateCode":"com007","widgetParam":"[{\"key\":\"url\",\"value\":\"/api-plug/list-store-region\"}]","sourceFlag":1,"widgetValues":"[{\"key\":\"字段名\",\"value\":\"字段值\"}]","status":1,"createTime":1563267944000,"updateTime":1563267944000,"widgetInstruction":"门店域控件"}
* name : store-area
*/
private String esScreeningWidgetChainId;
private String esScreeningWidgetCategoryId;
private String chainNodeName;
private String widgetFieldKey;
private String columnKey;
private String dealKey;
private String nextWidgetParams;
private int nextWidgetSourceFlag;
private String nextWidgetId;
private String parentChainId;
private String computeCharacter;
private String columnValue;
private int property;
private int columnType;
private WidgetBean widget;
private String name;
public String getEsScreeningWidgetChainId() {
return esScreeningWidgetChainId;
}
public void setEsScreeningWidgetChainId(String esScreeningWidgetChainId) {
this.esScreeningWidgetChainId = esScreeningWidgetChainId;
}
public String getEsScreeningWidgetCategoryId() {
return esScreeningWidgetCategoryId;
}
public void setEsScreeningWidgetCategoryId(String esScreeningWidgetCategoryId) {
this.esScreeningWidgetCategoryId = esScreeningWidgetCategoryId;
}
public String getChainNodeName() {
return chainNodeName;
}
public void setChainNodeName(String chainNodeName) {
this.chainNodeName = chainNodeName;
}
public String getWidgetFieldKey() {
return widgetFieldKey;
}
public void setWidgetFieldKey(String widgetFieldKey) {
this.widgetFieldKey = widgetFieldKey;
}
public String getColumnKey() {
return columnKey;
}
public void setColumnKey(String columnKey) {
this.columnKey = columnKey;
}
public String getDealKey() {
return dealKey;
}
public void setDealKey(String dealKey) {
this.dealKey = dealKey;
}
public String getNextWidgetParams() {
return nextWidgetParams;
}
public void setNextWidgetParams(String nextWidgetParams) {
this.nextWidgetParams = nextWidgetParams;
}
public int getNextWidgetSourceFlag() {
return nextWidgetSourceFlag;
}
public void setNextWidgetSourceFlag(int nextWidgetSourceFlag) {
this.nextWidgetSourceFlag = nextWidgetSourceFlag;
}
public String getNextWidgetId() {
return nextWidgetId;
}
public void setNextWidgetId(String nextWidgetId) {
this.nextWidgetId = nextWidgetId;
}
public String getParentChainId() {
return parentChainId;
}
public void setParentChainId(String parentChainId) {
this.parentChainId = parentChainId;
}
public String getComputeCharacter() {
return computeCharacter;
}
public void setComputeCharacter(String computeCharacter) {
this.computeCharacter = computeCharacter;
}
public String getColumnValue() {
return columnValue;
}
public void setColumnValue(String columnValue) {
this.columnValue = columnValue;
}
public int getProperty() {
return property;
}
public void setProperty(int property) {
this.property = property;
}
public int getColumnType() {
return columnType;
}
public void setColumnType(int columnType) {
this.columnType = columnType;
}
public WidgetBean getWidget() {
return widget;
}
public void setWidget(WidgetBean widget) {
this.widget = widget;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static class WidgetBean {
/**
* esScreeningWidgetId : e771749a7ba945279be6407b2511e8d7
* widgetName : 门店域
* templateCode : com007
* widgetParam : [{"key":"url","value":"/api-plug/list-store-region"}]
* sourceFlag : 1
* widgetValues : [{"key":"字段名","value":"字段值"}]
* status : 1
* createTime : 1563267944000
* updateTime : 1563267944000
* widgetInstruction : 门店域控件
*/
private String esScreeningWidgetId;
private String widgetName;
private String templateCode;
private String widgetParam;
private int sourceFlag;
private String widgetValues;
private int status;
private long createTime;
private long updateTime;
private String widgetInstruction;
public String getEsScreeningWidgetId() {
return esScreeningWidgetId;
}
public void setEsScreeningWidgetId(String esScreeningWidgetId) {
this.esScreeningWidgetId = esScreeningWidgetId;
}
public String getWidgetName() {
return widgetName;
}
public void setWidgetName(String widgetName) {
this.widgetName = widgetName;
}
public String getTemplateCode() {
return templateCode;
}
public void setTemplateCode(String templateCode) {
this.templateCode = templateCode;
}
public String getWidgetParam() {
return widgetParam;
}
public void setWidgetParam(String widgetParam) {
this.widgetParam = widgetParam;
}
public int getSourceFlag() {
return sourceFlag;
}
public void setSourceFlag(int sourceFlag) {
this.sourceFlag = sourceFlag;
}
public String getWidgetValues() {
return widgetValues;
}
public void setWidgetValues(String widgetValues) {
this.widgetValues = widgetValues;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
public long getUpdateTime() {
return updateTime;
}
public void setUpdateTime(long updateTime) {
this.updateTime = updateTime;
}
public String getWidgetInstruction() {
return widgetInstruction;
}
public void setWidgetInstruction(String widgetInstruction) {
this.widgetInstruction = widgetInstruction;
}
}
}
public static class ComponentsBean {
/**
* type : 部分门店
* name : store-some
* status : delete
* options : ["大理古城刘建冬","大理下关王亮娟","大姚杨红","大姚杨玉梅(服装店)","加盟24店-大姚张华"]
* propertyName : store-some
* list : {"key":"storeId","compute":"contain","value":"4040 4041 4048 4042 4045"}
*/
private String type;
private String name;
private String status;
private String propertyName;
private ListBean list;
private List<String> options;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getPropertyName() {
return propertyName;
}
public void setPropertyName(String propertyName) {
this.propertyName = propertyName;
}
public ListBean getList() {
return list;
}
public void setList(ListBean list) {
this.list = list;
}
public List<String> getOptions() {
return options;
}
public void setOptions(List<String> options) {
this.options = options;
}
public static class ListBean {
/**
* key : storeId
* compute : contain
* value : 4040 4041 4048 4042 4045
*/
private String key;
private String compute;
private String value;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getCompute() {
return compute;
}
public void setCompute(String compute) {
this.compute = compute;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
}
}
......@@ -45,6 +45,7 @@
<dubbo:reference interface="com.gic.enterprise.service.PlatformBrandApiService" id="platformBrandApiService" timeout="60000" />
<dubbo:reference interface="com.gic.store.service.StoreAuthorizationApiService" id="storeAuthorizationApiService" timeout="60000" />
<dubbo:reference interface="com.gic.store.service.StoreTagApiService" id="storeTagApiService" timeout="60000" />
<dubbo:reference interface="com.gic.store.service.StoreTagTmpApiService" id="storeTagTmpApiService" timeout="60000" />
<dubbo:reference interface="com.gic.store.service.StoreWidgetApiService" id="storeWidgetApiService" timeout="60000" />
<dubbo:reference interface="com.gic.enterprise.service.DownloadReportApiService" id="downloadReportApiService" timeout="6000"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment