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(".", "")));
}
}
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