Commit c9014448 by 陶光胜

Merge branch 'developer' into 'master'

Developer

See merge request !5
parents 56ea917f 72d40392
package com.gic.plug.web.controller;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.auth.dto.ResourceDTO;
import com.gic.auth.dto.UserResourceDTO;
import com.gic.auth.service.ResourceApiService;
import com.gic.auth.service.UserResourceApiService;
import com.gic.plug.web.vo.StoreResourceVO;
import com.gic.store.dto.StoreWidgetDTO;
import com.gic.store.service.StoreWidgetApiService;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.constants.Constants;
import com.gic.enterprise.utils.UserDetailUtils;
import com.gic.goods.api.util.Constant;
import com.gic.plug.web.strategy.init.StrategyInit;
import com.gic.search.business.api.constant.enums.OperateEnum;
import com.gic.widget.screening.api.dto.EsScreeningChainDetailDTO;
import com.gic.widget.screening.api.dto.EsScreeningEnterpriseCategorySceneInfoDTO;
import com.gic.widget.screening.api.dto.EsScreeningTemplateDTO;
import com.gic.widget.screening.api.service.EsScreeningInitService;
import com.gic.widget.screening.api.service.EsScreeningTemplateService;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
......@@ -80,9 +65,11 @@ public class ScreeningController {
if (Constants.STORE_SCENECODE.equals(sceneCode)) {
enterpriseId = Constants.INDEX_ENTERPRISEID;
}
if (Constant.ERP_GOODS_SCREEN.equals(sceneCode) || Constant.WEIMOB_GOODS_SCREEN.equals(sceneCode)) {
if (Constant.ERP_GOODS_SCREEN.equals(sceneCode) || Constant.WEIMOB_GOODS_SCREEN.equals(sceneCode) || Constant.CHANNEL_CODE_MALL.equals(sceneCode)) {
//TODO
enterpriseId = "goods-test-"+enterpriseId;
if ("1129".equals(enterpriseId)) {
enterpriseId = "goods-test-1129";
}
}
List<EsScreeningEnterpriseCategorySceneInfoDTO> list = this.esScreeningInitService
.queryEsScreeningByEnterpriseAndScene(enterpriseId, sceneCode);
......
......@@ -16,10 +16,7 @@ import com.gic.plug.web.qo.StoreWidgetCountQO;
import com.gic.plug.web.qo.StoreWidgetQO;
import com.gic.plug.web.strategy.init.StrategyInit;
import com.gic.plug.web.utils.StoreRegionAuthUtil;
import com.gic.plug.web.vo.StoreRegionVO;
import com.gic.plug.web.vo.StoreResourceVO;
import com.gic.plug.web.vo.StoreVO;
import com.gic.plug.web.vo.StoreWidgetVO;
import com.gic.plug.web.vo.*;
import com.gic.search.business.api.constant.enums.OperateEnum;
import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreInfoDTO;
......@@ -168,39 +165,33 @@ public class StoreController {
return RestResponse.success(new StoreResourceVO());
}
private String getScreenBack(String param) throws ClassNotFoundException {
private List<ScreenBackVO> getScreenBack(String param) throws ClassNotFoundException {
if(StringUtils.isBlank(param)){
return "";
return null;
}
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
JSONArray array = JSON.parseArray(param);
StringBuilder backMessage = new StringBuilder();
List<ScreenBackVO> result = new ArrayList<>();
for(int i=0; i< array.size(); i++){
JSONObject jsonObject = array.getJSONObject(i);
ScreenBackVO screenBackVO = new ScreenBackVO();
List<ScreenBack> data = new ArrayList<>();
String type = jsonObject.getString("type");
if(StringUtils.isNotBlank(type)){
if(OperateEnum.OPERATE_AND_NOT.getValue().equals(type)){
backMessage.append(OperateEnum.OPERATE_AND_NOT.getDescribe()).append(" ");
}
if(OperateEnum.OPERATE_OR.getValue().equals(type)){
backMessage.append(OperateEnum.OPERATE_OR.getDescribe()).append(" ");
}
screenBackVO.setType(type);
}
JSONArray list = jsonObject.getJSONArray("list");
StringBuilder stringBuilder = new StringBuilder();
for(int j = 0; j<list.size(); j++){
JSONObject json = list.getJSONObject(j);
String key = json.getJSONObject("data").getString("key");
String value = json.getJSONObject("data").getString("value");
String compute = json.getJSONObject("data").getString("compute");
String message = this.strategyInit.getStrategyMap().get(key).screenBack(compute, value, key, enterpriseId);
stringBuilder.append(message);
if(j < list.size()-1){
stringBuilder.append("并且");
}
ScreenBack screenBack = this.strategyInit.getStrategyMap().get(key).screenBack(compute, value, key, enterpriseId);
data.add(screenBack);
}
backMessage.append(stringBuilder);
screenBackVO.setData(data);
result.add(screenBackVO);
}
return backMessage.toString();
return result;
}
}
......@@ -3,22 +3,26 @@ package com.gic.plug.web.controller;
import com.alibaba.fastjson.JSON;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.ano.IgnoreLogin;
import com.gic.thirdparty.BucketNameEnum;
import com.gic.thirdparty.FileOperateUtils;
import com.gic.thirdparty.pic.QQCloudPicUtils;
import com.gic.thirdparty.pic.UploadResult;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*;
@RestController
public class UploadImgController {
private Logger logger = LogManager.getLogger(UploadImgController.class);
private static Logger logger = LogManager.getLogger(UploadImgController.class);
@RequestMapping("upload-images")
@IgnoreLogin
......@@ -43,4 +47,135 @@ public class UploadImgController {
}
return RestResponse.success(picList);
}
@RequestMapping("upload-file")
@IgnoreLogin
public RestResponse uploadFile(HttpServletRequest request) throws IOException {
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
Iterator<String> iter = multiRequest.getFileNames();
java.util.List<Map<String, Object>> picList = new ArrayList<Map<String, Object>>();
while (iter.hasNext()) {
String fileName = iter.next();
List<MultipartFile> list = multiRequest.getMultiFileMap().get(fileName);
for (int i = 0; i < list.size(); i++) {
MultipartFile mf = list.get(i);
SimpleDateFormat sdf = new SimpleDateFormat("YYYYMMddHHmmss");
//获得原始文件名;
String fileRealName = mf.getOriginalFilename();
//点号的位置
int pointIndex = fileRealName.lastIndexOf(".");
//截取文件后缀
String fileSuffix = fileRealName.substring(pointIndex);
logger.info("上传的文件{},后缀是:{}", fileRealName, fileSuffix);
String fieldCode = "/" + fileName + "_" + sdf.format(new Date()) + fileSuffix;
File targetFile = null;
try {
targetFile = multipartFileToFile(mf);
//默认是其他
String bucketName = BucketNameEnum.OTHER_90000.getName();
if (isPicture(fileSuffix)) {
bucketName = BucketNameEnum.IMAGE_10000.getName();
} else if (isOffice(fileSuffix)) {
bucketName = BucketNameEnum.REPORT_50000.getName();
} else if (isMusic(fileSuffix)) {
bucketName = BucketNameEnum.MUSIC_20000.getName();
} else if (isVedio(fileSuffix)) {
bucketName = BucketNameEnum.VIDEO_40000.getName();
}
String url = FileOperateUtils.simpleUploadFileFromLocal(targetFile, fieldCode, bucketName);
if (StringUtils.isNotBlank(url)) {
url = "https://" + url;
}
Map<String, Object> pic = new HashMap<>(8);
pic.put("fileId", fieldCode);
pic.put("url", url);
pic.put("fileName", fileRealName);
picList.add(pic);
} catch (Exception e) {
logger.warn("上传文件{}错误:{}", fileRealName, e.getMessage(), e);
} finally {
delteTempFile(targetFile);
}
}
}
return RestResponse.success(picList);
}
public static File multipartFileToFile(MultipartFile file) throws Exception {
File toFile = null;
if (file.equals("") || file.getSize() <= 0) {
file = null;
} else {
InputStream ins = null;
ins = file.getInputStream();
toFile = new File(file.getOriginalFilename());
inputStreamToFile(ins, toFile);
ins.close();
}
return toFile;
}
/**
* 获取流文件
* @param ins
* @param file
*/
private static void inputStreamToFile(InputStream ins, File file) {
try {
OutputStream os = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
ins.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 删除本地临时文件
* @param file
*/
public static void delteTempFile(File file) {
if (file != null) {
File del = new File(file.toURI());
del.delete();
}
}
/**
* 是否是图片
* @param fileSuffix
* @return
* @throws Exception
*/
public static boolean isPicture(String fileSuffix) throws Exception{
String[] imageArray =
{"bmp", "dib","gif", "jfif", "jpe","jpeg", "jpg", "png", "tif", "tiff", "ico", "10"};
return Arrays.stream(imageArray).anyMatch(e -> e.equals(fileSuffix.replace(".", "")));
}
public static boolean isOffice(String fileSuffix) throws Exception{
String[] arr =
{"doc", "docx","xls", "xlsx", "pptx", "ppt"};
return Arrays.stream(arr).anyMatch(e -> e.equals(fileSuffix.replace(".", "")));
}
public static boolean isMusic(String fileSuffix) throws Exception{
String[] arr =
{"wma", "mpc","ogg", "wav", "mpeg", "mp3"};
return Arrays.stream(arr).anyMatch(e -> e.equals(fileSuffix.replace(".", "")));
}
public static boolean isVedio(String fileSuffix) throws Exception{
String[] arr =
{"rm", "rmvb","mp4", "wmv", "asf", "asx", "3gp", "mov", "m4v", "avi", "dat", "mkv", "flv", "vob"};
return Arrays.stream(arr).anyMatch(e -> e.equals(fileSuffix.replace(".", "")));
}
}
......@@ -24,6 +24,7 @@ import com.gic.widget.screening.api.service.EsScreeningSearchService;
import com.google.common.base.Joiner;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.curator.shaded.com.google.common.base.Splitter;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -32,10 +33,8 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
* 商城装修选择器
......@@ -91,6 +90,7 @@ public class AppletConfigGoodsController extends BaseGoodsController {
/**
* 商城组对外提供的组件
*
* @param currentPage
* @param pageSize
* @param appConfigId
......@@ -100,7 +100,7 @@ public class AppletConfigGoodsController extends BaseGoodsController {
*/
@RequestMapping("list-mall-goods-selector")
public RestResponse listGoodsByChannel(@RequestParam(value = "currentPage", defaultValue = "1") Integer currentPage,
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, String appConfigId, String search, Long cordId,
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, String appConfigId, String search, Long cordId,
Long shopId) {
Long areaId = null;
if (StringUtils.isNotBlank(appConfigId)) {
......@@ -135,21 +135,21 @@ public class AppletConfigGoodsController extends BaseGoodsController {
ServiceResponse<ESResponseQueryBatchDTO> serviceResponse = searchGoods(currentPage, pageSize, areaId, search,
Constant.CHANNEL_CODE_MALL, cordJSON);
if (serviceResponse.isSuccess()) {
List<Long> goodsIds = new ArrayList<>();
if (CollectionUtils.isNotEmpty(serviceResponse.getResult().getRes())) {
serviceResponse.getResult().getRes().forEach(json -> {
Long goodsId = json.getLong("goodsId");
goodsIds.add(goodsId);
});
}
ServiceResponse<Map<Long, BigDecimal>> mapServiceResponse = mallGoodsBusinessApiService.getLowestSkuPrice(goodsIds, getEnterpriseId());
if (mapServiceResponse.isSuccess()) {
Map<Long, BigDecimal> map = mapServiceResponse.getResult();
serviceResponse.getResult().getRes().forEach(json -> {
Long goodsId = json.getLong("goodsId");
json.put("minSkuPrice", map.getOrDefault(goodsId, BigDecimal.valueOf(0)));
});
}
List<Long> goodsIds = new ArrayList<>();
if (CollectionUtils.isNotEmpty(serviceResponse.getResult().getRes())) {
serviceResponse.getResult().getRes().forEach(json -> {
Long goodsId = json.getLong("goodsId");
goodsIds.add(goodsId);
});
}
ServiceResponse<Map<Long, BigDecimal>> mapServiceResponse = mallGoodsBusinessApiService.getLowestSkuPrice(goodsIds, getEnterpriseId());
if (mapServiceResponse.isSuccess()) {
Map<Long, BigDecimal> map = mapServiceResponse.getResult();
serviceResponse.getResult().getRes().forEach(json -> {
Long goodsId = json.getLong("goodsId");
json.put("minSkuPrice", map.getOrDefault(goodsId, BigDecimal.valueOf(0)));
});
}
return RestResponse.success(serviceResponse.getResult());
}
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
......@@ -157,6 +157,7 @@ public class AppletConfigGoodsController extends BaseGoodsController {
/**
* 商城组对内的渠道商品组件
*
* @param currentPage
* @param pageSize
* @param search
......@@ -164,9 +165,12 @@ public class AppletConfigGoodsController extends BaseGoodsController {
*/
@RequestMapping("list-channel-goods-selector")
public RestResponse listGoodsChannel(@RequestParam(value = "currentPage", defaultValue = "1") Integer currentPage,
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, String search,
Double startPrice, Double endPrice, Integer startStock, Integer endStock, String channelCode) {
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, String search,
Double startPrice, Double endPrice, Integer startStock, Integer endStock, String channelCode) {
JSONObject queryObject = null;
if (StringUtils.isBlank(channelCode)) {
channelCode = Constant.CHANNEL_CODE_MALL;
}
if (startPrice != null) {
queryObject = QueryConditionAssemblyUtil.createSimpleQueryNode("goodsPrice",
OperateEnum.OPERATE_GTE, startPrice);
......@@ -199,15 +203,34 @@ public class AppletConfigGoodsController extends BaseGoodsController {
}
}
ServiceResponse<ESResponseQueryBatchDTO> serviceResponse = searchGoods(currentPage, pageSize, null, search,
Constant.CHANNEL_CODE_MALL, queryObject);
channelCode, queryObject);
if (serviceResponse.isSuccess()) {
return RestResponse.success(serviceResponse.getResult());
}
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
}
private Long getGoodsDomainIdByAponfigId(String appConfigId) {
Long goodsDomainId = null;
ServiceResponse<AppletsConfigSimpleOutputDTO> appServiceResponse = appletsConfigApiService.selectAppletsConfigIdByAppId(appConfigId, getEnterpriseId());
if (appServiceResponse.getResult() == null) {
log.info("查不到小程序信息 appConfigId={}", appConfigId);
}
Integer shopType = 2;
ServiceResponse<ShopDTO> shopDTOServiceResponse = shopApiService.getShopByAppletId(appServiceResponse.getResult().getAppletConfigId(), getEnterpriseId(), shopType);
if (shopDTOServiceResponse.getResult() == null) {
log.info("查不到店铺信息 appConfigId={}", appConfigId);
return null;
}
goodsDomainId = shopDTOServiceResponse.getResult().getAreaId();
return goodsDomainId;
}
private ServiceResponse<ESResponseQueryBatchDTO> searchGoods(Integer currentPage, Integer pageSize,
Long goodsDomainId, String search, String channelCode, JSONObject queryObject) {
Long goodsDomainId, String search, String channelCode, JSONObject queryObject) {
DynamicSearchDTO searchDTO = new DynamicSearchDTO();
String searchCode = "";
if (Constant.CHANNEL_CODE_MALL.equals(channelCode)) {
......@@ -224,7 +247,10 @@ public class AppletConfigGoodsController extends BaseGoodsController {
searchDTO.setBegin((currentPage - 1) * pageSize);
searchDTO.setRecordNumber(pageSize);
JSONObject jsonObject = null;
JSONObject status = QueryConditionAssemblyUtil.createSimpleQueryNode("status", OperateEnum.OPERATE_EQ, 2);
JSONObject status = new JSONObject();
if (!Objects.equals(Constant.CHANNEL_CODE_ERP, channelCode)) {
status = QueryConditionAssemblyUtil.createSimpleQueryNode("status", OperateEnum.OPERATE_EQ, 2);
}
if (Constant.CHANNEL_CODE_MALL.equals(channelCode)) {
status = QueryConditionAssemblyUtil.addQueryNodeForSiblin(status, QueryConditionAssemblyUtil.createSimpleQueryNode("upShelfTime", OperateEnum.OPERATE_LTE, new Date().getTime()), OperateEnum.OPERATE_AND);
}
......@@ -258,4 +284,62 @@ public class AppletConfigGoodsController extends BaseGoodsController {
return serviceResponse;
}
/**
* 小程序积分商城查询
*
* @param currentPage
* @param pageSize
* @param appConfigId
* @param cordId
* @return 调试接口
*/
//@RequestMapping("list-integral-goods-selector")
public RestResponse listIntegralGoodsByChannel(@RequestParam(value = "currentPage", defaultValue = "1") Integer currentPage,
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, String appConfigId, Long cordId,String sortColumn,String ids,Integer proType) {
Long goodsDomainId = getGoodsDomainIdByAponfigId(appConfigId);
DynamicSearchDTO searchDTO = new DynamicSearchDTO();
String columnCategoryCode = "gic_integral_goods";
String esName = esScreeningSearchService.getCurrentEsName(getEnterpriseId() + "", columnCategoryCode);
searchDTO.setIndexName(esName);
searchDTO.setColumnCategoryCode(columnCategoryCode);
searchDTO.setEnterpriseId(getEnterpriseId() + "");
searchDTO.setType("mapper_type");
searchDTO.setBegin((currentPage - 1) * pageSize);
searchDTO.setRecordNumber(pageSize);
JSONObject sortNode = QueryConditionAssemblyUtil.createSortNode(sortColumn, "desc");
List<JSONObject> jsonArray = new ArrayList<>();
JSONObject proTypejson = QueryConditionAssemblyUtil.createSimpleQueryNode("proType", OperateEnum.OPERATE_EQ, proType);
JSONObject goodsDomainIdJson = QueryConditionAssemblyUtil.createSimpleQueryNode("goodsDomainId", OperateEnum.OPERATE_EQ, goodsDomainId);
JSONObject json = QueryConditionAssemblyUtil.addQueryNodeForSiblin(proTypejson, goodsDomainIdJson, OperateEnum.OPERATE_AND);
JSONObject upShelvesTimejson = QueryConditionAssemblyUtil.createSimpleQueryNode("upShelvesTime", OperateEnum.OPERATE_LTE, System.currentTimeMillis());
json = QueryConditionAssemblyUtil.addQueryNodeForSiblin(json, upShelvesTimejson, OperateEnum.OPERATE_AND);
if (cordId != null) {
JSONObject goodsCodeJson = QueryConditionAssemblyUtil.createSimpleQueryNode("goodsCordId", OperateEnum.OPERATE_EQ, cordId);
json = QueryConditionAssemblyUtil.addQueryNodeForSiblin(json, goodsCodeJson, OperateEnum.OPERATE_AND);
jsonArray.add(goodsCodeJson);
}
if (ids != null) {
List<Long> collect = Splitter.on(",").splitToList(ids).stream().map(x -> Long.parseLong(x)).collect(Collectors.toList());
JSONObject goodsIdsJSON = QueryConditionAssemblyUtil.createSimpleQueryNode("id", OperateEnum.OPERATE_CONTAIN, Joiner.on(" ").join(collect));
JSONObject strategyJson = QueryConditionAssemblyUtil.createSimpleQueryNode("strategyFlag", OperateEnum.OPERATE_EQ, 0);
JSONObject strategyAndgoodsIdsJSON = QueryConditionAssemblyUtil.addQueryNodeForSiblin(goodsIdsJSON, strategyJson, OperateEnum.OPERATE_OR);
json = QueryConditionAssemblyUtil.addQueryNodeForSiblin(json, strategyAndgoodsIdsJSON, OperateEnum.OPERATE_AND);
jsonArray.add(strategyAndgoodsIdsJSON);
}else{
JSONObject strategyJson = QueryConditionAssemblyUtil.createSimpleQueryNode("strategyFlag", OperateEnum.OPERATE_EQ, 0);
json = QueryConditionAssemblyUtil.addQueryNodeForSiblin(json, strategyJson, OperateEnum.OPERATE_AND);
jsonArray.add(strategyJson);
}
searchDTO.setSearchJson(json);
searchDTO.setSortJson(sortNode);
log.info("查询条件 = {}",JSONObject.toJSONString(searchDTO));
ServiceResponse<ESResponseQueryBatchDTO> serviceResponse = esBusinessOperaApiService.queryDataBatch(searchDTO, false, null);
if (serviceResponse.isSuccess()) {
return RestResponse.success(serviceResponse.getResult());
}
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
}
}
package com.gic.plug.web.strategy;
import com.gic.plug.web.vo.ScreenBack;
public interface ScreenBackStrategy {
String screenBack(String compute, String value, String key, Integer enterpriseId) throws ClassNotFoundException;
ScreenBack screenBack(String compute, String value, String key, Integer enterpriseId) throws ClassNotFoundException;
}
......@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.CityDTO;
import com.gic.store.dto.ProvinceDTO;
......@@ -12,6 +13,7 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
@Component
......@@ -19,30 +21,41 @@ public class StoreAreaBackImpl implements ScreenBackStrategy {
@Autowired
private ProvincesApiService provincesApiService;
@Override
public String screenBack(String compute, String value, String key, Integer enterpriseId) {
public ScreenBack screenBack(String compute, String value, String key, Integer enterpriseId) {
if(StringUtils.isNotBlank(value)){
ServiceResponse<List<CityDTO>> cityResponse = this.provincesApiService.selectAllCity();
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.AREAIDS.getDesc()).append(" ");
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" ");
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(StoreESFieldsEnum.AREAIDS.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
if(cityResponse.isSuccess()){
List<CityDTO> cityDTOList = cityResponse.getResult();
if(CollectionUtils.isNotEmpty(cityDTOList)){
String[] valueArr = value.split(" ");
for(CityDTO cityDTO : cityDTOList){
for(String s : valueArr){
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index = 0;
for(String s : valueArr){
for(CityDTO cityDTO : cityDTOList){
if(s.equals(cityDTO.getCityId())){
String provinceName = "";
ServiceResponse<ProvinceDTO> provinceById = this.provincesApiService.getProvinceById(cityDTO.getProvinceId());
if(provinceById.isSuccess()){
provinceName = provinceById.getResult().getProvinceName();
}
stringBuilder.append("【").append(cityDTO.getCityName()).append("-").append(provinceName).append("】");
if(index < 5){
view.add(cityDTO.getCityName() + "-" + provinceName);
}else {
hideView.add(cityDTO.getCityName() + "-" + provinceName);
}
index++;
}
}
}
screenBack.setView(view);
screenBack.setHideView(hideView);
}
}
return stringBuilder.toString();
return screenBack;
}
return null;
}
......
......@@ -5,6 +5,7 @@ import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreDTO;
import com.gic.store.dto.StoreSearchDTO;
......@@ -14,6 +15,7 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
@Component
......@@ -21,10 +23,11 @@ public class StoreBackImpl implements ScreenBackStrategy {
@Autowired
private StoreApiService storeApiService;
@Override
public String screenBack(String compute, String value, String key, Integer enterpriseId) {
public ScreenBack screenBack(String compute, String value, String key, Integer enterpriseId) {
if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.STORENAME.getDesc()).append(" ");
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" ");
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(StoreESFieldsEnum.STORENAME.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
StoreSearchDTO storeSearchDTO = new StoreSearchDTO();
storeSearchDTO.setEnterpriseId(enterpriseId);
storeSearchDTO.setStoreIds(value);
......@@ -32,13 +35,22 @@ public class StoreBackImpl implements ScreenBackStrategy {
if(response.isSuccess()){
List<StoreDTO> list = ((Page)response.getResult()).getResult();
if(CollectionUtils.isNotEmpty(list)){
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index = 0;
for (StoreDTO storeDTO : list) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(storeDTO);
stringBuilder.append("【").append(jsonObject.getString(StoreESFieldsEnum.STORENAME.getField())).append("】").append(" ");
if(index < 5){
view.add(storeDTO.getStoreName());
}else {
hideView.add(storeDTO.getStoreName());
}
index++;
}
screenBack.setView(view);
screenBack.setHideView(hideView);
}
}
return stringBuilder.toString();
return screenBack;
}
return null;
}
......
......@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreBrandDTO;
import com.gic.store.service.StoreBrandApiService;
......@@ -18,10 +19,11 @@ public class StoreBrandBackImpl implements ScreenBackStrategy {
@Autowired
private StoreBrandApiService storeBrandApiService;
@Override
public String screenBack(String compute, String value, String key, Integer enterpriseId) {
public ScreenBack screenBack(String compute, String value, String key, Integer enterpriseId) {
if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.STOREBRANDIDLIST.getDesc()).append(" ");
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" ");
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(StoreESFieldsEnum.STOREBRANDIDLIST.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
List<Integer> storeBrandIdList = new ArrayList<>();
String[] valueArr = value.split(" ");
for(String s : valueArr){
......@@ -30,11 +32,21 @@ public class StoreBrandBackImpl implements ScreenBackStrategy {
ServiceResponse<List<StoreBrandDTO>> listServiceResponse = this.storeBrandApiService.listStoreBrandByIds(storeBrandIdList);
if(listServiceResponse.isSuccess()){
List<StoreBrandDTO> list = listServiceResponse.getResult();
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index = 0;
for(StoreBrandDTO storeBrandDTO : list){
stringBuilder.append("【").append(storeBrandDTO.getStoreBrandName()).append("】").append(" ");
if(index <5){
view.add(storeBrandDTO.getStoreBrandName());
}else {
hideView.add(storeBrandDTO.getStoreBrandName());
}
index++;
}
screenBack.setView(view);
screenBack.setHideView(hideView);
}
return stringBuilder.toString();
return screenBack;
}
return null;
}
......
......@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.redis.data.util.RedisUtil;
import com.gic.store.constant.StoreFieldDateEnum;
import com.gic.store.constant.StoreFieldTypeEnum;
......@@ -46,7 +47,7 @@ public class StoreCustomBackImpl implements ScreenBackStrategy {
}
@Override
public String screenBack(String compute, String value, String key, Integer enterpriseId) {
public ScreenBack screenBack(String compute, String value, String key, Integer enterpriseId) {
if (StringUtils.isNotBlank(value)) {
Object cache = RedisUtil.getCache(StoreRedisKeyUtils.getStoreFieldKeyC(enterpriseId, key));
if (cache != null) {
......@@ -67,9 +68,10 @@ public class StoreCustomBackImpl implements ScreenBackStrategy {
return null;
}
private String dateBack(String compute, String value, StoreFieldDTO storeFieldDTO) {
StringBuilder stringBuilder = new StringBuilder(storeFieldDTO.getStoreFieldName()).append(" ");
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" ");
private ScreenBack dateBack(String compute, String value, StoreFieldDTO storeFieldDTO) {
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(storeFieldDTO.getStoreFieldName());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
JSONObject jsonObject = JSON.parseObject(storeFieldDTO.getStoreFieldDetail());
int dateType = jsonObject.getIntValue("dateType");
String methodName = this.methodMap.get(dateType);
......@@ -79,7 +81,9 @@ public class StoreCustomBackImpl implements ScreenBackStrategy {
Method method = this.getClass().getMethod(methodName, Class.forName(value.getClass().getCanonicalName()));
try {
String message = (String) method.invoke(this, value);
return stringBuilder.append(message).toString();
List<String> view = new ArrayList<>();
view.add(message);
return screenBack;
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
......@@ -95,9 +99,10 @@ public class StoreCustomBackImpl implements ScreenBackStrategy {
return null;
}
private String selectBack(String compute, String value, Integer enterpriseId, StoreFieldDTO storeFieldDTO) {
StringBuilder stringBuilder = new StringBuilder(storeFieldDTO.getStoreFieldName()).append(" ");
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" ");
private ScreenBack selectBack(String compute, String value, Integer enterpriseId, StoreFieldDTO storeFieldDTO) {
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(storeFieldDTO.getStoreFieldName());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
List<Integer> list = new ArrayList<>();
String[] valueArr = value.split(" ");
for (String s : valueArr) {
......@@ -106,26 +111,40 @@ public class StoreCustomBackImpl implements ScreenBackStrategy {
ServiceResponse<List<StoreFieldSelectDTO>> listServiceResponse = this.storeFieldSelectApiService.listStoreFieldSelectByIds(enterpriseId, list);
if (listServiceResponse.isSuccess()) {
List<StoreFieldSelectDTO> selectDTOS = listServiceResponse.getResult();
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index = 0;
if (CollectionUtils.isNotEmpty(selectDTOS)) {
for (StoreFieldSelectDTO dto : selectDTOS) {
stringBuilder.append("【").append(dto.getStoreFieldSelectName()).append("】").append(" ");
if(index < 5){
view.add(dto.getStoreFieldSelectName());
} else {
hideView.add(dto.getStoreFieldSelectName());
}
}
}
screenBack.setView(view);
screenBack.setHideView(hideView);
}
return stringBuilder.toString();
return screenBack;
}
private String numberBack(String compute, String value, StoreFieldDTO storeFieldDTO){
StringBuilder stringBuilder = new StringBuilder(storeFieldDTO.getStoreFieldName()).append(" ");
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" ");
private ScreenBack numberBack(String compute, String value, StoreFieldDTO storeFieldDTO){
StringBuilder stringBuilder = new StringBuilder();
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(storeFieldDTO.getStoreFieldName());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
List<String> view = new ArrayList<>();
if(StringUtils.isNotBlank(value)){
String[] valueArr = value.split(" ");
stringBuilder.append(valueArr[0]);
if(valueArr.length > 1){
stringBuilder.append(" 至 ").append(valueArr[1]);
}
view.add(stringBuilder.toString());
}
return stringBuilder.toString();
screenBack.setView(view);
return screenBack;
}
public String yyyyMMddHHmmssBack(String value) throws ParseException {
......
......@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreGroupDTO;
import com.gic.store.service.StoreGroupApiService;
......@@ -18,10 +19,11 @@ public class StoreGroupBackImpl implements ScreenBackStrategy {
@Autowired
private StoreGroupApiService storeGroupApiService;
@Override
public String screenBack(String compute, String value, String key, Integer enterpriseId) {
public ScreenBack screenBack(String compute, String value, String key, Integer enterpriseId) {
if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.STOREGROUPIDLIST.getDesc()).append(" ");
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" ");
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(StoreESFieldsEnum.STOREGROUPIDLIST.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
String[] valueArr = value.split(" ");
List<Integer> storeGroupIdList = new ArrayList<>();
for(String s : valueArr){
......@@ -30,12 +32,22 @@ public class StoreGroupBackImpl implements ScreenBackStrategy {
ServiceResponse<List<StoreGroupDTO>> listServiceResponse = this.storeGroupApiService.listStoreGroupByIds(storeGroupIdList, enterpriseId);
if(listServiceResponse.isSuccess()){
if(listServiceResponse.getResult() != null){
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index=0;
for(StoreGroupDTO storeGroupDTO : listServiceResponse.getResult()){
stringBuilder.append("【").append(storeGroupDTO.getStoreGroupName()).append("】").append(" ");
if(index < 5){
view.add(storeGroupDTO.getStoreGroupName());
} else {
hideView.add(storeGroupDTO.getStoreGroupName());
}
index++;
}
screenBack.setView(view);
screenBack.setHideView(hideView);
}
}
return stringBuilder.toString();
return screenBack;
}
return null;
}
......
......@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreRegionDTO;
import com.gic.store.service.StoreRegionApiService;
......@@ -18,10 +19,11 @@ public class StoreRegionBackImpl implements ScreenBackStrategy {
@Autowired
private StoreRegionApiService storeRegionApiService;
@Override
public String screenBack(String compute, String value, String key, Integer enterpriseId) {
public ScreenBack screenBack(String compute, String value, String key, Integer enterpriseId) {
if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.REGIONID.getDesc()).append(" ");
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" ");
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(StoreESFieldsEnum.REGIONID.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
String[] valueArr = value.split(" ");
List<Integer> storeRegionIdList = new ArrayList<>();
for(String s : valueArr){
......@@ -30,12 +32,22 @@ public class StoreRegionBackImpl implements ScreenBackStrategy {
ServiceResponse<List<StoreRegionDTO>> listServiceResponse = this.storeRegionApiService.listStoreRegionByIds(enterpriseId, storeRegionIdList);
if(listServiceResponse.isSuccess()){
if(listServiceResponse.getResult() != null){
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index = 0;
for(StoreRegionDTO storeRegionDTO : listServiceResponse.getResult()){
stringBuilder.append("【").append(storeRegionDTO.getRegionName()).append("】").append(" ");
if(index < 5){
view.add(storeRegionDTO.getRegionName());
} else {
hideView.add(storeRegionDTO.getRegionName());
}
index++;
}
screenBack.setView(view);
screenBack.setHideView(hideView);
}
}
return stringBuilder.toString();
return screenBack;
}
return null;
}
......
......@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.CreateTypeEnum;
import com.gic.store.constant.StoreCompleteEnum;
import com.gic.store.constant.StoreESFieldsEnum;
......@@ -16,6 +17,7 @@ import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -35,7 +37,7 @@ public class StoreSelectBackImpl implements ScreenBackStrategy {
methodMap.put(StoreESFieldsEnum.ERPSTATUS.getField(), "erpStatusBack");
}
@Override
public String screenBack(String compute, String value, String key, Integer enterpriseId){
public ScreenBack screenBack(String compute, String value, String key, Integer enterpriseId){
String methodName = methodMap.get(key);
if(StringUtils.isNotBlank(methodName)){
try {
......@@ -43,8 +45,8 @@ public class StoreSelectBackImpl implements ScreenBackStrategy {
Method method = this.getClass().getMethod(methodName, Class.forName(compute.getClass().getCanonicalName()),
Class.forName(value.getClass().getCanonicalName()),Class.forName(enterpriseId.getClass().getCanonicalName()));
try {
String message = (String)method.invoke(this, compute, value, enterpriseId);
return message;
Object invoke = method.invoke(this, compute, value, enterpriseId);
return (ScreenBack) invoke;
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
......@@ -61,90 +63,125 @@ public class StoreSelectBackImpl implements ScreenBackStrategy {
}
//单选
public String storeStatusBack(String compute, String value, Integer enterpriseId){
public ScreenBack storeStatusBack(String compute, String value, Integer enterpriseId){
if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.STATUS.getDesc()).append(" ");
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" ");
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(StoreESFieldsEnum.STATUS.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
List<String> view = new ArrayList<>();
for(StoreStatusEnum storeStatusEnum : StoreStatusEnum.values()){
if(storeStatusEnum.getCode() == Integer.valueOf(value)){
stringBuilder.append("【").append(storeStatusEnum.getMessage()).append("】 ");
view.add(storeStatusEnum.getMessage());
}
}
return stringBuilder.toString();
screenBack.setView(view);
return screenBack;
}
return null;
}
//单选
public String storeCompleteBack(String compute, String value, Integer enterpriseId){
public ScreenBack storeCompleteBack(String compute, String value, Integer enterpriseId){
if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.COMPLETESTATUS.getDesc()).append(" ");
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" ");
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(StoreESFieldsEnum.COMPLETESTATUS.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
List<String> view = new ArrayList<>();
for(StoreCompleteEnum storeStatusEnum : StoreCompleteEnum.values()){
if(storeStatusEnum.getCode() == Integer.valueOf(value)){
stringBuilder.append("【").append(storeStatusEnum.getMessage()).append("】 ");
view.add(storeStatusEnum.getMessage());
}
}
return stringBuilder.toString();
screenBack.setView(view);
return screenBack;
}
return null;
}
//多选
public String storeCreateTypeBack(String compute, String value, Integer enterpriseId){
public ScreenBack storeCreateTypeBack(String compute, String value, Integer enterpriseId){
if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.CREATETYPE.getDesc()).append(" ");
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" ");
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(StoreESFieldsEnum.CREATETYPE.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index = 0;
String[] valueArr = value.split(" ");
for(String v : valueArr){
for(CreateTypeEnum createTypeEnum : CreateTypeEnum.values()){
if(createTypeEnum.getCode() == Integer.valueOf(v)){
stringBuilder.append("【").append(createTypeEnum.getMessage()).append("】 ");
if(index<5){
view.add(createTypeEnum.getMessage());
} else {
hideView.add(createTypeEnum.getMessage());
}
}
}
}
return stringBuilder.toString();
screenBack.setView(view);
screenBack.setHideView(hideView);
return screenBack;
}
return null;
}
//多选
public String storeTypeBack(String compute, String value, Integer enterpriseId){
public ScreenBack storeTypeBack(String compute, String value, Integer enterpriseId){
if(StringUtils.isNotBlank(value)){
String[] valueArr = value.split(" ");
ServiceResponse<List<StoreDictDTO>> serviceResponse = this.storeDictApiService.listStoreType(enterpriseId);
if(serviceResponse.isSuccess()){
List<StoreDictDTO> list = serviceResponse.getResult();
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.STORETYPE.getDesc());
stringBuilder.append(" ").append(ComputeBackUtil.getComputeBack(compute));
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(StoreESFieldsEnum.STORETYPE.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
int index = 0;
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
for(StoreDictDTO dictDTO : list){
for(String v : valueArr){
if(dictDTO.getValue().equals(v)){
stringBuilder.append(" 【");
stringBuilder.append(dictDTO.getKey()).append("】 ");
if(index < 5){
view.add(dictDTO.getKey());
} else {
hideView.add(dictDTO.getKey());
}
index++;
}
}
}
return stringBuilder.toString();
screenBack.setView(view);
screenBack.setHideView(hideView);
return screenBack;
}
}
return null;
}
//多选
public String erpStatusBack(String compute, String value, Integer enterpriseId){
public ScreenBack erpStatusBack(String compute, String value, Integer enterpriseId){
if(StringUtils.isNotBlank(value)){
String[] valueArr = value.split(" ");
ServiceResponse<List<StoreDictDTO>> serviceResponse = this.storeDictApiService.listStoreStatus(enterpriseId);
if(serviceResponse.isSuccess()){
List<StoreDictDTO> list = serviceResponse.getResult();
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.ERPSTATUS.getDesc());
stringBuilder.append(" ").append(ComputeBackUtil.getComputeBack(compute));
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(StoreESFieldsEnum.ERPSTATUS.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
int index = 0;
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
for(StoreDictDTO dictDTO : list){
for(String v : valueArr){
if(dictDTO.getValue().equals(v)){
stringBuilder.append(" 【");
stringBuilder.append(dictDTO.getKey()).append("】 ");
if(index < 5){
view.add(dictDTO.getKey());
} else {
hideView.add(dictDTO.getKey());
}
}
}
}
return stringBuilder.toString();
screenBack.setView(view);
screenBack.setHideView(hideView);
return screenBack;
}
}
return null;
......
......@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreGroupDTO;
import com.gic.store.dto.StoreTagDTO;
......@@ -19,18 +20,29 @@ public class StoreTagBackImpl implements ScreenBackStrategy {
@Autowired
private StoreTagApiService storeTagApiService;
@Override
public String screenBack(String compute, String value, String key, Integer enterpriseId) {
public ScreenBack screenBack(String compute, String value, String key, Integer enterpriseId) {
if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.STORETAG.getDesc()).append(" ");
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" ");
ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(StoreESFieldsEnum.STORETAG.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
String[] valueArr = value.split(" ");
int index = 0;
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
for(String s : valueArr){
ServiceResponse<StoreTagDTO> response = this.storeTagApiService.getByStoreTagId(Integer.valueOf(s));
if(response.isSuccess() && response.getResult()!= null){
stringBuilder.append("【").append(response.getResult().getStoreTagName()).append("】").append(" ");
if(index < 0){
view.add(response.getResult().getStoreTagName());
} else {
hideView.add(response.getResult().getStoreTagName());
}
index++;
}
}
return stringBuilder.toString();
screenBack.setView(view);
screenBack.setHideView(hideView);
return screenBack;
}
return null;
}
......
package com.gic.plug.web.vo;
import java.io.Serializable;
import java.util.List;
public class ScreenBack implements Serializable {
private String title;
private String compute;
private List<String> view;
private List<String> hideView;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getCompute() {
return compute;
}
public void setCompute(String compute) {
this.compute = compute;
}
public List<String> getView() {
return view;
}
public void setView(List<String> view) {
this.view = view;
}
public List<String> getHideView() {
return hideView;
}
public void setHideView(List<String> hideView) {
this.hideView = hideView;
}
}
package com.gic.plug.web.vo;
import java.util.List;
public class ScreenBackVO {
private String type = "and";
private List<ScreenBack> data;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public List<ScreenBack> getData() {
return data;
}
public void setData(List<ScreenBack> data) {
this.data = data;
}
}
package com.gic.plug.web.vo;
import java.util.List;
public class StoreResourceVO {
private Integer authMode;
private String searchJson;
private String sceenBack;
private List<ScreenBackVO> sceenBack;
public Integer getAuthMode() {
return authMode;
......@@ -21,11 +21,11 @@ public class StoreResourceVO {
this.searchJson = searchJson;
}
public String getSceenBack() {
public List<ScreenBackVO> getSceenBack() {
return sceenBack;
}
public void setSceenBack(String sceenBack) {
public void setSceenBack(List<ScreenBackVO> sceenBack) {
this.sceenBack = sceenBack;
}
}
package com.gic.plug.web.vo;
import java.io.Serializable;
import java.util.List;
/**
* tab_store_widget
*/
......@@ -24,7 +24,7 @@ public class StoreWidgetVO implements Serializable {
private String authSearchParam;
private Integer authMode = 1;
private String screenBack;
private List<ScreenBackVO> screenBack;
public Integer getStoreWidgetId() {
return storeWidgetId;
......@@ -66,11 +66,11 @@ public class StoreWidgetVO implements Serializable {
this.authMode = authMode;
}
public String getScreenBack() {
public List<ScreenBackVO> getScreenBack() {
return screenBack;
}
public void setScreenBack(String screenBack) {
public void setScreenBack(List<ScreenBackVO> screenBack) {
this.screenBack = screenBack;
}
}
\ No newline at end of file
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