Commit 3da8e9ba authored by 周健威's avatar 周健威

修改代码

parent f7d37fcd
......@@ -20,7 +20,11 @@ import lombok.Data;
@Table(name = "file_data")
public class FileData implements Serializable {
private static final long serialVersionUID = 1L;
public static final int HASGTDATA_NOT = 0;
public static final int HASGTDATA_FIN = 1;
public static final int HASGTDATA_UPD = 2;
/**
* 主键
*/
......@@ -74,4 +78,12 @@ public class FileData implements Serializable {
@ApiModelProperty(value = "文件服务器路径")
private String filepath;
@Column(name = "gtdata_path")
@ApiModelProperty(value = "gtdata路径")
private String gtdataPath;
@Column(name = "has_gtdata")
@ApiModelProperty(value = "是否已经存储gtdata 0--未处理;1--已处理;2--已更新")
private Integer hasGtdata;
}
......@@ -18,7 +18,12 @@ import lombok.Data;
@Table(name = "gain_data")
public class GainData implements Serializable {
private static final long serialVersionUID = 1L;
public static final int HASGTDATA_NOT = 0;
public static final int HASGTDATA_FIN = 1;
public static final int HASGTDATA_UPD = 2;
/**
* id
*/
......
package com.upyuns.platform.rs.website.biz;
import cn.hutool.core.util.StrUtil;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.upyuns.platform.rs.gtdata.GtDataRestClient;
import com.upyuns.platform.rs.website.dto.FileDataDTo;
import com.upyuns.platform.rs.website.dto.GainDataDTO;
import com.upyuns.platform.rs.website.entity.GainData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.upyuns.platform.rs.website.entity.FileData;
import com.upyuns.platform.rs.website.mapper.FileDataMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import java.util.List;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
/**
* 文件表
*
......@@ -20,6 +29,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
@Service
public class FileDataBiz extends BaseBiz<FileDataMapper,FileData> {
public Object selectLogicAlls(FileDataDTo fileDataDTo) {
Query query = new Query(fileDataDTo);
PageDataVO<FileData> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.selectList(fileDataDTo));
......@@ -27,5 +37,4 @@ public class FileDataBiz extends BaseBiz<FileDataMapper,FileData> {
return pageDataVO;
}
}
\ No newline at end of file
package com.upyuns.platform.rs.website.biz;
import cn.hutool.core.util.StrUtil;
import com.upyuns.platform.rs.gtdata.GtDataRestClient;
import com.upyuns.platform.rs.website.entity.FileData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.upyuns.platform.rs.website.entity.GainData;
import com.upyuns.platform.rs.website.mapper.GainDataMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import java.util.List;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
/**
* 成果数据
*
......@@ -15,4 +24,70 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
*/
@Service
public class GainDataBiz extends BaseBiz<GainDataMapper,GainData> {
@Value("${universal.gaindataPath}")
private String gaindataPath;
@Autowired
FileDataBiz fileDataBiz;
@Autowired
GtDataRestClient gtDataRestClient;
public void dealGtdata(List<GainData> list) {
for(GainData gainData: list) {
//判断gtdata路径是否存在
if(StrUtil.isBlank(gainData.getGtdataPath())) {
//根据id创建gtdata目录
String gtdataPath = "/rscloudmart"+ gaindataPath+ gainData.getId();
gtDataRestClient.mkdirs(gtdataPath);
// gainData.setGtdataPath(gtdataPath);
updateSelectiveById(new GainData() {{
setId(gainData.getId());
setGtdataPath(gtdataPath);
setHasGtdata(HASGTDATA_FIN);
}});
}else {
//判断路径是否存在
//isExist(parentPath).get("exist").toString().equals("true")
if(!gtDataRestClient.isExist(gainData.getGtdataPath()).get("exist").toString().equals("true")){
gtDataRestClient.mkdirs(gainData.getGtdataPath());
updateSelectiveById(new GainData() {{
setId(gainData.getId());
setHasGtdata(HASGTDATA_FIN);
}});
}
}
//查询包含的数据是否存在
List<FileData> fileDataList = fileDataBiz.selectList(new FileData(){{
setGainId(gainData.getId());
setIsDel(SYS_FALSE);
setHasGtdata(HASGTDATA_NOT);
}});
for(FileData fileData : fileDataList) {
if(StrUtil.isBlank(fileData.getGtdataPath())) {
String fileGtdataPath = "/rscloudmart"+ gaindataPath+ gainData.getId() + "/" + fileData.getFilename() + fileData.getFiletype();
FileData finalFileData = fileData;
fileDataBiz.updateSelectiveById(new FileData(){{
setId(finalFileData.getId());
setGtdataPath(fileGtdataPath);
}});
fileData = fileDataBiz.selectById(fileData.getId());
}
if(!gtDataRestClient.isExist(fileData.getGtdataPath()).get("exist").toString().equals("true")){
gtDataRestClient.createLarge(fileData.getFilepath(), fileData.getGtdataPath());
}
FileData finalFileData1 = fileData;
fileDataBiz.updateSelectiveById(new FileData(){{
setId(finalFileData1.getId());
setHasGtdata(HASGTDATA_FIN);
}});
}
}
}
}
\ No newline at end of file
......@@ -58,4 +58,13 @@ public class GainDataController extends BaseController<GainDataBiz,GainData> {
return ObjectRestResponse.succ(result);
}
@ApiModelProperty("查询详情")
@IgnoreUserToken
@RequestMapping(value = "/app/unauth/dealGtdata",method = RequestMethod.GET)
public ObjectRestResponse dealGtdata(GainData gainData) {
List<GainData> gainData1 = baseBiz.selectAll(gainData);
baseBiz.dealGtdata(gainData1);
return ObjectRestResponse.succ();
}
}
\ No newline at end of file
package com.upyuns.platform.rs.website.job;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.upyuns.platform.rs.datacenter.fegin.DatacenterFeign;
import com.upyuns.platform.rs.datacenter.pojo.ImageDataVO;
import com.upyuns.platform.rs.gtdata.GtDataRestClient;
import com.upyuns.platform.rs.website.biz.*;
import com.upyuns.platform.rs.website.dto.order.OldeliveryJson;
import com.upyuns.platform.rs.website.entity.*;
import com.upyuns.platform.rs.website.type.ItemTypeEnum;
import com.upyuns.platform.rs.website.type.NoticeTypeEnum;
import com.upyuns.platform.rs.website.type.OrderStatusEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import java.util.List;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
import static com.upyuns.platform.rs.website.entity.OrderInfo.SENDTYPE_OL;
import static com.upyuns.platform.rs.website.type.OrderStatusEnum.ORDER_SEND;
@Configuration //1.主要用于标记配置类,兼备Component的效果。
@EnableScheduling // 2.开启定时任务
@Slf4j
public class GainDataTask {
@Value("${universal.gaindataPath}")
private String gaindataPath;
@Autowired
GainDataBiz gainDataBiz;
@Autowired
GtDataRestClient gtDataRestClient;
public static final int ITEM_STANDARD_DATA = ItemTypeEnum.STANDARD_DATA.getType();
public static final int ITEM_INDUSTRY_INFO = ItemTypeEnum.INDUSTRY_INFO.getType();
public static final int ITEM_IMAGE_STORAGE = ItemTypeEnum.IMAGE_STORAGE.getType();
//3.添加定时任务
//@Scheduled(cron = "0/30 * * * * ?")
//或直接指定时间间隔,例如:5秒
//@Scheduled(fixedRate=5000)
public void configureTasks() {
//
List<GainData> list = gainDataBiz.selectByWeekend(w -> {
w.andIn(GainData::getHasGtdata, CollUtil.newArrayList(GainData.HASGTDATA_NOT, GainData.HASGTDATA_UPD));
w.andEqualTo(GainData::getIsDel, SYS_FALSE);
return w;
});
gainDataBiz.dealGtdata(list);
// list.forEach(orderInfo -> {
// String innerOrderPath = "/order/"+orderInfo.getOrderNo()+ "/";
// String orderPath = "/"+ orderInfo.getUserId()+ innerOrderPath;
// //创建订单文件夹
// gtDataRestClient.mkdirs("/"+ orderInfo.getUserId()+ "/order/"+orderInfo.getOrderNo());
//
// List<OldeliveryJson> jsons = CollUtil.newArrayList();
// List<OrderItem> items = orderItemBiz.selectList(new OrderItem(){{
// setOrderId(orderInfo.getOrderId());
// }});
// items.forEach(it -> {
// if(ITEM_STANDARD_DATA == it.getType()) {
// List<ImageDataVO> imageDataVOS = datacenterFeign.queryByIds(it.getDetailId()+ "").getData();
// imageDataVOS.forEach(vo -> {
// //拷贝文件
// Integer fileFlag = vo.getImageFilePath().lastIndexOf("/")+ 1;
// String fileName = vo.getImageFilePath().substring(fileFlag);
// gtDataRestClient.copy(vo.getImageFilePath(), orderPath+ fileName);
// jsons.add(new OldeliveryJson(){{
// setName(vo.getName());
// setPath(innerOrderPath+ fileName);
// }});
// });
// }else if(ITEM_INDUSTRY_INFO == it.getType()) {
// IndustryApplicationInfo iai = industryApplicationInfoBiz.selectById(it.getDetailId().intValue());
// //拷贝文件
// Integer fileFlag = iai.getSourceFile().lastIndexOf("/")+ 1;
// String fileName = iai.getSourceFile().substring(fileFlag);
// gtDataRestClient.copy(iai.getSourceFile(), orderPath+ fileName);
//
// jsons.add(new OldeliveryJson(){{
// setName(it.getName());
// setPath(innerOrderPath+ fileName);
// }});
// }else if(ITEM_IMAGE_STORAGE == it.getType()) {
// ImageInfoRelation iir = imageInfoRelationBiz.selectById(it.getDetailId().intValue());
// //拷贝文件
// Integer fileFlag = iir.getUrl().lastIndexOf("/")+ 1;
// String fileName = iir.getUrl().substring(fileFlag);
// gtDataRestClient.copy(iir.getUrl(), orderPath+ fileName);
//
// jsons.add(new OldeliveryJson(){{
// setName(it.getName());
// setPath(innerOrderPath+ fileName);
// }});
// }
// });
// orderInfoBiz.updateSelectiveById(new OrderInfo(){{
// setOrderId(orderInfo.getOrderId());
// setStatus(OrderStatusEnum.ORDER_RECEIVED.getType());
// setOldeliveryJson(JSONUtil.toJsonStr(jsons));
// }});
//
// //添加通知信息
// noticeInfoBiz.addObj("订单" + orderInfo.getOrderNo() + "已交付,请查看下载", NoticeTypeEnum.ORDER_INFO.getType(), orderInfo.getUserId(), String.valueOf(orderInfo.getOrderId()));
// });
}
}
\ No newline at end of file
......@@ -61,7 +61,7 @@ public class WebsiteScheduleTask {
//3.添加定时任务
@Scheduled(cron = "0/30 * * * * ?")
// @Scheduled(cron = "0/30 * * * * ?")
//或直接指定时间间隔,例如:5秒
//@Scheduled(fixedRate=5000)
public void configureTasks() {
......
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