Browse Source

远程获取产品信息

master
xyiege 4 years ago
parent
commit
4edcbc6add
  1. 31
      src/main/java/cn/chjyj/szwh/controller/task/TaskGoodsController.java
  2. 28
      src/main/java/cn/chjyj/szwh/job/SzwhJob.java
  3. 6
      src/main/java/cn/chjyj/szwh/service/GoodsService.java
  4. 41
      src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java

31
src/main/java/cn/chjyj/szwh/controller/task/TaskGoodsController.java

@ -0,0 +1,31 @@
package cn.chjyj.szwh.controller.task;
import cn.chjyj.szwh.controller.BaseController;
import cn.chjyj.szwh.service.GoodsService;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 任务控制器
*/
@RestController
@RequestMapping("/task/Goods")
public class TaskGoodsController extends BaseController {
@Autowired
private GoodsService goodsService;
/**
* 远程获取产品列表
* @return
*/
@RequestMapping("/getApiGoods")
public JSONObject getApiGoods(){
int ret = goodsService.getApiGoods();
jsonObject.put("data",ret);
jsonObject.put("code",200);
jsonObject.put("msg","成功");
return jsonObject;
}
}

28
src/main/java/cn/chjyj/szwh/job/SzwhJob.java

@ -1,20 +1,30 @@
package cn.chjyj.szwh.job;
import cn.chjyj.szwh.service.GoodsService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.quartz.QuartzJobBean;
import java.util.Calendar;
import java.util.Date;
public class SzwhJob implements Job {
public class SzwhJob extends QuartzJobBean {
private static Log log = LogFactory.getLog(SzwhJob.class);
@Autowired
private GoodsService goodsService;
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
//
JobDataMap data = jobExecutionContext.getTrigger().getJobDataMap();
String invokeParam = (String) data.get("invokeParam");
//在这里实现业务逻辑
log.info("自定义任务 szwhjob");
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
Calendar cal = Calendar.getInstance();
Date xxd =cal.getTime();
log.info("商品开始更新:"+xxd);
// 远程获取产品信息
goodsService.getApiGoods();
}
}

6
src/main/java/cn/chjyj/szwh/service/GoodsService.java

@ -21,5 +21,9 @@ public interface GoodsService {
* @return
*/
Goods getGoodsByIsli(String goodsIsli);
/**
* 远程更新产品信息
* @return
*/
int getApiGoods();
}

41
src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java

@ -4,13 +4,23 @@ import cn.chjyj.szwh.bean.Goods;
import cn.chjyj.szwh.constant.ChConstant;
import cn.chjyj.szwh.mapper.GoodsMapper;
import cn.chjyj.szwh.service.GoodsService;
import cn.chjyj.szwh.utils.ProperUtils;
import cn.chjyj.szwh.utils.RequestUtils;
import cn.chjyj.szwh.utils.SignUtils;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class GoodsServiceImpl implements GoodsService {
private static Log log = LogFactory.getLog(GoodsServiceImpl.class);
@Autowired
private GoodsMapper goodsMapper;
@ -26,4 +36,35 @@ public class GoodsServiceImpl implements GoodsService {
public Goods getGoodsByIsli(String goodsIsli) {
return goodsMapper.getGoodsByIsli(goodsIsli);
}
/**
* 更新产品并统计更新数量
* @return
*/
@Override
public int getApiGoods() {
int count=0; //统计更新数量
String host = ProperUtils.getSzwhProp("ENTRUST_URL");
String apiurl=host+"/consign/exchange/v1/selectEntrustSource/exchange";
log.info("get apigoods :"+apiurl);
//创建签名
String sign= SignUtils.createSign("entrust");
// 请求头
Map<String,Object> hmap =new HashMap();
hmap.put("token",sign);
hmap.put("Content-Type","application/json");
// get 方式获取
JSONObject jsonObject = RequestUtils.GetData(apiurl,hmap);
log.info("goods api result : "+jsonObject);
// 检索出对象
JSONArray jsonArray = jsonObject.getJSONArray("data");
log.info("goods jsonarray: "+jsonArray);
// 产品详情地址
String gdurl=host+"/consign/exchange/v1/selectEntrustDetails";
return count;
}
}

Loading…
Cancel
Save