Commit 6da72f22 authored by unset's avatar unset

Merge remote-tracking branch 'origin/dev' into dev

parents 92f6a5ed 3c81ac98
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-openfeign-core</artifactId> <artifactId>spring-cloud-openfeign-core</artifactId>
<version>2.0.0.M1</version> <version>2.0.2.RELEASE</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -9,16 +9,20 @@ public class RabbitConstant { ...@@ -9,16 +9,20 @@ public class RabbitConstant {
public static String TOPIC_EXC = "_topic_exchange"; public static String TOPIC_EXC = "_topic_exchange";
public static String DIRECT_EXC = "_direct_exchange"; public static String DIRECT_EXC = "_direct_exchange";
/**************************admin公用主题*********************************/
public static final String ADMIN = "admin"; public static final String ADMIN = "admin";
public static final String ADMIN_TOPIC = ADMIN+ TOPIC_EXC; public static final String ADMIN_TOPIC = ADMIN+ TOPIC_EXC;
public static final String ORDER = "order";
public static final String ORDER_TOPIC = ORDER+ TOPIC_EXC; /**************************数据中心公用主题*********************************/
public static final String INTEGRAL = "integral"; public static final String DATACENTER = "datacenter";
public static final String INTEGRAL_TOPIC = INTEGRAL + TOPIC_EXC; public static final String DATACENTER_TOPIC = DATACENTER+ TOPIC_EXC;
public static final String ACTIVITY_PRIZE="activity:prize";
public static final String ACTIVITY_PRIZE_TOPIC=ACTIVITY_PRIZE+TOPIC_EXC;
/**************************key*********************************/ /**************************key*********************************/
//数据中心
//入库
public static final String KEY_IMAGE_INPUT_SUCC = "image.input.succ";
//用户 //用户
public static final String KEY_APPUSER_REGISTER = "appUser.register"; public static final String KEY_APPUSER_REGISTER = "appUser.register";
public static final String KEY_APPUSER_AUTH = "appUser.auth"; public static final String KEY_APPUSER_AUTH = "appUser.auth";
...@@ -32,20 +36,9 @@ public class RabbitConstant { ...@@ -32,20 +36,9 @@ public class RabbitConstant {
public static final String KEY_ORDER_CANCEL = "order.cancel"; public static final String KEY_ORDER_CANCEL = "order.cancel";
public static final String KEY_ORDER_PART_DEPOSIT = "order.partDeposit"; public static final String KEY_ORDER_PART_DEPOSIT = "order.partDeposit";
//钱包
public static final String KEY_WALLET_ADD = "wallet.add";
public static final String KEY_WALLET_WITH_DRAW="wallet.withdraw";
//抽奖
public static final String KEY_ACTIVITY_PRIZE_RECORD="prize:record";
static { static {
exchangeTopicSet = new HashSet<String>() {{ exchangeTopicSet = new HashSet<String>() {{
add(ADMIN_TOPIC); add(ADMIN_TOPIC);
add(ORDER_TOPIC);
add(INTEGRAL_TOPIC);
add(ACTIVITY_PRIZE_TOPIC);
}}; }};
} }
} }
...@@ -5,12 +5,15 @@ import com.github.wxiaoqi.security.common.context.BaseContextHandler; ...@@ -5,12 +5,15 @@ import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse; import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.util.Query; import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.ReflectionUtils;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Field;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -87,5 +90,26 @@ public class BaseController<Biz extends BaseBiz,Entity> extends CommonBaseContro ...@@ -87,5 +90,26 @@ public class BaseController<Biz extends BaseBiz,Entity> extends CommonBaseContro
return ObjectRestResponse.succ(baseBiz.selectList(entity)); return ObjectRestResponse.succ(baseBiz.selectList(entity));
} }
@ApiOperation("删除")
@RequestMapping(value = "/del",method = RequestMethod.DELETE)
@ResponseBody
public ObjectRestResponse del( Entity entity){
Field field = ReflectionUtils.getAccessibleField(entity, "isDel");
Field field2 = ReflectionUtils.getAccessibleField(entity, "delete");
if(null != field) {
ReflectionUtils.setFieldValue(entity,"isDel",1);
}
if(null != field2) {
ReflectionUtils.setFieldValue(entity,"delete",1);
}
baseBiz.updateSelectiveById(entity);
return ObjectRestResponse.succ();
}
@Data
public static class BaseDetailDTO {
Integer id;
}
} }
package com.github.wxiaoqi.security.common.rest; package com.github.wxiaoqi.security.common.rest;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.context.BaseContextHandler; import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.util.Query;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/** /**
* ${DESCRIPTION} * ${DESCRIPTION}
......
...@@ -15,7 +15,6 @@ import com.github.wxiaoqi.security.admin.vo.ImiVo; ...@@ -15,7 +15,6 @@ import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.api.vo.authority.PermissionInfo; import com.github.wxiaoqi.security.api.vo.authority.PermissionInfo;
import com.github.wxiaoqi.security.api.vo.user.AppUserInfo; import com.github.wxiaoqi.security.api.vo.user.AppUserInfo;
import com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant; import com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant;
import com.github.wxiaoqi.security.common.msg.BaseResponse;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.EmojiFilter; import com.github.wxiaoqi.security.common.util.EmojiFilter;
import com.github.wxiaoqi.security.common.util.ReferralCodeUtil; import com.github.wxiaoqi.security.common.util.ReferralCodeUtil;
...@@ -48,7 +47,7 @@ import java.util.*; ...@@ -48,7 +47,7 @@ import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.KEY_APPUSER_AUTH; import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.KEY_APPUSER_AUTH;
import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.KEY_APPUSER_REGISTER; import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.KEY_IMAGE_INPUT_SUCC;
/** /**
* @author keliii * @author keliii
...@@ -367,7 +366,7 @@ public class AppPermissionService { ...@@ -367,7 +366,7 @@ public class AppPermissionService {
// 注册成功,发送队列 // 注册成功,发送队列
switch (sign){ switch (sign){
case 1 : case 1 :
mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, KEY_APPUSER_REGISTER, JSONUtil.toJsonStr(registerQueueDTO)); mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, KEY_IMAGE_INPUT_SUCC, JSONUtil.toJsonStr(registerQueueDTO));
break; break;
case 2 : case 2 :
mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, KEY_APPUSER_AUTH, JSONUtil.toJsonStr(registerQueueDTO)); mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, KEY_APPUSER_AUTH, JSONUtil.toJsonStr(registerQueueDTO));
......
...@@ -29,6 +29,10 @@ ...@@ -29,6 +29,10 @@
<dependencies> <dependencies>
<!-- spring --> <!-- spring -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
......
package com.upyuns.platform.rs.datacenter.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Table;
@Data
@Table(name = "rscp_image_input_log")
@ApiModel(description = "")
public class RscpImageInputLog implements java.io.Serializable {
/** 版本号 */
private static final long serialVersionUID = -6625661497803837040L;
public static final int STATU_ING = 1;
public static final int STATU_SUCC = 2;
public static final int STATU_FAIL = -1;
/* This code was generated by TableGo tools, mark 1 begin. */
/** id */
@ApiModelProperty(value = "")
private Long id;
/** 创建时间 */
@ApiModelProperty(value = "创建时间")
private Long crtTime;
/** 更新时间 */
@ApiModelProperty(value = "更新时间")
private Long updTime;
/** 状态 */
@ApiModelProperty(value = "状态")
private Integer status;
/** json文本 */
@ApiModelProperty(value = "json文本")
private String contextJson;
/* This code was generated by TableGo tools, mark 1 end. */
/* This code was generated by TableGo tools, mark 2 begin. */
}
\ No newline at end of file
...@@ -7,6 +7,7 @@ import com.upyuns.platform.rs.datacenter.pojo.ImageDataVO; ...@@ -7,6 +7,7 @@ import com.upyuns.platform.rs.datacenter.pojo.ImageDataVO;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
...@@ -21,7 +22,7 @@ import java.util.List; ...@@ -21,7 +22,7 @@ import java.util.List;
public interface DatacenterFeign { public interface DatacenterFeign {
@RequestMapping(value = "/web/areaInfo/app/unauth/Fegin/queryByCodeFegin", method = RequestMethod.GET) @RequestMapping(value = "/web/areaInfo/app/unauth/Fegin/queryByCodeFegin", method = RequestMethod.GET)
public ObjectRestResponse<RscpAreaInfo> queryByCode(String areaCode); public ObjectRestResponse<RscpAreaInfo> queryByCode(@RequestParam("areaCode") String areaCode);
@RequestMapping(value = "/web/imageData/app/unauth/Fegin/queryByIds", method = RequestMethod.GET) @RequestMapping(value = "/web/imageData/app/unauth/Fegin/queryByIds", method = RequestMethod.GET)
public ObjectRestResponse<List<ImageDataVO>> queryByIds(String ids); public ObjectRestResponse<List<ImageDataVO>> queryByIds(String ids);
......
...@@ -6,7 +6,7 @@ import java.math.BigDecimal; ...@@ -6,7 +6,7 @@ import java.math.BigDecimal;
import java.util.List; import java.util.List;
@Data @Data
public class ImageStorageVo { public class ImageInputVO {
//左上角经度 //左上角经度
private BigDecimal leftTopLon; private BigDecimal leftTopLon;
......
package com.upyuns.platform.rs.datacenter.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.upyuns.platform.rs.datacenter.entity.RscpImageDataInputFail;
import com.upyuns.platform.rs.datacenter.entity.RscpImagePrice;
import com.upyuns.platform.rs.datacenter.mapper.RscpImageDataInputFailMapper;
import com.upyuns.platform.rs.datacenter.mapper.RscpImagePriceMapper;
import org.springframework.stereotype.Service;
@Service
public class RscpImageDataInputFailBiz extends BaseBiz<RscpImageDataInputFailMapper, RscpImageDataInputFail> {
}
package com.upyuns.platform.rs.datacenter.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.upyuns.platform.rs.datacenter.entity.RscpImageInputLog;
import com.upyuns.platform.rs.datacenter.entity.RscpImagePrice;
import com.upyuns.platform.rs.datacenter.mapper.RscpImageInputLogMapper;
import com.upyuns.platform.rs.datacenter.mapper.RscpImagePriceMapper;
import org.springframework.stereotype.Service;
@Service
public class RscpImageInputLogBiz extends BaseBiz<RscpImageInputLogMapper, RscpImageInputLog> {
}
package com.upyuns.platform.rs.datacenter.config;
import com.github.wxiaoqi.security.common.config.rabbit.BindDTO;
import com.github.wxiaoqi.security.common.config.rabbit.RabbitCommonConfig;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.*;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/17 17:23
*/
@Configuration
public class RabbitConfig extends RabbitCommonConfig {
/**
* 获取成功入库数据。
*/
public static final String IMAGE_INPUT_LOG_QUEUE = "image.input.log.queue";
static {
myQueue = new ArrayList<BindDTO>() {{
//添加接收
//入库日志队列+数据中心主题+入库完成KEY
add(new BindDTO(IMAGE_INPUT_LOG_QUEUE, DATACENTER_TOPIC, KEY_IMAGE_INPUT_SUCC));
}};
}
}
package com.upyuns.platform.rs.datacenter.mapper;
import com.upyuns.platform.rs.datacenter.entity.RscpImageDataInputFail;
import com.upyuns.platform.rs.datacenter.entity.RscpImagePrice;
import tk.mybatis.mapper.common.Mapper;
public interface RscpImageDataInputFailMapper extends Mapper<RscpImageDataInputFail> {
}
\ No newline at end of file
package com.upyuns.platform.rs.datacenter.mapper;
import com.upyuns.platform.rs.datacenter.entity.RscpImageDataInputFail;
import com.upyuns.platform.rs.datacenter.entity.RscpImageInputLog;
import tk.mybatis.mapper.common.Mapper;
public interface RscpImageInputLogMapper extends Mapper<RscpImageInputLog> {
}
\ No newline at end of file
package com.upyuns.platform.rs.datacenter.mqhandler;
import cn.hutool.json.JSONUtil;
import com.rabbitmq.client.Channel;
import com.upyuns.platform.rs.datacenter.biz.RscpImageDataTotalBiz;
import com.upyuns.platform.rs.datacenter.biz.RscpImageInputLogBiz;
import com.upyuns.platform.rs.datacenter.entity.RscpImageDataTotal;
import com.upyuns.platform.rs.datacenter.entity.RscpImageInputLog;
import com.upyuns.platform.rs.datacenter.vo.ImageInputVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.Headers;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import static com.upyuns.platform.rs.datacenter.config.RabbitConfig.IMAGE_INPUT_LOG_QUEUE;
@Component
@Slf4j
public class ImageInputLogMQHandler {
@Autowired
RscpImageInputLogBiz rscpImageInputLogBiz;
@Autowired
RscpImageDataTotalBiz rscpImageDataTotalBiz;
/**
* 同步门店信息
* @param
*/
@RabbitListener(queues = IMAGE_INPUT_LOG_QUEUE)
public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) {
log.info("同步门店信息 messageJson:"+ JSONUtil.parse(message));
ExecutorService executorService = Executors.newCachedThreadPool();
executorService.execute(() -> {
try {
String messageId = message.getMessageProperties().getMessageId();
String msg = new String(message.getBody(), "UTF-8");
ImageInputVO ii = JSONUtil.toBean(msg, ImageInputVO.class);
rscpImageInputLogBiz.insertSelective(new RscpImageInputLog(){{
setContextJson(JSONUtil.toJsonStr(ii));
setStatus(STATU_ING);
}});
executorService.shutdown();
Long deliveryTag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG);
// 手动签收
channel.basicAck(deliveryTag, false);
ExecutorService executorService2 = Executors.newCachedThreadPool();
executorService2.execute(() -> {
try {
//查询数据是否存在
rscpImageDataTotalBiz.selectCount(new RscpImageDataTotal(){{
setName(ii.getName());
}});
}catch (Exception e) {
log.error(e.getMessage(), e);
throw e;
}
});
} catch (Exception e) {
log.info("接收到的消息失败");
try {
channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false);
} catch (IOException i) {
log.error(e.getMessage(), i);
}
log.error(e.getMessage(), e);
}
});
}
}
...@@ -35,9 +35,10 @@ public class GtdataController extends CommonBaseController { ...@@ -35,9 +35,10 @@ public class GtdataController extends CommonBaseController {
public void queryAreaInfoByAreaId() throws Exception { public void queryAreaInfoByAreaId() throws Exception {
String url = request.getRequestURI(); String url = request.getRequestURI();
String fileName = url.substring(url.lastIndexOf("/")+1); String fileName = url.substring(url.lastIndexOf("/")+1);
String filePath = "https://box.bdimg.com/static/fisp_static/common/img/searchbox/logo_news_276_88_1f9876a.png";
// String filePath = "/obt/thumbnail/"+ url.substring(url.lastIndexOf("/app/unauth/image/")+18); // String filePath = "/obt/thumbnail/"+ url.substring(url.lastIndexOf("/app/unauth/image/")+18);
String filePath = "/obt/thumbnail/data/VDM2/20200613/VDM2_20200525232637_0015_L1_MSS_CMOS5/VDM2_20200525232637_0015_L1_MSS_CMOS5_98_98.jpg"; // String filePath = "/obt/thumbnail/data/VDM2/20200613/VDM2_20200525232637_0015_L1_MSS_CMOS5/VDM2_20200525232637_0015_L1_MSS_CMOS5_98_98.jpg";
filePath = gtDataRestClient.openUrl(filePath); // filePath = gtDataRestClient.openUrl(filePath);
downloadVideoById(fileName, filePath, getResponse()); downloadVideoById(fileName, filePath, getResponse());
return; return;
} }
......
package com.upyuns.platform.rs.datacenter.utils;
import java.io.File;
public class FileOperateUtil {
public static String getFileNameNotFormat(String filePath) {
filePath = filePath.replaceAll("\\\\", "/");
Integer indexOf = filePath.lastIndexOf("/");
String fileName = filePath.substring(indexOf);
String dirName = fileName;
indexOf = filePath.lastIndexOf(".");
if (indexOf > 0) {
dirName = dirName.substring(0, indexOf);
}
return dirName;
}
public static String getFileName(String filePath) {
filePath = filePath.replaceAll("\\\\", "/");
Integer indexOf = filePath.lastIndexOf("/");
String fileName = filePath.substring(indexOf);
return fileName;
}
public static String getlocalFileParentPath(String filePath) {
File file = new File(filePath);
return file.getParent();
}
public static String getPathParentPath(String filePath) {
filePath = filePath.replaceAll("\\\\", "/");
Integer indexOf = filePath.lastIndexOf("/");
String parentPath = filePath;
if (indexOf > 0) {
parentPath = parentPath.substring(0, indexOf);
}
return parentPath;
}
}
package com.upyuns.platform.rs.datacenter.utils;
import com.github.wxiaoqi.security.common.constant.RestCode;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.upyuns.platform.rs.datacenter.utils.gdal.ImageOperateTools;
import com.upyuns.platform.rs.datacenter.vo.ImageStorageVo;
import com.upyuns.platform.rs.gtdata.GtDataRestClient;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang.time.DateUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
public class ImageStorageParseUtil {
@Value("${localDirTemp.tarFileTemp}")
private static String tarFileTempDir;
@Autowired
private static GtDataRestClient gtDataRestClient;
public static ImageStorageVo tarFileParseGtData(String inputGtPath, String ouputGtDir)throws BaseException {
//将GT上压缩包下载到本地
Integer indexOf = inputGtPath.lastIndexOf("/");
String fileName = inputGtPath.substring(indexOf);
String dirName = fileName;
indexOf = inputGtPath.lastIndexOf(".");
if (indexOf > 0) {
dirName = dirName.substring(0, indexOf);
}
File localDir = new File(tarFileTempDir + "/" + dirName);
localDir.mkdirs();
String localInputPath = localDir + "/" + fileName;
Map<String,Object > result = gtDataRestClient.open(inputGtPath);
if ((Integer)result.get("HttpStatusCode") != 200) {
throw new BaseException("文件下载失败", ResultCode.FAILED_CODE);
}
try {
OutputStream outputStream = new FileOutputStream(new File(localInputPath));
outputStream.write((byte[])result.get("file"));
outputStream.flush();
outputStream.close();
}catch (Exception e) {
throw new BaseException("文件保存失败", ResultCode.FAILED_CODE);
}
return tarFileParse(localInputPath, localDir.getPath(), ouputGtDir);
}
public static ImageStorageVo tarFileParse(String inputLocalPath, String localOutputDir, String outputGtPath) throws BaseException {
if (inputLocalPath.endsWith("zip")) {
//Satellogic 压缩包解析
return satellogicParse(inputLocalPath, localOutputDir, outputGtPath);
}else if (inputLocalPath.endsWith("tar.gz")) {
throw new BaseException("tar.gz 压缩包未实现", ResultCode.FAILED_CODE);
}else {
throw new BaseException("压缩包格式不支持", ResultCode.FAILED_CODE);
}
}
//Satellogic 压缩包解析
public static ImageStorageVo satellogicParse(String inputLocalPath, String localOutputDir, String outputGtPath) throws BaseException {
//1、提取解析xml文件
List<String> xmlPathList = TarFileOperateUtil.zipFileRead(inputLocalPath, localOutputDir,".xml");
if (xmlPathList == null || xmlPathList.size() == 0) {
throw new BaseException("xml文件提取失败", ResultCode.FAILED_CODE);
}
List<String> fileNameList = new ArrayList<>();
ImageStorageVo imageStorageVo = new ImageStorageVo();
//初始基础或固定信息
imageStorageVo.setName(FileOperateUtil.getFileNameNotFormat(inputLocalPath));
imageStorageVo.setImageProductFormat("TIFF");
imageStorageVo.setImageSpectrumType("{QS,DGP}");
imageStorageVo.setImageSpectrumTypeDisplay("{全色,多光谱}");
imageStorageVo.setImageProjection("WGS-84");
Map<String, String> paramsMap = new HashedMap();
boolean xmlFlag = false;
for (String xmlPath : xmlPathList) {
paramsMap.clear();
XmlFileOperateUtil.xmlParse(xmlPath, paramsMap);
if (paramsMap.get("camera") != null && paramsMap.get("bounds") != null) {
//拍摄时间
String takeTime = paramsMap.get("created_at");
if (StringUtils.isNotBlank(takeTime)) {
String takeTimeFormat = takeTime.replace("T", " ");
Integer indexOf = takeTimeFormat.lastIndexOf(".");
if (indexOf > 0) {
takeTimeFormat = takeTimeFormat.substring(0, indexOf);
}
if (takeTime.toLowerCase().endsWith("z")) {//UTC格林标准时区
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date = sdf.parse(takeTimeFormat);
DateUtils.addHours(date, 8);//增加8小时,转为北京时区
takeTimeFormat = sdf.format(date);
}catch (Exception e) {
throw new BaseException("时间解析失败", ResultCode.FAILED_CODE);
}
}
imageStorageVo.setImageTakeTime(takeTimeFormat);
imageStorageVo.setImageProductTime(takeTimeFormat);
imageStorageVo.setImageEndTime(takeTimeFormat);
imageStorageVo.setImageStartTime(takeTimeFormat);
imageStorageVo.setImageCenterTime(takeTimeFormat);
}
//供应商
imageStorageVo.setSupplier(paramsMap.get("supplier"));
//卫星名称、类型
imageStorageVo.setImageSatelliteType(paramsMap.get("satellite_name"));
imageStorageVo.setImageSatelliteTypeDisplay(paramsMap.get("satellite_name"));
//云量
imageStorageVo.setImageCloudage(new BigDecimal(paramsMap.get("cloud_pctg")));
//传感器类型
imageStorageVo.setImageSensorType(paramsMap.get("camera"));
imageStorageVo.setImageSensorId(paramsMap.get("camera"));
//景id
imageStorageVo.setImageSceneId(paramsMap.get("scene_id"));
xmlFlag = true;
break;
}
}
if (!xmlFlag) {
throw new BaseException("xml 解析失败", ResultCode.FAILED_CODE);
}
//2、提取tiff,生成缩略图
List<String> tifPathList = TarFileOperateUtil.zipFileRead(inputLocalPath, localOutputDir,".tif");
if (tifPathList == null || tifPathList.size() == 0) {
tifPathList = TarFileOperateUtil.zipFileRead(inputLocalPath, localOutputDir,".tiff");
}
if (tifPathList == null || tifPathList.size() == 0) {
throw new BaseException("tif 文件提取失败", ResultCode.FAILED_CODE);
}
//生成缩略图
List<String> picPathList = new ArrayList<>();
for (String tifPath : tifPathList) {
if (tifPath.toLowerCase().contains("_quicklook")) {
String localPicPrefix = FileOperateUtil.getlocalFileParentPath(tifPath) + "/" +
FileOperateUtil.getFileNameNotFormat(tifPath);
String localPngPic = localPicPrefix + ".png";
ImageOperateTools.tif2Pic(tifPath, localPngPic);
picPathList.add(localPngPic);
String localTargetPngPic = localPicPrefix + "_800_800.png";
ImageOperateTools.zipImageFile(localPngPic, localTargetPngPic, 800, 1.0f);
break;
}
}
//3、转坐标系
return imageStorageVo;
}
}
package com.upyuns.platform.rs.datacenter.utils;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import org.apache.commons.lang3.StringUtils;
import java.io.*;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class TarFileOperateUtil {
/**
* 解压zip压缩包中,指定文件类型的文件
* @param file
* @param saveRootDirectory
* @param suffix
* @return 返回解压后的文件路径列表
* @throws Exception
*/
public static List<String> zipFileRead(String file, String saveRootDirectory, String suffix)throws BaseException {
try {
List<String> filePathList = new ArrayList<>();
String lowerCaseSuffix = suffix;
if (StringUtils.isBlank(lowerCaseSuffix)) {
lowerCaseSuffix = lowerCaseSuffix.toLowerCase();
}
ZipFile zipFile = new ZipFile(file);
@SuppressWarnings("unchecked")
Enumeration<ZipEntry> enu = (Enumeration<ZipEntry>) zipFile.entries();
while (enu.hasMoreElements()) {
ZipEntry zipElement = enu.nextElement();
InputStream read = zipFile.getInputStream(zipElement);
String fileName = zipElement.getName();
if (!zipElement.isDirectory() && fileName != null) {//是否为文件
if (StringUtils.isBlank(lowerCaseSuffix)) {
if (zipExecute(zipElement, read, saveRootDirectory)) {
filePathList.add(saveRootDirectory + "/" + fileName);
}
} else if (fileName.toLowerCase().endsWith(lowerCaseSuffix)) {//指定文件类型
if (zipExecute(zipElement, read, saveRootDirectory)) {
filePathList.add(saveRootDirectory + "/" + fileName);
}
}
}
}
return filePathList;
}catch (Exception e) {
throw new BaseException("xml解析失败", ResultCode.FAILED_CODE);
}
}
private static boolean zipExecute(ZipEntry ze, InputStream read, String saveRootDirectory) throws IOException {
String fileName = ze.getName();
File file = new File(saveRootDirectory + "/" + fileName);
if (!file.exists()) {
File rootDirectoryFile = new File(file.getParent());
//创建目录
if (!rootDirectoryFile.exists()) {
boolean ifSuccess = rootDirectoryFile.mkdirs();
if (ifSuccess) {
System.out.println("文件夹创建成功!");
} else {
return false;
}
}
//创建文件
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
//写入文件
BufferedOutputStream write = new BufferedOutputStream(new FileOutputStream(file));
int cha = 0;
while ((cha = read.read()) != -1) {
write.write(cha);
}
//要注意IO流关闭的先后顺序
write.flush();
write.close();
read.close();
return true;
}
}
package com.upyuns.platform.rs.datacenter.utils;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.io.File;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class XmlFileOperateUtil {
public static void xmlParse(String xmlPath, Map<String, String> paramsMap) throws BaseException{
try {
//1.创建Reader对象
SAXReader reader = new SAXReader();
//2.加载xml
Document document = reader.read(new File(xmlPath));
//3.获取根节点
Element rootElement = document.getRootElement();
Iterator iterator = rootElement.elementIterator();
while (iterator.hasNext()) {
Element stu = (Element) iterator.next();
List<Attribute> attributes = stu.attributes();
System.out.println("======获取属性值======");
for (Attribute attribute : attributes) {
System.out.println(attribute.getValue());
}
System.out.println("======遍历子节点======");
Iterator iterator1 = stu.elementIterator();
while (iterator1.hasNext()) {
Element stuChild = (Element) iterator1.next();
paramsMap.put(stuChild.getName(), stuChild.getStringValue());
}
}
}catch (Exception e) {
throw new BaseException("xml解析失败", ResultCode.FAILED_CODE);
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 影像数据表(分表空间)(rscp_image_data_input_fail) -->
<mapper namespace="com.upyuns.platform.rs.datacenter.mapper.RscpImageDataInputFailMapper">
<!-- This code was generated by TableGo tools, mark 1 begin. -->
<!-- 字段映射 -->
<resultMap id="rscpImageDataInputFailMap" type="com.upyuns.platform.rs.datacenter.entity.RscpImageDataInputFail">
<id column="id" property="id" jdbcType="INTEGER" />
<result column="data_no" property="dataNo" jdbcType="VARCHAR" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="range" property="range" jdbcType="VARCHAR" />
<result column="thumbnail_path" property="thumbnailPath" jdbcType="VARCHAR" />
<result column="display_name" property="displayName" jdbcType="VARCHAR" />
<result column="image_resolution" property="imageResolution" jdbcType="VARCHAR" />
<result column="image_spectrum_type" property="imageSpectrumType" jdbcType="VARCHAR" />
<result column="image_spectrum_type_display" property="imageSpectrumTypeDisplay" jdbcType="VARCHAR" />
<result column="image_file_path" property="imageFilePath" jdbcType="VARCHAR" />
<result column="image_center_point" property="imageCenterPoint" jdbcType="VARCHAR" />
<result column="image_projection" property="imageProjection" jdbcType="VARCHAR" />
<result column="image_satellite_type" property="imageSatelliteType" jdbcType="VARCHAR" />
<result column="image_satellite_type_display" property="imageSatelliteTypeDisplay" jdbcType="VARCHAR" />
<result column="image_take_time" property="imageTakeTime" jdbcType="VARCHAR" />
<result column="image_cloudage" property="imageCloudage" jdbcType="INTEGER" />
<result column="image_sensor_type" property="imageSensorType" jdbcType="VARCHAR" />
<result column="files" property="files" jdbcType="VARCHAR" />
<result column="image_is_save" property="imageIsSave" jdbcType="INTEGER" />
<result column="image_scene_id" property="imageSceneId" jdbcType="VARCHAR" />
<result column="image_product_format" property="imageProductFormat" jdbcType="VARCHAR" />
<result column="image_product_time" property="imageProductTime" jdbcType="VARCHAR" />
<result column="image_sat_path" property="imageSatPath" jdbcType="VARCHAR" />
<result column="image_sat_row" property="imageSatRow" jdbcType="VARCHAR" />
<result column="image_start_time" property="imageStartTime" jdbcType="VARCHAR" />
<result column="image_end_time" property="imageEndTime" jdbcType="VARCHAR" />
<result column="image_center_time" property="imageCenterTime" jdbcType="VARCHAR" />
<result column="image_width_in_pixels" property="imageWidthInPixels" jdbcType="VARCHAR" />
<result column="image_pitch_satellitess_angle" property="imagePitchSatellitessAngle" jdbcType="VARCHAR" />
<result column="image_solar_azimuth" property="imageSolarAzimuth" jdbcType="VARCHAR" />
<result column="image_solar_zenith" property="imageSolarZenith" jdbcType="VARCHAR" />
<result column="image_satellite_azimuth" property="imageSatelliteAzimuth" jdbcType="VARCHAR" />
<result column="image_satellite_zenith" property="imageSatelliteZenith" jdbcType="VARCHAR" />
<result column="image_height_in_pixels" property="imageHeightInPixels" jdbcType="VARCHAR" />
<result column="image_yaw_satellite_angle" property="imageYawSatelliteAngle" jdbcType="VARCHAR" />
<result column="image_sensor_id" property="imageSensorId" jdbcType="VARCHAR" />
<result column="record_status" property="recordStatus" jdbcType="INTEGER" />
<result column="crt_time" property="crtTime" jdbcType="VARCHAR" />
<result column="upd_time" property="updTime" jdbcType="VARCHAR" />
</resultMap>
<!-- This code was generated by TableGo tools, mark 1 end. -->
<!-- This code was generated by TableGo tools, mark 2 begin. -->
<!-- 表查询字段 -->
<sql id="allColumns">
ridif.id, ridif.data_no, ridif.name, ridif.range, ridif.thumbnail_path, ridif.display_name, ridif.image_resolution, ridif.image_spectrum_type,
ridif.image_spectrum_type_display, ridif.image_file_path, ridif.image_center_point, ridif.image_projection, ridif.image_satellite_type, ridif.image_satellite_type_display, ridif.image_take_time, ridif.image_cloudage,
ridif.image_sensor_type, ridif.files, ridif.image_is_save, ridif.image_scene_id, ridif.image_product_format, ridif.image_product_time, ridif.image_sat_path, ridif.image_sat_row,
ridif.image_start_time, ridif.image_end_time, ridif.image_center_time, ridif.image_width_in_pixels, ridif.image_pitch_satellitess_angle, ridif.image_solar_azimuth, ridif.image_solar_zenith, ridif.image_satellite_azimuth,
ridif.image_satellite_zenith, ridif.image_height_in_pixels, ridif.image_yaw_satellite_angle, ridif.image_sensor_id, ridif.record_status, ridif.crt_time, ridif.upd_time
</sql>
<!-- This code was generated by TableGo tools, mark 2 end. -->
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- rscp_image_input_log -->
<mapper namespace="com.upyuns.platform.rs.datacenter.mapper.RscpImageInputLogMapper">
<!-- This code was generated by TableGo tools, mark 1 begin. -->
<!-- 字段映射 -->
<resultMap id="rscpImageInputLogMap" type="com.upyuns.platform.rs.datacenter.entity.RscpImageInputLog">
<id column="id" property="id" jdbcType="INTEGER" />
<result column="crt_time" property="crtTime" jdbcType="INTEGER" />
<result column="upd_time" property="updTime" jdbcType="INTEGER" />
<result column="status" property="status" jdbcType="INTEGER" />
<result column="context_json" property="contextJson" jdbcType="VARCHAR" />
</resultMap>
<!-- This code was generated by TableGo tools, mark 1 end. -->
<!-- This code was generated by TableGo tools, mark 2 begin. -->
<!-- 表查询字段 -->
<sql id="allColumns">
riil.id, riil.crt_time, riil.upd_time, riil.status, riil.context_json
</sql>
<!-- This code was generated by TableGo tools, mark 2 end. -->
</mapper>
\ No newline at end of file
package com.upyuns.platform.rs.website.dto.custom;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
@Data
public class CustomQueryDTO extends PageParam {
private Integer type;
private Integer status;
}
\ No newline at end of file
...@@ -18,10 +18,17 @@ import lombok.Data; ...@@ -18,10 +18,17 @@ import lombok.Data;
@Table(name = "custom_form") @Table(name = "custom_form")
public class CustomForm implements Serializable { public class CustomForm implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public static final int STATUS_SUBMIT = 1;
public static final int STATUS_ORDER = 2;
public static final int TYPE_IMAGE = 1;
public static final int TYPE_INDUSTRY = 2;
public static final int TYPE_STORAGE = 3;
/** /**
* *
*/ */
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty("") @ApiModelProperty("")
...@@ -137,14 +144,14 @@ public class CustomForm implements Serializable { ...@@ -137,14 +144,14 @@ public class CustomForm implements Serializable {
*/ */
@Column(name = "data_type") @Column(name = "data_type")
@ApiModelProperty(value = "数据类型") @ApiModelProperty(value = "数据类型")
private Integer dataType; private String dataType;
/** /**
* 数据格式 * 数据格式
*/ */
@Column(name = "data_format") @Column(name = "data_format")
@ApiModelProperty(value = "数据格式") @ApiModelProperty(value = "数据格式")
private Integer dataFormat; private String dataFormat;
/** /**
* 订单id * 订单id
...@@ -195,4 +202,46 @@ public class CustomForm implements Serializable { ...@@ -195,4 +202,46 @@ public class CustomForm implements Serializable {
@ApiModelProperty(value = "几何json") @ApiModelProperty(value = "几何json")
private String geojson; private String geojson;
/**
* 创建时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
/**
* 创建者id
*/
@Column(name = "crt_user")
@ApiModelProperty(value = "创建者id")
private String crtUser;
/**
* 更新时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true )
private Long updTime;
/**
* 创建者id
*/
@Column(name = "upd_user")
@ApiModelProperty(value = "更新者id")
private String updUser;
/**
* 用户id
*/
@Column(name = "user_id")
@ApiModelProperty(value = "用户id")
private Integer userId;
/**
* 状态 1--已提交;2--已转订单
*/
@Column(name = "status")
@ApiModelProperty(value = "状态 1--已提交;2--已转订单")
private Integer status;
} }
package com.upyuns.platform.rs.website.controller; package com.upyuns.platform.rs.website.controller;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.github.wxiaoqi.security.common.vo.PageParam;
import com.upyuns.platform.rs.website.biz.CustomFormBiz; import com.upyuns.platform.rs.website.biz.CustomFormBiz;
import com.upyuns.platform.rs.website.dto.custom.CustomQueryDTO;
import com.upyuns.platform.rs.website.entity.CustomForm; import com.upyuns.platform.rs.website.entity.CustomForm;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
@RestController @RestController
@RequestMapping("customForm") @RequestMapping("customForm")
public class CustomFormController extends BaseController<CustomFormBiz,CustomForm> { public class CustomFormController extends BaseController<CustomFormBiz,CustomForm> {
@RequestMapping(value = "pageList",method = RequestMethod.GET)
public ObjectRestResponse<PageDataVO<CustomForm>> pageList(CustomQueryDTO dto) {
return ObjectRestResponse.succ(PageDataVO.pageInfo(dto.initQuery(), () -> baseBiz.selectByWeekend(w -> {
w.andEqualTo(CustomForm::getIsDel, SYS_FALSE);
if(null != dto.getType()) {
w.andEqualTo(CustomForm::getType, dto.getType());
}
if(null != dto.getStatus()) {
w.andEqualTo(CustomForm::getStatus, dto.getStatus());
}
return w;
}, " 'status' asc, crt_time desc")));
}
} }
\ No newline at end of file
package com.upyuns.platform.rs.website.controller.web; package com.upyuns.platform.rs.website.controller.web;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.util.AssertUtils; import com.github.wxiaoqi.security.common.util.AssertUtils;
import com.github.wxiaoqi.security.common.util.ReflectionUtils;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.github.wxiaoqi.security.common.vo.PageParam;
import com.upyuns.platform.rs.datacenter.fegin.DatacenterFeign; import com.upyuns.platform.rs.datacenter.fegin.DatacenterFeign;
import com.upyuns.platform.rs.website.biz.CustomFormBiz; import com.upyuns.platform.rs.website.biz.CustomFormBiz;
import com.upyuns.platform.rs.website.dto.custom.CustomQueryDTO;
import com.upyuns.platform.rs.website.entity.CustomForm; import com.upyuns.platform.rs.website.entity.CustomForm;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import java.lang.reflect.Field;
import org.springframework.web.bind.annotation.RestController;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
@RestController @RestController
@RequestMapping("customForm/web") @RequestMapping("customForm/web")
public class CustomFormWebController extends BaseController<CustomFormBiz,CustomForm> { public class CustomFormWebController extends BaseController<CustomFormBiz,CustomForm> implements UserRestInterface {
@Autowired
UserFeign userFeign;
@Autowired @Autowired
DatacenterFeign datacenterFegin; DatacenterFeign datacenterFegin;
@Override
public UserFeign getUserFeign() {
return userFeign;
}
@RequestMapping(value = "customIndustry",method = RequestMethod.POST) @RequestMapping(value = "customIndustry",method = RequestMethod.POST)
public ObjectRestResponse customIndustry(@RequestBody CustomForm entity) { public ObjectRestResponse customIndustry(@RequestBody CustomForm entity) {
if(StrUtil.isNotBlank(entity.getProvinceCode())) { if(StrUtil.isNotBlank(entity.getProvinceCode())) {
...@@ -31,13 +51,25 @@ public class CustomFormWebController extends BaseController<CustomFormBiz,Custom ...@@ -31,13 +51,25 @@ public class CustomFormWebController extends BaseController<CustomFormBiz,Custom
if(StrUtil.isNotBlank(entity.getAreaCode())) { if(StrUtil.isNotBlank(entity.getAreaCode())) {
entity.setAreaName(datacenterFegin.queryByCode(entity.getAreaCode()).getData().getName()); entity.setAreaName(datacenterFegin.queryByCode(entity.getAreaCode()).getData().getName());
} }
entity.setUserId(getAppUser().getUserid());
entity.setType(CustomForm.TYPE_INDUSTRY);
baseBiz.insertSelective(entity); baseBiz.insertSelective(entity);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
@RequestMapping(value = "customImgStorage",method = RequestMethod.POST) @RequestMapping(value = "customImgStorage",method = RequestMethod.POST)
public ObjectRestResponse customImgStorage(@RequestBody CustomForm entity) { public ObjectRestResponse customImgStorage(@RequestBody CustomForm entity) {
if(StrUtil.isNotBlank(entity.getProvinceCode())) {
entity.setProvinceName(datacenterFegin.queryByCode(entity.getProvinceCode()).getData().getName());
}
if(StrUtil.isNotBlank(entity.getCityCode())) {
entity.setCityName(datacenterFegin.queryByCode(entity.getCityCode()).getData().getName());
}
if(StrUtil.isNotBlank(entity.getAreaCode())) {
entity.setAreaName(datacenterFegin.queryByCode(entity.getAreaCode()).getData().getName());
}
entity.setUserId(getAppUser().getUserid());
entity.setType(CustomForm.TYPE_STORAGE);
baseBiz.insertSelective(entity); baseBiz.insertSelective(entity);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
...@@ -53,7 +85,35 @@ public class CustomFormWebController extends BaseController<CustomFormBiz,Custom ...@@ -53,7 +85,35 @@ public class CustomFormWebController extends BaseController<CustomFormBiz,Custom
if(StrUtil.isNotBlank(entity.getAreaCode())) { if(StrUtil.isNotBlank(entity.getAreaCode())) {
entity.setAreaName(datacenterFegin.queryByCode(entity.getAreaCode()).getData().getName()); entity.setAreaName(datacenterFegin.queryByCode(entity.getAreaCode()).getData().getName());
} }
entity.setUserId(getAppUser().getUserid());
entity.setType(CustomForm.TYPE_IMAGE);
baseBiz.insertSelective(entity); baseBiz.insertSelective(entity);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
@RequestMapping(value = "myCustoms",method = RequestMethod.GET)
public ObjectRestResponse<PageDataVO<CustomForm>> myCustoms(CustomQueryDTO dto) {
return ObjectRestResponse.succ(PageDataVO.pageInfo(dto.initQuery(), () -> baseBiz.selectByWeekend(w -> {
w.andEqualTo(CustomForm::getUserId, getAppUser().getUserid());
w.andEqualTo(CustomForm::getIsDel, SYS_FALSE);
if(null != dto.getType()) {
w.andEqualTo(CustomForm::getType, dto.getType());
}
return w;
}, " crt_time desc")));
}
@ApiOperation("删除")
@RequestMapping(value = "/delCustom",method = RequestMethod.DELETE)
@ResponseBody
public ObjectRestResponse delCustom(@RequestBody CustomForm entity){
CustomForm db = baseBiz.selectById(entity.getId());
if(CustomForm.STATUS_SUBMIT != db.getStatus()) {
throw new BaseException("该定制不能删除", ResultCode.PARAM_ILLEGAL_CODE);
}
entity.setIsDel(SYS_TRUE);
baseBiz.updateSelectiveById(entity);
return ObjectRestResponse.succ();
}
} }
\ 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