server/platform/src/main/java/com/doumee/task/ScheduleTool.java
@@ -2,6 +2,7 @@ import com.doumee.service.business.BaseDataService; import com.doumee.service.business.FileRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; @@ -19,6 +20,8 @@ @Autowired private BaseDataService baseDataService; @Autowired private FileRecordService fileRecordService; /** * 定时处理爬虫源数据,生成素材库数据 @@ -28,5 +31,13 @@ public void dealBaseData() throws Exception { baseDataService.dealBaseData(); } /** * 定时处理爬虫源数据,生成素材库数据 * @throws Exception */ @Scheduled(fixedDelay=30*60*1000,initialDelay = 30000) public void dealOploadEvent() throws Exception { fileRecordService.dealOploadEvent(); } } server/service/src/main/java/com/doumee/dao/business/FileRecordMapper.java
@@ -11,5 +11,5 @@ */ public interface FileRecordMapper extends BaseMapper<FileRecord> { void insertBatch(List<FileRecord> fileRecords); void insertBatch(List<FileRecord> list); } server/service/src/main/java/com/doumee/dao/business/model/FileRecord.java
@@ -72,6 +72,9 @@ @ApiModelProperty(value = "上传结果") @ExcelColumn(name="上传结果") private String content; @ApiModelProperty(value = "osskey") @ExcelColumn(name="imgurl") private String keyval; @ApiModelProperty(value = "状态 0未上传 1已上传 2上传失败", example = "1") @ExcelColumn(name="状态 0未上传 1已上传 2上传失败") server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java
@@ -319,7 +319,7 @@ @Override @Async @Transactional public void dealBaseData() { public synchronized void dealBaseData() { if(IS_RUNNING){ return; } @@ -700,17 +700,17 @@ FileRecord model = new FileRecord(); model.setIsdeleted(Constants.ZERO); model.setCreateDate(new Date()); model.setName(key); model.setInfo(tempFileName); model.setName(tempFileName); model.setInfo(null); model.setFolder(folder); model.setUrl(img); model.setObjId(id); model.setType(objType); model.setStatus(Constants.ZERO); model.setKeyval(key); fileRecords.add(model); return key; return tempFileName; }catch (Exception e){ } server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java
@@ -150,7 +150,12 @@ @Override public void deleteById(Integer id) { baseGoodsMapper.deleteById(id); BaseGoods model = new BaseGoods(); model.setId(id); model.setEditDate(new Date()); model.setIsdeleted(Constants.ZERO); updateById(model); // baseGoodsMapper.deleteById(id); } @Override @@ -164,7 +169,10 @@ if (CollectionUtils.isEmpty(ids)) { return; } baseGoodsMapper.deleteBatchIds(ids); for(Integer id : ids){ deleteById(id); } // baseGoodsMapper.deleteBatchIds(ids); } server/service/src/main/java/com/doumee/service/business/impl/FileRecordServiceImpl.java
@@ -2,20 +2,26 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.core.utils.aliyun.ALiYunUtil; import com.doumee.dao.business.FileRecordMapper; import com.doumee.dao.business.model.FileRecord; import com.doumee.dao.business.model.dto.OssModel; import com.doumee.service.business.BaseDataService; import com.doumee.service.business.FileRecordService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.List; /** @@ -24,6 +30,7 @@ * @date 2023/09/19 17:30 */ @Service @Slf4j public class FileRecordServiceImpl implements FileRecordService { @Autowired @@ -33,12 +40,38 @@ private BaseDataService baseDataService; @Override @Async public Integer create(FileRecord fileRecord) { fileRecordMapper.insert(fileRecord); return fileRecord.getId(); } @Override public Integer dealOploadEvent() { @Async public synchronized Integer dealOploadEvent() { log.info("开始上传附件信息=================start=================="); OssModel ossModel = baseDataService.initOssModel(); FileRecord fileRecord = new FileRecord(); fileRecord.setStatus(Constants.ZERO); fileRecord.setIsdeleted(Constants.ZERO); List<FileRecord> allLis = findList(fileRecord); if(allLis==null || allLis.size() ==0){ log.info("开始上传附件信息=================end========无待处理数据==========="); return 0; } Date date = new Date(); for(FileRecord model:allLis){ try { ALiYunUtil obs = new ALiYunUtil(ossModel.getEndpoint(), ossModel.getAccessId(), ossModel.getAccessKey()); obs.uploadOnlineObject(model.getUrl(),ossModel.getBucket(), model.getKeyval(),null); model.setStatus(Constants.ONE); model.setContent("上传成功"); }catch (Exception e){ model.setStatus(Constants.TWO); model.setContent(e.getMessage()); } model.setEditDate(date); fileRecordMapper.updateById(model); } return 0; } server/service/src/main/java/com/doumee/service/impl/CateParamSelectServiceImpl.java
@@ -17,6 +17,7 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.List; @@ -153,6 +154,7 @@ @Override @Async @Transactional public void dealCateParamSelect() { LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Boolean isGrouping = (Boolean)redisTemplate.opsForValue().get(loginUserInfo.getCompanyId()+Constants.CATE_PARAM_OPEN); server/service/src/main/resources/mappers/FileRecordMapper.xml
@@ -15,7 +15,8 @@ `TYPE`, `OBJ_ID`, `FOLDER`, `URL` `URL`, `KEYVAL` ) values <foreach collection="list" separator="," item="item"> (#{item.creator} @@ -26,10 +27,12 @@ ,#{item.name} ,#{item.info} ,#{item.status} ,#{item.objId} ,#{item.type} ,#{item.objId} ,#{item.folder} ,#{item.url} ,#{item.keyval} ) </foreach> </insert>