From 70b5e34556f6e2741286e2748ff912277ff97da2 Mon Sep 17 00:00:00 2001 From: xioayue Date: Mon, 4 Jul 2022 15:16:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E5=8A=9F=E8=83=BD=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/AdminGoodsController.java | 5 +++ .../chjyj/szwh/mapper/GoodsDetailMapper.java | 6 +++ .../szwh/service/GoodsDetailService.java | 8 ++++ .../cn/chjyj/szwh/service/GoodsService.java | 1 + .../service/impl/GoodsDetailServiceImpl.java | 32 ++++++++++++++ .../mapper/szwh/GoodsDetailMapper.xml | 43 ++++--------------- .../szwh/mapper/GoodsDetailMapperTest.java | 14 ++++++ 7 files changed, 74 insertions(+), 35 deletions(-) diff --git a/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java b/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java index b5e044f..088439b 100644 --- a/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java +++ b/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java @@ -12,7 +12,9 @@ import com.alibaba.fastjson.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.HashMap; import java.util.List; +import java.util.Map; @RestController @@ -46,11 +48,14 @@ public class AdminGoodsController extends BaseController { */ @RequestMapping("/goodsDetail") public JSONObject goodsDetail(String islicode){ + // 需要返回的结果 + Map result=new HashMap<>(); // 商品明细id Goods goods = goodsService.getGoodsByIsli(islicode); if(goods!=null){ // 查找用户信息 User user = userService.getApiUser(goods.getUserIslicode()); + result.put("userinfo",user); GoodsDetail goodsDetail = goodsDetailService.getGoodsDetailBygid(goods.getGoodsDetailsId()); }else{ diff --git a/src/main/java/cn/chjyj/szwh/mapper/GoodsDetailMapper.java b/src/main/java/cn/chjyj/szwh/mapper/GoodsDetailMapper.java index a0ee41e..7228917 100644 --- a/src/main/java/cn/chjyj/szwh/mapper/GoodsDetailMapper.java +++ b/src/main/java/cn/chjyj/szwh/mapper/GoodsDetailMapper.java @@ -14,4 +14,10 @@ public interface GoodsDetailMapper { * @return */ GoodsDetail getGoodsDetailBygid(Integer goodDetailId); + /** + * 更新商品详情 + * @param goodsDetail + * @return + */ + int updateGoodsDetail(GoodsDetail goodsDetail); } diff --git a/src/main/java/cn/chjyj/szwh/service/GoodsDetailService.java b/src/main/java/cn/chjyj/szwh/service/GoodsDetailService.java index 80b11d0..0212f87 100644 --- a/src/main/java/cn/chjyj/szwh/service/GoodsDetailService.java +++ b/src/main/java/cn/chjyj/szwh/service/GoodsDetailService.java @@ -12,4 +12,12 @@ public interface GoodsDetailService { * @return */ GoodsDetail getGoodsDetailBygid(Integer goodDetailId); + + /** + * 远程获取商品产品图片,并更新本地 + * @param image 图片路径 + * @param id 本地产品自编号 + * @return + */ + int getRemoteGoodsImageAndUpdate(String image,Integer id); } diff --git a/src/main/java/cn/chjyj/szwh/service/GoodsService.java b/src/main/java/cn/chjyj/szwh/service/GoodsService.java index 12a6739..6336adb 100644 --- a/src/main/java/cn/chjyj/szwh/service/GoodsService.java +++ b/src/main/java/cn/chjyj/szwh/service/GoodsService.java @@ -21,4 +21,5 @@ public interface GoodsService { * @return */ Goods getGoodsByIsli(String goodsIsli); + } diff --git a/src/main/java/cn/chjyj/szwh/service/impl/GoodsDetailServiceImpl.java b/src/main/java/cn/chjyj/szwh/service/impl/GoodsDetailServiceImpl.java index 4e831d8..45a67a6 100644 --- a/src/main/java/cn/chjyj/szwh/service/impl/GoodsDetailServiceImpl.java +++ b/src/main/java/cn/chjyj/szwh/service/impl/GoodsDetailServiceImpl.java @@ -1,13 +1,22 @@ package cn.chjyj.szwh.service.impl; import cn.chjyj.szwh.bean.GoodsDetail; +import cn.chjyj.szwh.exception.ChException; import cn.chjyj.szwh.mapper.GoodsDetailMapper; import cn.chjyj.szwh.service.GoodsDetailService; +import cn.chjyj.szwh.utils.ProperUtils; +import cn.chjyj.szwh.utils.RequestUtils; +import cn.chjyj.szwh.utils.SignUtils; +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; @Service public class GoodsDetailServiceImpl implements GoodsDetailService { + // 日志 + private static Log log = LogFactory.getLog(GoodsDetailServiceImpl.class); @Autowired private GoodsDetailMapper goodsDetailMapper; @@ -15,4 +24,27 @@ public class GoodsDetailServiceImpl implements GoodsDetailService { public GoodsDetail getGoodsDetailBygid(Integer goodDetailId) { return goodsDetailMapper.getGoodsDetailBygid(goodDetailId); } + + @Override + public int getRemoteGoodsImageAndUpdate(String image, Integer id) { + String remote_goodsurl= ProperUtils.getSzwhProp("REAL_URL")+ "/dist/api/v2/preview?url="+image; + // 签名 + String sign= SignUtils.createSign("distribute"); + JSONObject jsonObject = RequestUtils.doGetUrlData(remote_goodsurl,"dist_token",sign); + log.debug("remote result:"+jsonObject); + String retcode = jsonObject.getString("resultCode"); + if(!"00000000".equalsIgnoreCase(retcode)){ + log.warn("remote result code :"+retcode); + throw new ChException("数据获取失败"); + } + + //返回的图片数据 + String imgdata= jsonObject.getString("data"); + GoodsDetail goodsDetail = new GoodsDetail(); + goodsDetail.setId(id); + goodsDetail.setGoodsImage(imgdata); + // 执行更新操作 + goodsDetailMapper.updateGoodsDetail(goodsDetail); + return 0; + } } diff --git a/src/main/resources/mapper/szwh/GoodsDetailMapper.xml b/src/main/resources/mapper/szwh/GoodsDetailMapper.xml index 751e7ea..ef7991a 100644 --- a/src/main/resources/mapper/szwh/GoodsDetailMapper.xml +++ b/src/main/resources/mapper/szwh/GoodsDetailMapper.xml @@ -77,42 +77,15 @@ ) - + + update - set - - - password=#{password}, - - - urealname=#{urealname}, - - - ubirth =#{ubirth}, - - - gender=#{gender}, - - - nickname=#{nickName}, - - - avatarurl=#{avatarurl}, - - - nickname=#{nickname}, - - - platfrom=#{platfrom}, - - - sessionkey=#{sessionkey}, - - - openid=#{openid}, - - uname=#{uname} - where uid=#{uid}; + + + goods_image=#{goodsImage}, + + + where id=#{id}; \ No newline at end of file diff --git a/src/test/java/cn/chjyj/szwh/mapper/GoodsDetailMapperTest.java b/src/test/java/cn/chjyj/szwh/mapper/GoodsDetailMapperTest.java index a24c0c6..dde6718 100644 --- a/src/test/java/cn/chjyj/szwh/mapper/GoodsDetailMapperTest.java +++ b/src/test/java/cn/chjyj/szwh/mapper/GoodsDetailMapperTest.java @@ -3,9 +3,12 @@ package cn.chjyj.szwh.mapper; import cn.chjyj.szwh.bean.GoodsDetail; import org.junit.Test; import org.junit.runner.RunWith; +import org.omg.CORBA.PUBLIC_MEMBER; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.transaction.annotation.Transactional; import static org.junit.Assert.*; @@ -21,4 +24,15 @@ public class GoodsDetailMapperTest { GoodsDetail goodsDetail = goodsDetailMapper.getGoodsDetailBygid(gdid); System.out.println(goodsDetail.getGoodsName()); } + + @Transactional + @Rollback + @Test + public void updateGoodsImage(){ + GoodsDetail goodsDetail = new GoodsDetail(); + goodsDetail.setId(1); + goodsDetail.setGoodsImage("sss"); + // + goodsDetailMapper.updateGoodsDetail(goodsDetail); + } } \ No newline at end of file