diff --git a/src/main/java/cn/chjyj/szwh/controller/task/TaskGoodsController.java b/src/main/java/cn/chjyj/szwh/controller/task/TaskGoodsController.java new file mode 100644 index 0000000..3017e7d --- /dev/null +++ b/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; + } +} diff --git a/src/main/java/cn/chjyj/szwh/job/SzwhJob.java b/src/main/java/cn/chjyj/szwh/job/SzwhJob.java index 1b255ff..406c48b 100644 --- a/src/main/java/cn/chjyj/szwh/job/SzwhJob.java +++ b/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(); } } \ No newline at end of file diff --git a/src/main/java/cn/chjyj/szwh/service/GoodsService.java b/src/main/java/cn/chjyj/szwh/service/GoodsService.java index 6336adb..1185e5d 100644 --- a/src/main/java/cn/chjyj/szwh/service/GoodsService.java +++ b/src/main/java/cn/chjyj/szwh/service/GoodsService.java @@ -21,5 +21,9 @@ public interface GoodsService { * @return */ Goods getGoodsByIsli(String goodsIsli); - + /** + * 远程更新产品信息 + * @return + */ + int getApiGoods(); } diff --git a/src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java b/src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java index 78c452d..2dd06e2 100644 --- a/src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java +++ b/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 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; + } }