Browse Source

调整代码

master
xyiege 4 years ago
parent
commit
fdeb0c2edb
  1. 8
      src/main/java/cn/chjyj/szwh/service/impl/GoodsTaskServiceImpl.java
  2. 13
      src/main/java/cn/chjyj/szwh/service/impl/OrderTaskServiceImpl.java
  3. 62
      src/main/java/cn/chjyj/szwh/task/SzwhScheduled.java
  4. 7
      src/main/java/cn/chjyj/szwh/task/TaskInit.java
  5. 14
      src/main/resources/mapper/szwh/GoodsDetailMapper.xml
  6. 22
      src/test/java/cn/chjyj/szwh/service/OrderTaskServiceTest.java

8
src/main/java/cn/chjyj/szwh/service/impl/GoodsTaskServiceImpl.java

@ -9,6 +9,7 @@ import cn.chjyj.szwh.utils.RequestUtils;
import cn.chjyj.szwh.utils.SzwhApiUtils; import cn.chjyj.szwh.utils.SzwhApiUtils;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -29,9 +30,12 @@ public class GoodsTaskServiceImpl implements GoodsTaskService {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
JSONObject recvjson = SzwhApiUtils.revocationGoods(); JSONObject recvjson = SzwhApiUtils.revocationGoods();
//JSONObject dataJson = recvjson.getJSONObject("data");
String datajsonStr= recvjson.getString("data");
if(StringUtils.isNotBlank(datajsonStr)){
JSONObject dataJson = recvjson.getJSONObject("data"); JSONObject dataJson = recvjson.getJSONObject("data");
if(!dataJson.isEmpty()){ //if(!dataJson.isEmpty()){
JSONArray jsonArray = JSONArray.parseArray(dataJson.toJSONString()); JSONArray jsonArray = JSONArray.parseArray(datajsonStr);
for(int i=0;i<jsonArray.size();i++){ for(int i=0;i<jsonArray.size();i++){
JSONObject jitem = (JSONObject) jsonArray.get(i); JSONObject jitem = (JSONObject) jsonArray.get(i);
String islicode = jitem.getString("isliCode"); String islicode = jitem.getString("isliCode");

13
src/main/java/cn/chjyj/szwh/service/impl/OrderTaskServiceImpl.java

@ -49,11 +49,11 @@ public class OrderTaskServiceImpl implements OrderTaskService {
// 判断非空 // 判断非空
if(orderList!=null){ if(orderList!=null){
for(Order od:orderList) { for(Order od:orderList) {
//待查询的字段,英文逗号分隔。注意与实体属性对应
String field = "goods_islicode as goodsIslicode"; String field = "goods_islicode as goodsIslicode";
Map somap = new HashMap(); Map somap = new HashMap();
qmap.put("is_deleted", "0"); qmap.put("is_deleted", "0");
qmap.put("batchcode", od.getBatchcode()); //传入订单号 qmap.put("batchcode", od.getBatchcode()); //传入订单号
//qmap.put("field",field); //待查询的字段,英文逗号分隔。注意与实体属性对应
List<OrderGoodsDetail> dbOdglist = orderGoodsDetailMapper.getOrderGoodsDetailByMap(somap, field); List<OrderGoodsDetail> dbOdglist = orderGoodsDetailMapper.getOrderGoodsDetailByMap(somap, field);
if(dbOdglist!=null){ if(dbOdglist!=null){
for(OrderGoodsDetail odg:dbOdglist){ for(OrderGoodsDetail odg:dbOdglist){
@ -66,9 +66,13 @@ public class OrderTaskServiceImpl implements OrderTaskService {
GoodsDetail goodsDetail = goodsDetailMapper.getGoodsDetailBygid(tmpgoods.getGoodsDetailId()); GoodsDetail goodsDetail = goodsDetailMapper.getGoodsDetailBygid(tmpgoods.getGoodsDetailId());
if(goodsDetail==null){ if(goodsDetail==null){
continue; continue;
} }else {
// 对比和处理商品状态 // 委托类型
if(goodsDetail.getGoodsEntrust()==1||goodsDetail.getContractualPeriod()==2){ int wtlx = goodsDetail.getGoodsEntrust();
// 委托周期
int wtzq = goodsDetail.getContractualPeriod();
// 对比和处理商品状态 委托类型为转让的 委托周期为单次
if (wtlx == 1 || wtzq == 2) {
goodsDetail.setStock(1); goodsDetail.setStock(1);
goodsDetailMapper.updateGoodsDetail(goodsDetail); goodsDetailMapper.updateGoodsDetail(goodsDetail);
//更新商品状态 //更新商品状态
@ -86,6 +90,7 @@ public class OrderTaskServiceImpl implements OrderTaskService {
} }
} }
} }
}
//关闭订单 //关闭订单
orderMapper.shutOrder(od.getBatchcode(),now); orderMapper.shutOrder(od.getBatchcode(),now);
} }

62
src/main/java/cn/chjyj/szwh/task/SzwhScheduled.java

@ -1,62 +0,0 @@
package cn.chjyj.szwh.task;
import cn.chjyj.szwh.service.GoodsTaskService;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
/**
* 多个定时任务启动
*/
@Component
//@EnableScheduling
public class SzwhScheduled {
private GoodsTaskService goodsTaskService;
public GoodsTaskService getGoodsTaskService() {
return goodsTaskService;
}
public void setGoodsTaskService(GoodsTaskService goodsTaskService) {
this.goodsTaskService = goodsTaskService;
}
@Bean
public TaskScheduler taskScheduler(){
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.setPoolSize(20);
return taskScheduler;
}
/**
* 查询查询撤销商品的信息
*/
//@Scheduled(cron = "0/20 * * * * ?")
public void queryRevocationGoods(){
String curName = Thread.currentThread().getName() ;
System.out.println("当前时间:"+ LocalDateTime.now()+" 任务queryRevocationGoods对应的线程名: "+curName);
try {
goodsTaskService.getRevocationGoods();
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
//@Scheduled(cron = "0/5 * * * * ?")
public void execute2(){
String curName = Thread.currentThread().getName() ;
System.out.println("当前时间:"+LocalDateTime.now()+" 任务execute2对应的线程名: "+curName);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

7
src/main/java/cn/chjyj/szwh/task/TaskInit.java

@ -39,6 +39,7 @@ public class TaskInit implements ApplicationRunner {
.build(); .build();
// 手动将触发器与任务绑定到调度器内 // 手动将触发器与任务绑定到调度器内
scheduler.scheduleJob(jobDetail, trigger); scheduler.scheduleJob(jobDetail, trigger);
//获取商品的撤销状态 //获取商品的撤销状态
JobDetail revojob = JobBuilder.newJob(SzwhRevocationGoodsJob.class) JobDetail revojob = JobBuilder.newJob(SzwhRevocationGoodsJob.class)
.withIdentity(sid+"02") .withIdentity(sid+"02")
@ -52,6 +53,7 @@ public class TaskInit implements ApplicationRunner {
.startNow() .startNow()
.build(); .build();
scheduler.scheduleJob(revojob,revoTrigger); scheduler.scheduleJob(revojob,revoTrigger);
//关闭超时订单 1min一次 //关闭超时订单 1min一次
JobDetail odTimeoutJob=JobBuilder.newJob(OrderJob.class) JobDetail odTimeoutJob=JobBuilder.newJob(OrderJob.class)
.withIdentity(sid+"03") .withIdentity(sid+"03")
@ -59,10 +61,11 @@ public class TaskInit implements ApplicationRunner {
.build(); .build();
Trigger odTimeoutTrigger = TriggerBuilder.newTrigger() Trigger odTimeoutTrigger = TriggerBuilder.newTrigger()
.forJob(odTimeoutJob) .forJob(odTimeoutJob)
.withIdentity(sid+"02Trigger") .withIdentity(sid+"03Trigger")
.withSchedule(CronScheduleBuilder.cronSchedule("0 */1 * * * ? *")) .withSchedule(CronScheduleBuilder.cronSchedule("0/10 * * * * ? *"))
.startNow() .startNow()
.build(); .build();
scheduler.scheduleJob(odTimeoutJob,odTimeoutTrigger); scheduler.scheduleJob(odTimeoutJob,odTimeoutTrigger);
} }
} }

14
src/main/resources/mapper/szwh/GoodsDetailMapper.xml

@ -27,19 +27,7 @@
<!--根据id查询--> <!--根据id查询-->
<select id="getGoodsDetailBygid" parameterType="java.lang.Integer" resultType="cn.chjyj.szwh.bean.GoodsDetail"> <select id="getGoodsDetailBygid" parameterType="java.lang.Integer" resultType="cn.chjyj.szwh.bean.GoodsDetail">
select select
id,goods_name as goodsName, <include refid="column"></include>
goods_image as goodsImage,
identifier,identifiers,stock,
price,
goods_ownership as goodsOwnership,
goods_ownership_str as goodsOwnershipStr,
goods_type as goodsType,
charges_type as chargesType,
goods_islicode as goodsIslicode,
goods_entrust as goodsEntrust,
data_json as dataJson,
source_json as sourceJson,
sourcedata_islicode as sourcedataIslicode
from <include refid="tbName"/> from <include refid="tbName"/>
where id=#{goodDetailId} where id=#{goodDetailId}
</select> </select>

22
src/test/java/cn/chjyj/szwh/service/OrderTaskServiceTest.java

@ -0,0 +1,22 @@
package cn.chjyj.szwh.service;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import static org.junit.Assert.*;
@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
public class OrderTaskServiceTest {
@Autowired
private OrderTaskService orderTaskService;
@Test
public void closeOrderTimeout() {
System.out.println("关闭订单");
orderTaskService.closeOrderTimeout();
}
}
Loading…
Cancel
Save