Commit c9014448 by 陶光胜

Merge branch 'developer' into 'master'

Developer

See merge request !5
parents 56ea917f 72d40392
package com.gic.plug.web.controller; 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.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.constants.Constants; import com.gic.enterprise.constants.Constants;
import com.gic.enterprise.utils.UserDetailUtils; import com.gic.enterprise.utils.UserDetailUtils;
import com.gic.goods.api.util.Constant; 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.EsScreeningChainDetailDTO;
import com.gic.widget.screening.api.dto.EsScreeningEnterpriseCategorySceneInfoDTO; import com.gic.widget.screening.api.dto.EsScreeningEnterpriseCategorySceneInfoDTO;
import com.gic.widget.screening.api.dto.EsScreeningTemplateDTO; import com.gic.widget.screening.api.dto.EsScreeningTemplateDTO;
import com.gic.widget.screening.api.service.EsScreeningInitService; import com.gic.widget.screening.api.service.EsScreeningInitService;
import com.gic.widget.screening.api.service.EsScreeningTemplateService; 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 { ...@@ -80,9 +65,11 @@ public class ScreeningController {
if (Constants.STORE_SCENECODE.equals(sceneCode)) { if (Constants.STORE_SCENECODE.equals(sceneCode)) {
enterpriseId = Constants.INDEX_ENTERPRISEID; 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 //TODO
enterpriseId = "goods-test-"+enterpriseId; if ("1129".equals(enterpriseId)) {
enterpriseId = "goods-test-1129";
}
} }
List<EsScreeningEnterpriseCategorySceneInfoDTO> list = this.esScreeningInitService List<EsScreeningEnterpriseCategorySceneInfoDTO> list = this.esScreeningInitService
.queryEsScreeningByEnterpriseAndScene(enterpriseId, sceneCode); .queryEsScreeningByEnterpriseAndScene(enterpriseId, sceneCode);
......
...@@ -16,10 +16,7 @@ import com.gic.plug.web.qo.StoreWidgetCountQO; ...@@ -16,10 +16,7 @@ import com.gic.plug.web.qo.StoreWidgetCountQO;
import com.gic.plug.web.qo.StoreWidgetQO; import com.gic.plug.web.qo.StoreWidgetQO;
import com.gic.plug.web.strategy.init.StrategyInit; import com.gic.plug.web.strategy.init.StrategyInit;
import com.gic.plug.web.utils.StoreRegionAuthUtil; import com.gic.plug.web.utils.StoreRegionAuthUtil;
import com.gic.plug.web.vo.StoreRegionVO; import com.gic.plug.web.vo.*;
import com.gic.plug.web.vo.StoreResourceVO;
import com.gic.plug.web.vo.StoreVO;
import com.gic.plug.web.vo.StoreWidgetVO;
import com.gic.search.business.api.constant.enums.OperateEnum; import com.gic.search.business.api.constant.enums.OperateEnum;
import com.gic.store.constant.StoreESFieldsEnum; import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreInfoDTO; import com.gic.store.dto.StoreInfoDTO;
...@@ -168,39 +165,33 @@ public class StoreController { ...@@ -168,39 +165,33 @@ public class StoreController {
return RestResponse.success(new StoreResourceVO()); return RestResponse.success(new StoreResourceVO());
} }
private String getScreenBack(String param) throws ClassNotFoundException { private List<ScreenBackVO> getScreenBack(String param) throws ClassNotFoundException {
if(StringUtils.isBlank(param)){ if(StringUtils.isBlank(param)){
return ""; return null;
} }
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId(); Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
JSONArray array = JSON.parseArray(param); JSONArray array = JSON.parseArray(param);
StringBuilder backMessage = new StringBuilder(); List<ScreenBackVO> result = new ArrayList<>();
for(int i=0; i< array.size(); i++){ for(int i=0; i< array.size(); i++){
JSONObject jsonObject = array.getJSONObject(i); JSONObject jsonObject = array.getJSONObject(i);
ScreenBackVO screenBackVO = new ScreenBackVO();
List<ScreenBack> data = new ArrayList<>();
String type = jsonObject.getString("type"); String type = jsonObject.getString("type");
if(StringUtils.isNotBlank(type)){ if(StringUtils.isNotBlank(type)){
if(OperateEnum.OPERATE_AND_NOT.getValue().equals(type)){ screenBackVO.setType(type);
backMessage.append(OperateEnum.OPERATE_AND_NOT.getDescribe()).append(" ");
}
if(OperateEnum.OPERATE_OR.getValue().equals(type)){
backMessage.append(OperateEnum.OPERATE_OR.getDescribe()).append(" ");
}
} }
JSONArray list = jsonObject.getJSONArray("list"); JSONArray list = jsonObject.getJSONArray("list");
StringBuilder stringBuilder = new StringBuilder();
for(int j = 0; j<list.size(); j++){ for(int j = 0; j<list.size(); j++){
JSONObject json = list.getJSONObject(j); JSONObject json = list.getJSONObject(j);
String key = json.getJSONObject("data").getString("key"); String key = json.getJSONObject("data").getString("key");
String value = json.getJSONObject("data").getString("value"); String value = json.getJSONObject("data").getString("value");
String compute = json.getJSONObject("data").getString("compute"); String compute = json.getJSONObject("data").getString("compute");
String message = this.strategyInit.getStrategyMap().get(key).screenBack(compute, value, key, enterpriseId); ScreenBack screenBack = this.strategyInit.getStrategyMap().get(key).screenBack(compute, value, key, enterpriseId);
stringBuilder.append(message); data.add(screenBack);
if(j < list.size()-1){
stringBuilder.append("并且");
}
} }
backMessage.append(stringBuilder); screenBackVO.setData(data);
result.add(screenBackVO);
} }
return backMessage.toString(); return result;
} }
} }
...@@ -3,22 +3,26 @@ package com.gic.plug.web.controller; ...@@ -3,22 +3,26 @@ package com.gic.plug.web.controller;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.gic.commons.webapi.reponse.RestResponse; import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.ano.IgnoreLogin; 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.QQCloudPicUtils;
import com.gic.thirdparty.pic.UploadResult; import com.gic.thirdparty.pic.UploadResult;
import org.apache.log4j.LogManager; import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger; 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.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
@RestController @RestController
public class UploadImgController { public class UploadImgController {
private Logger logger = LogManager.getLogger(UploadImgController.class); private static Logger logger = LogManager.getLogger(UploadImgController.class);
@RequestMapping("upload-images") @RequestMapping("upload-images")
@IgnoreLogin @IgnoreLogin
...@@ -43,4 +47,135 @@ public class UploadImgController { ...@@ -43,4 +47,135 @@ public class UploadImgController {
} }
return RestResponse.success(picList); 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; ...@@ -24,6 +24,7 @@ import com.gic.widget.screening.api.service.EsScreeningSearchService;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; 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.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -32,10 +33,8 @@ import org.springframework.web.bind.annotation.RequestParam; ...@@ -32,10 +33,8 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.*;
import java.util.Date; import java.util.stream.Collectors;
import java.util.List;
import java.util.Map;
/** /**
* 商城装修选择器 * 商城装修选择器
...@@ -91,6 +90,7 @@ public class AppletConfigGoodsController extends BaseGoodsController { ...@@ -91,6 +90,7 @@ public class AppletConfigGoodsController extends BaseGoodsController {
/** /**
* 商城组对外提供的组件 * 商城组对外提供的组件
*
* @param currentPage * @param currentPage
* @param pageSize * @param pageSize
* @param appConfigId * @param appConfigId
...@@ -157,6 +157,7 @@ public class AppletConfigGoodsController extends BaseGoodsController { ...@@ -157,6 +157,7 @@ public class AppletConfigGoodsController extends BaseGoodsController {
/** /**
* 商城组对内的渠道商品组件 * 商城组对内的渠道商品组件
*
* @param currentPage * @param currentPage
* @param pageSize * @param pageSize
* @param search * @param search
...@@ -167,6 +168,9 @@ public class AppletConfigGoodsController extends BaseGoodsController { ...@@ -167,6 +168,9 @@ public class AppletConfigGoodsController extends BaseGoodsController {
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, String search, @RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize, String search,
Double startPrice, Double endPrice, Integer startStock, Integer endStock, String channelCode) { Double startPrice, Double endPrice, Integer startStock, Integer endStock, String channelCode) {
JSONObject queryObject = null; JSONObject queryObject = null;
if (StringUtils.isBlank(channelCode)) {
channelCode = Constant.CHANNEL_CODE_MALL;
}
if (startPrice != null) { if (startPrice != null) {
queryObject = QueryConditionAssemblyUtil.createSimpleQueryNode("goodsPrice", queryObject = QueryConditionAssemblyUtil.createSimpleQueryNode("goodsPrice",
OperateEnum.OPERATE_GTE, startPrice); OperateEnum.OPERATE_GTE, startPrice);
...@@ -199,13 +203,32 @@ public class AppletConfigGoodsController extends BaseGoodsController { ...@@ -199,13 +203,32 @@ public class AppletConfigGoodsController extends BaseGoodsController {
} }
} }
ServiceResponse<ESResponseQueryBatchDTO> serviceResponse = searchGoods(currentPage, pageSize, null, search, ServiceResponse<ESResponseQueryBatchDTO> serviceResponse = searchGoods(currentPage, pageSize, null, search,
Constant.CHANNEL_CODE_MALL, queryObject); channelCode, queryObject);
if (serviceResponse.isSuccess()) { if (serviceResponse.isSuccess()) {
return RestResponse.success(serviceResponse.getResult()); return RestResponse.success(serviceResponse.getResult());
} }
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage()); 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, 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(); DynamicSearchDTO searchDTO = new DynamicSearchDTO();
...@@ -224,7 +247,10 @@ public class AppletConfigGoodsController extends BaseGoodsController { ...@@ -224,7 +247,10 @@ public class AppletConfigGoodsController extends BaseGoodsController {
searchDTO.setBegin((currentPage - 1) * pageSize); searchDTO.setBegin((currentPage - 1) * pageSize);
searchDTO.setRecordNumber(pageSize); searchDTO.setRecordNumber(pageSize);
JSONObject jsonObject = null; 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)) { if (Constant.CHANNEL_CODE_MALL.equals(channelCode)) {
status = QueryConditionAssemblyUtil.addQueryNodeForSiblin(status, QueryConditionAssemblyUtil.createSimpleQueryNode("upShelfTime", OperateEnum.OPERATE_LTE, new Date().getTime()), OperateEnum.OPERATE_AND); 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 { ...@@ -258,4 +284,62 @@ public class AppletConfigGoodsController extends BaseGoodsController {
return serviceResponse; 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; package com.gic.plug.web.strategy;
import com.gic.plug.web.vo.ScreenBack;
public interface ScreenBackStrategy { 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; ...@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy; import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil; import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.StoreESFieldsEnum; import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.CityDTO; import com.gic.store.dto.CityDTO;
import com.gic.store.dto.ProvinceDTO; import com.gic.store.dto.ProvinceDTO;
...@@ -12,6 +13,7 @@ import org.apache.commons.lang.StringUtils; ...@@ -12,6 +13,7 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Component @Component
...@@ -19,30 +21,41 @@ public class StoreAreaBackImpl implements ScreenBackStrategy { ...@@ -19,30 +21,41 @@ public class StoreAreaBackImpl implements ScreenBackStrategy {
@Autowired @Autowired
private ProvincesApiService provincesApiService; private ProvincesApiService provincesApiService;
@Override @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)){ if(StringUtils.isNotBlank(value)){
ServiceResponse<List<CityDTO>> cityResponse = this.provincesApiService.selectAllCity(); ServiceResponse<List<CityDTO>> cityResponse = this.provincesApiService.selectAllCity();
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.AREAIDS.getDesc()).append(" "); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" "); screenBack.setTitle(StoreESFieldsEnum.AREAIDS.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
if(cityResponse.isSuccess()){ if(cityResponse.isSuccess()){
List<CityDTO> cityDTOList = cityResponse.getResult(); List<CityDTO> cityDTOList = cityResponse.getResult();
if(CollectionUtils.isNotEmpty(cityDTOList)){ if(CollectionUtils.isNotEmpty(cityDTOList)){
String[] valueArr = value.split(" "); String[] valueArr = value.split(" ");
for(CityDTO cityDTO : cityDTOList){ List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index = 0;
for(String s : valueArr){ for(String s : valueArr){
for(CityDTO cityDTO : cityDTOList){
if(s.equals(cityDTO.getCityId())){ if(s.equals(cityDTO.getCityId())){
String provinceName = ""; String provinceName = "";
ServiceResponse<ProvinceDTO> provinceById = this.provincesApiService.getProvinceById(cityDTO.getProvinceId()); ServiceResponse<ProvinceDTO> provinceById = this.provincesApiService.getProvinceById(cityDTO.getProvinceId());
if(provinceById.isSuccess()){ if(provinceById.isSuccess()){
provinceName = provinceById.getResult().getProvinceName(); 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; return null;
} }
......
...@@ -5,6 +5,7 @@ import com.gic.api.base.commons.Page; ...@@ -5,6 +5,7 @@ import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy; import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil; import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.StoreESFieldsEnum; import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreDTO; import com.gic.store.dto.StoreDTO;
import com.gic.store.dto.StoreSearchDTO; import com.gic.store.dto.StoreSearchDTO;
...@@ -14,6 +15,7 @@ import org.apache.commons.lang.StringUtils; ...@@ -14,6 +15,7 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Component @Component
...@@ -21,10 +23,11 @@ public class StoreBackImpl implements ScreenBackStrategy { ...@@ -21,10 +23,11 @@ public class StoreBackImpl implements ScreenBackStrategy {
@Autowired @Autowired
private StoreApiService storeApiService; private StoreApiService storeApiService;
@Override @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)){ if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.STORENAME.getDesc()).append(" "); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" "); screenBack.setTitle(StoreESFieldsEnum.STORENAME.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
StoreSearchDTO storeSearchDTO = new StoreSearchDTO(); StoreSearchDTO storeSearchDTO = new StoreSearchDTO();
storeSearchDTO.setEnterpriseId(enterpriseId); storeSearchDTO.setEnterpriseId(enterpriseId);
storeSearchDTO.setStoreIds(value); storeSearchDTO.setStoreIds(value);
...@@ -32,13 +35,22 @@ public class StoreBackImpl implements ScreenBackStrategy { ...@@ -32,13 +35,22 @@ public class StoreBackImpl implements ScreenBackStrategy {
if(response.isSuccess()){ if(response.isSuccess()){
List<StoreDTO> list = ((Page)response.getResult()).getResult(); List<StoreDTO> list = ((Page)response.getResult()).getResult();
if(CollectionUtils.isNotEmpty(list)){ if(CollectionUtils.isNotEmpty(list)){
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index = 0;
for (StoreDTO storeDTO : list) { for (StoreDTO storeDTO : list) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(storeDTO); if(index < 5){
stringBuilder.append("【").append(jsonObject.getString(StoreESFieldsEnum.STORENAME.getField())).append("】").append(" "); view.add(storeDTO.getStoreName());
}else {
hideView.add(storeDTO.getStoreName());
} }
index++;
} }
screenBack.setView(view);
screenBack.setHideView(hideView);
} }
return stringBuilder.toString(); }
return screenBack;
} }
return null; return null;
} }
......
...@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl; ...@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy; import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil; import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.StoreESFieldsEnum; import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreBrandDTO; import com.gic.store.dto.StoreBrandDTO;
import com.gic.store.service.StoreBrandApiService; import com.gic.store.service.StoreBrandApiService;
...@@ -18,10 +19,11 @@ public class StoreBrandBackImpl implements ScreenBackStrategy { ...@@ -18,10 +19,11 @@ public class StoreBrandBackImpl implements ScreenBackStrategy {
@Autowired @Autowired
private StoreBrandApiService storeBrandApiService; private StoreBrandApiService storeBrandApiService;
@Override @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)){ if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.STOREBRANDIDLIST.getDesc()).append(" "); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" "); screenBack.setTitle(StoreESFieldsEnum.STOREBRANDIDLIST.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
List<Integer> storeBrandIdList = new ArrayList<>(); List<Integer> storeBrandIdList = new ArrayList<>();
String[] valueArr = value.split(" "); String[] valueArr = value.split(" ");
for(String s : valueArr){ for(String s : valueArr){
...@@ -30,11 +32,21 @@ public class StoreBrandBackImpl implements ScreenBackStrategy { ...@@ -30,11 +32,21 @@ public class StoreBrandBackImpl implements ScreenBackStrategy {
ServiceResponse<List<StoreBrandDTO>> listServiceResponse = this.storeBrandApiService.listStoreBrandByIds(storeBrandIdList); ServiceResponse<List<StoreBrandDTO>> listServiceResponse = this.storeBrandApiService.listStoreBrandByIds(storeBrandIdList);
if(listServiceResponse.isSuccess()){ if(listServiceResponse.isSuccess()){
List<StoreBrandDTO> list = listServiceResponse.getResult(); List<StoreBrandDTO> list = listServiceResponse.getResult();
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index = 0;
for(StoreBrandDTO storeBrandDTO : list){ for(StoreBrandDTO storeBrandDTO : list){
stringBuilder.append("【").append(storeBrandDTO.getStoreBrandName()).append("】").append(" "); if(index <5){
view.add(storeBrandDTO.getStoreBrandName());
}else {
hideView.add(storeBrandDTO.getStoreBrandName());
} }
index++;
} }
return stringBuilder.toString(); screenBack.setView(view);
screenBack.setHideView(hideView);
}
return screenBack;
} }
return null; return null;
} }
......
...@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy; import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil; import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import com.gic.store.constant.StoreFieldDateEnum; import com.gic.store.constant.StoreFieldDateEnum;
import com.gic.store.constant.StoreFieldTypeEnum; import com.gic.store.constant.StoreFieldTypeEnum;
...@@ -46,7 +47,7 @@ public class StoreCustomBackImpl implements ScreenBackStrategy { ...@@ -46,7 +47,7 @@ public class StoreCustomBackImpl implements ScreenBackStrategy {
} }
@Override @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)) { if (StringUtils.isNotBlank(value)) {
Object cache = RedisUtil.getCache(StoreRedisKeyUtils.getStoreFieldKeyC(enterpriseId, key)); Object cache = RedisUtil.getCache(StoreRedisKeyUtils.getStoreFieldKeyC(enterpriseId, key));
if (cache != null) { if (cache != null) {
...@@ -67,9 +68,10 @@ public class StoreCustomBackImpl implements ScreenBackStrategy { ...@@ -67,9 +68,10 @@ public class StoreCustomBackImpl implements ScreenBackStrategy {
return null; return null;
} }
private String dateBack(String compute, String value, StoreFieldDTO storeFieldDTO) { private ScreenBack dateBack(String compute, String value, StoreFieldDTO storeFieldDTO) {
StringBuilder stringBuilder = new StringBuilder(storeFieldDTO.getStoreFieldName()).append(" "); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" "); screenBack.setTitle(storeFieldDTO.getStoreFieldName());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
JSONObject jsonObject = JSON.parseObject(storeFieldDTO.getStoreFieldDetail()); JSONObject jsonObject = JSON.parseObject(storeFieldDTO.getStoreFieldDetail());
int dateType = jsonObject.getIntValue("dateType"); int dateType = jsonObject.getIntValue("dateType");
String methodName = this.methodMap.get(dateType); String methodName = this.methodMap.get(dateType);
...@@ -79,7 +81,9 @@ public class StoreCustomBackImpl implements ScreenBackStrategy { ...@@ -79,7 +81,9 @@ public class StoreCustomBackImpl implements ScreenBackStrategy {
Method method = this.getClass().getMethod(methodName, Class.forName(value.getClass().getCanonicalName())); Method method = this.getClass().getMethod(methodName, Class.forName(value.getClass().getCanonicalName()));
try { try {
String message = (String) method.invoke(this, value); 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) { } catch (IllegalAccessException e) {
e.printStackTrace(); e.printStackTrace();
} catch (InvocationTargetException e) { } catch (InvocationTargetException e) {
...@@ -95,9 +99,10 @@ public class StoreCustomBackImpl implements ScreenBackStrategy { ...@@ -95,9 +99,10 @@ public class StoreCustomBackImpl implements ScreenBackStrategy {
return null; return null;
} }
private String selectBack(String compute, String value, Integer enterpriseId, StoreFieldDTO storeFieldDTO) { private ScreenBack selectBack(String compute, String value, Integer enterpriseId, StoreFieldDTO storeFieldDTO) {
StringBuilder stringBuilder = new StringBuilder(storeFieldDTO.getStoreFieldName()).append(" "); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" "); screenBack.setTitle(storeFieldDTO.getStoreFieldName());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
List<Integer> list = new ArrayList<>(); List<Integer> list = new ArrayList<>();
String[] valueArr = value.split(" "); String[] valueArr = value.split(" ");
for (String s : valueArr) { for (String s : valueArr) {
...@@ -106,26 +111,40 @@ public class StoreCustomBackImpl implements ScreenBackStrategy { ...@@ -106,26 +111,40 @@ public class StoreCustomBackImpl implements ScreenBackStrategy {
ServiceResponse<List<StoreFieldSelectDTO>> listServiceResponse = this.storeFieldSelectApiService.listStoreFieldSelectByIds(enterpriseId, list); ServiceResponse<List<StoreFieldSelectDTO>> listServiceResponse = this.storeFieldSelectApiService.listStoreFieldSelectByIds(enterpriseId, list);
if (listServiceResponse.isSuccess()) { if (listServiceResponse.isSuccess()) {
List<StoreFieldSelectDTO> selectDTOS = listServiceResponse.getResult(); List<StoreFieldSelectDTO> selectDTOS = listServiceResponse.getResult();
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index = 0;
if (CollectionUtils.isNotEmpty(selectDTOS)) { if (CollectionUtils.isNotEmpty(selectDTOS)) {
for (StoreFieldSelectDTO dto : selectDTOS) { for (StoreFieldSelectDTO dto : selectDTOS) {
stringBuilder.append("【").append(dto.getStoreFieldSelectName()).append("】").append(" "); if(index < 5){
view.add(dto.getStoreFieldSelectName());
} else {
hideView.add(dto.getStoreFieldSelectName());
} }
} }
} }
return stringBuilder.toString(); screenBack.setView(view);
screenBack.setHideView(hideView);
}
return screenBack;
} }
private String numberBack(String compute, String value, StoreFieldDTO storeFieldDTO){ private ScreenBack numberBack(String compute, String value, StoreFieldDTO storeFieldDTO){
StringBuilder stringBuilder = new StringBuilder(storeFieldDTO.getStoreFieldName()).append(" "); StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" "); ScreenBack screenBack = new ScreenBack();
screenBack.setTitle(storeFieldDTO.getStoreFieldName());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
List<String> view = new ArrayList<>();
if(StringUtils.isNotBlank(value)){ if(StringUtils.isNotBlank(value)){
String[] valueArr = value.split(" "); String[] valueArr = value.split(" ");
stringBuilder.append(valueArr[0]); stringBuilder.append(valueArr[0]);
if(valueArr.length > 1){ if(valueArr.length > 1){
stringBuilder.append(" 至 ").append(valueArr[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 { public String yyyyMMddHHmmssBack(String value) throws ParseException {
......
...@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl; ...@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy; import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil; import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.StoreESFieldsEnum; import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreGroupDTO; import com.gic.store.dto.StoreGroupDTO;
import com.gic.store.service.StoreGroupApiService; import com.gic.store.service.StoreGroupApiService;
...@@ -18,10 +19,11 @@ public class StoreGroupBackImpl implements ScreenBackStrategy { ...@@ -18,10 +19,11 @@ public class StoreGroupBackImpl implements ScreenBackStrategy {
@Autowired @Autowired
private StoreGroupApiService storeGroupApiService; private StoreGroupApiService storeGroupApiService;
@Override @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)){ if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.STOREGROUPIDLIST.getDesc()).append(" "); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" "); screenBack.setTitle(StoreESFieldsEnum.STOREGROUPIDLIST.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
String[] valueArr = value.split(" "); String[] valueArr = value.split(" ");
List<Integer> storeGroupIdList = new ArrayList<>(); List<Integer> storeGroupIdList = new ArrayList<>();
for(String s : valueArr){ for(String s : valueArr){
...@@ -30,12 +32,22 @@ public class StoreGroupBackImpl implements ScreenBackStrategy { ...@@ -30,12 +32,22 @@ public class StoreGroupBackImpl implements ScreenBackStrategy {
ServiceResponse<List<StoreGroupDTO>> listServiceResponse = this.storeGroupApiService.listStoreGroupByIds(storeGroupIdList, enterpriseId); ServiceResponse<List<StoreGroupDTO>> listServiceResponse = this.storeGroupApiService.listStoreGroupByIds(storeGroupIdList, enterpriseId);
if(listServiceResponse.isSuccess()){ if(listServiceResponse.isSuccess()){
if(listServiceResponse.getResult() != null){ if(listServiceResponse.getResult() != null){
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index=0;
for(StoreGroupDTO storeGroupDTO : listServiceResponse.getResult()){ 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; return null;
} }
......
...@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl; ...@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy; import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil; import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.StoreESFieldsEnum; import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreRegionDTO; import com.gic.store.dto.StoreRegionDTO;
import com.gic.store.service.StoreRegionApiService; import com.gic.store.service.StoreRegionApiService;
...@@ -18,10 +19,11 @@ public class StoreRegionBackImpl implements ScreenBackStrategy { ...@@ -18,10 +19,11 @@ public class StoreRegionBackImpl implements ScreenBackStrategy {
@Autowired @Autowired
private StoreRegionApiService storeRegionApiService; private StoreRegionApiService storeRegionApiService;
@Override @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)){ if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.REGIONID.getDesc()).append(" "); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" "); screenBack.setTitle(StoreESFieldsEnum.REGIONID.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
String[] valueArr = value.split(" "); String[] valueArr = value.split(" ");
List<Integer> storeRegionIdList = new ArrayList<>(); List<Integer> storeRegionIdList = new ArrayList<>();
for(String s : valueArr){ for(String s : valueArr){
...@@ -30,12 +32,22 @@ public class StoreRegionBackImpl implements ScreenBackStrategy { ...@@ -30,12 +32,22 @@ public class StoreRegionBackImpl implements ScreenBackStrategy {
ServiceResponse<List<StoreRegionDTO>> listServiceResponse = this.storeRegionApiService.listStoreRegionByIds(enterpriseId, storeRegionIdList); ServiceResponse<List<StoreRegionDTO>> listServiceResponse = this.storeRegionApiService.listStoreRegionByIds(enterpriseId, storeRegionIdList);
if(listServiceResponse.isSuccess()){ if(listServiceResponse.isSuccess()){
if(listServiceResponse.getResult() != null){ if(listServiceResponse.getResult() != null){
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
int index = 0;
for(StoreRegionDTO storeRegionDTO : listServiceResponse.getResult()){ 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; return null;
} }
......
...@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl; ...@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy; import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil; 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.CreateTypeEnum;
import com.gic.store.constant.StoreCompleteEnum; import com.gic.store.constant.StoreCompleteEnum;
import com.gic.store.constant.StoreESFieldsEnum; import com.gic.store.constant.StoreESFieldsEnum;
...@@ -16,6 +17,7 @@ import org.springframework.stereotype.Component; ...@@ -16,6 +17,7 @@ import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -35,7 +37,7 @@ public class StoreSelectBackImpl implements ScreenBackStrategy { ...@@ -35,7 +37,7 @@ public class StoreSelectBackImpl implements ScreenBackStrategy {
methodMap.put(StoreESFieldsEnum.ERPSTATUS.getField(), "erpStatusBack"); methodMap.put(StoreESFieldsEnum.ERPSTATUS.getField(), "erpStatusBack");
} }
@Override @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); String methodName = methodMap.get(key);
if(StringUtils.isNotBlank(methodName)){ if(StringUtils.isNotBlank(methodName)){
try { try {
...@@ -43,8 +45,8 @@ public class StoreSelectBackImpl implements ScreenBackStrategy { ...@@ -43,8 +45,8 @@ public class StoreSelectBackImpl implements ScreenBackStrategy {
Method method = this.getClass().getMethod(methodName, Class.forName(compute.getClass().getCanonicalName()), Method method = this.getClass().getMethod(methodName, Class.forName(compute.getClass().getCanonicalName()),
Class.forName(value.getClass().getCanonicalName()),Class.forName(enterpriseId.getClass().getCanonicalName())); Class.forName(value.getClass().getCanonicalName()),Class.forName(enterpriseId.getClass().getCanonicalName()));
try { try {
String message = (String)method.invoke(this, compute, value, enterpriseId); Object invoke = method.invoke(this, compute, value, enterpriseId);
return message; return (ScreenBack) invoke;
} catch (IllegalAccessException e) { } catch (IllegalAccessException e) {
e.printStackTrace(); e.printStackTrace();
} catch (InvocationTargetException e) { } catch (InvocationTargetException e) {
...@@ -61,90 +63,125 @@ public class StoreSelectBackImpl implements ScreenBackStrategy { ...@@ -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)){ if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.STATUS.getDesc()).append(" "); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" "); screenBack.setTitle(StoreESFieldsEnum.STATUS.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
List<String> view = new ArrayList<>();
for(StoreStatusEnum storeStatusEnum : StoreStatusEnum.values()){ for(StoreStatusEnum storeStatusEnum : StoreStatusEnum.values()){
if(storeStatusEnum.getCode() == Integer.valueOf(value)){ 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; return null;
} }
//单选 //单选
public String storeCompleteBack(String compute, String value, Integer enterpriseId){ public ScreenBack storeCompleteBack(String compute, String value, Integer enterpriseId){
if(StringUtils.isNotBlank(value)){ if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.COMPLETESTATUS.getDesc()).append(" "); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" "); screenBack.setTitle(StoreESFieldsEnum.COMPLETESTATUS.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
List<String> view = new ArrayList<>();
for(StoreCompleteEnum storeStatusEnum : StoreCompleteEnum.values()){ for(StoreCompleteEnum storeStatusEnum : StoreCompleteEnum.values()){
if(storeStatusEnum.getCode() == Integer.valueOf(value)){ 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; return null;
} }
//多选 //多选
public String storeCreateTypeBack(String compute, String value, Integer enterpriseId){ public ScreenBack storeCreateTypeBack(String compute, String value, Integer enterpriseId){
if(StringUtils.isNotBlank(value)){ if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.CREATETYPE.getDesc()).append(" "); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" "); 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(" "); String[] valueArr = value.split(" ");
for(String v : valueArr){ for(String v : valueArr){
for(CreateTypeEnum createTypeEnum : CreateTypeEnum.values()){ for(CreateTypeEnum createTypeEnum : CreateTypeEnum.values()){
if(createTypeEnum.getCode() == Integer.valueOf(v)){ 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; return null;
} }
//多选 //多选
public String storeTypeBack(String compute, String value, Integer enterpriseId){ public ScreenBack storeTypeBack(String compute, String value, Integer enterpriseId){
if(StringUtils.isNotBlank(value)){ if(StringUtils.isNotBlank(value)){
String[] valueArr = value.split(" "); String[] valueArr = value.split(" ");
ServiceResponse<List<StoreDictDTO>> serviceResponse = this.storeDictApiService.listStoreType(enterpriseId); ServiceResponse<List<StoreDictDTO>> serviceResponse = this.storeDictApiService.listStoreType(enterpriseId);
if(serviceResponse.isSuccess()){ if(serviceResponse.isSuccess()){
List<StoreDictDTO> list = serviceResponse.getResult(); List<StoreDictDTO> list = serviceResponse.getResult();
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.STORETYPE.getDesc()); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(" ").append(ComputeBackUtil.getComputeBack(compute)); 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(StoreDictDTO dictDTO : list){
for(String v : valueArr){ for(String v : valueArr){
if(dictDTO.getValue().equals(v)){ if(dictDTO.getValue().equals(v)){
stringBuilder.append(" 【"); if(index < 5){
stringBuilder.append(dictDTO.getKey()).append("】 "); view.add(dictDTO.getKey());
} else {
hideView.add(dictDTO.getKey());
}
index++;
} }
} }
} }
return stringBuilder.toString(); screenBack.setView(view);
screenBack.setHideView(hideView);
return screenBack;
} }
} }
return null; return null;
} }
//多选 //多选
public String erpStatusBack(String compute, String value, Integer enterpriseId){ public ScreenBack erpStatusBack(String compute, String value, Integer enterpriseId){
if(StringUtils.isNotBlank(value)){ if(StringUtils.isNotBlank(value)){
String[] valueArr = value.split(" "); String[] valueArr = value.split(" ");
ServiceResponse<List<StoreDictDTO>> serviceResponse = this.storeDictApiService.listStoreStatus(enterpriseId); ServiceResponse<List<StoreDictDTO>> serviceResponse = this.storeDictApiService.listStoreStatus(enterpriseId);
if(serviceResponse.isSuccess()){ if(serviceResponse.isSuccess()){
List<StoreDictDTO> list = serviceResponse.getResult(); List<StoreDictDTO> list = serviceResponse.getResult();
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.ERPSTATUS.getDesc()); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(" ").append(ComputeBackUtil.getComputeBack(compute)); 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(StoreDictDTO dictDTO : list){
for(String v : valueArr){ for(String v : valueArr){
if(dictDTO.getValue().equals(v)){ if(dictDTO.getValue().equals(v)){
stringBuilder.append(" 【"); if(index < 5){
stringBuilder.append(dictDTO.getKey()).append("】 "); view.add(dictDTO.getKey());
} else {
hideView.add(dictDTO.getKey());
}
} }
} }
} }
return stringBuilder.toString(); screenBack.setView(view);
screenBack.setHideView(hideView);
return screenBack;
} }
} }
return null; return null;
......
...@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl; ...@@ -3,6 +3,7 @@ package com.gic.plug.web.strategy.impl;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.plug.web.strategy.ScreenBackStrategy; import com.gic.plug.web.strategy.ScreenBackStrategy;
import com.gic.plug.web.utils.ComputeBackUtil; import com.gic.plug.web.utils.ComputeBackUtil;
import com.gic.plug.web.vo.ScreenBack;
import com.gic.store.constant.StoreESFieldsEnum; import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreGroupDTO; import com.gic.store.dto.StoreGroupDTO;
import com.gic.store.dto.StoreTagDTO; import com.gic.store.dto.StoreTagDTO;
...@@ -19,18 +20,29 @@ public class StoreTagBackImpl implements ScreenBackStrategy { ...@@ -19,18 +20,29 @@ public class StoreTagBackImpl implements ScreenBackStrategy {
@Autowired @Autowired
private StoreTagApiService storeTagApiService; private StoreTagApiService storeTagApiService;
@Override @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)){ if(StringUtils.isNotBlank(value)){
StringBuilder stringBuilder = new StringBuilder(StoreESFieldsEnum.STORETAG.getDesc()).append(" "); ScreenBack screenBack = new ScreenBack();
stringBuilder.append(ComputeBackUtil.getComputeBack(compute)).append(" "); screenBack.setTitle(StoreESFieldsEnum.STORETAG.getDesc());
screenBack.setCompute(ComputeBackUtil.getComputeBack(compute));
String[] valueArr = value.split(" "); String[] valueArr = value.split(" ");
int index = 0;
List<String> view = new ArrayList<>();
List<String> hideView = new ArrayList<>();
for(String s : valueArr){ for(String s : valueArr){
ServiceResponse<StoreTagDTO> response = this.storeTagApiService.getByStoreTagId(Integer.valueOf(s)); ServiceResponse<StoreTagDTO> response = this.storeTagApiService.getByStoreTagId(Integer.valueOf(s));
if(response.isSuccess() && response.getResult()!= null){ 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; 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; package com.gic.plug.web.vo;
import java.util.List;
public class StoreResourceVO { public class StoreResourceVO {
private Integer authMode; private Integer authMode;
private String searchJson; private String searchJson;
private String sceenBack; private List<ScreenBackVO> sceenBack;
public Integer getAuthMode() { public Integer getAuthMode() {
return authMode; return authMode;
...@@ -21,11 +21,11 @@ public class StoreResourceVO { ...@@ -21,11 +21,11 @@ public class StoreResourceVO {
this.searchJson = searchJson; this.searchJson = searchJson;
} }
public String getSceenBack() { public List<ScreenBackVO> getSceenBack() {
return sceenBack; return sceenBack;
} }
public void setSceenBack(String sceenBack) { public void setSceenBack(List<ScreenBackVO> sceenBack) {
this.sceenBack = sceenBack; this.sceenBack = sceenBack;
} }
} }
package com.gic.plug.web.vo; package com.gic.plug.web.vo;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* tab_store_widget * tab_store_widget
*/ */
...@@ -24,7 +24,7 @@ public class StoreWidgetVO implements Serializable { ...@@ -24,7 +24,7 @@ public class StoreWidgetVO implements Serializable {
private String authSearchParam; private String authSearchParam;
private Integer authMode = 1; private Integer authMode = 1;
private String screenBack; private List<ScreenBackVO> screenBack;
public Integer getStoreWidgetId() { public Integer getStoreWidgetId() {
return storeWidgetId; return storeWidgetId;
...@@ -66,11 +66,11 @@ public class StoreWidgetVO implements Serializable { ...@@ -66,11 +66,11 @@ public class StoreWidgetVO implements Serializable {
this.authMode = authMode; this.authMode = authMode;
} }
public String getScreenBack() { public List<ScreenBackVO> getScreenBack() {
return screenBack; return screenBack;
} }
public void setScreenBack(String screenBack) { public void setScreenBack(List<ScreenBackVO> screenBack) {
this.screenBack = 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