From 819c442ffa2c2494029d24d03426b19d6efe9baf Mon Sep 17 00:00:00 2001 From: xyiege Date: Mon, 18 Jul 2022 11:19:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=93=81=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/AdminGoodsController.java | 32 ++-- .../admin/AdminOrderController.java | 11 +- .../chjyj/szwh/mapper/GoodsDetailMapper.java | 10 ++ .../cn/chjyj/szwh/service/GoodsService.java | 7 + .../szwh/service/impl/GoodsServiceImpl.java | 23 ++- .../java/cn/chjyj/szwh/vo/GoodsDetailVo.java | 143 ++++++++++++++++++ .../mapper/szwh/GoodsDetailMapper.xml | 15 +- 7 files changed, 222 insertions(+), 19 deletions(-) create mode 100644 src/main/java/cn/chjyj/szwh/vo/GoodsDetailVo.java 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 2ca9d88..397bc9e 100644 --- a/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java +++ b/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java @@ -111,28 +111,36 @@ public class AdminGoodsController extends BaseController { /** * 商品详情 - * @param islicode + * @param request * @return */ @RequestMapping("/goodsDetail") - public JSONObject goodsDetail(String islicode, HttpServletRequest request){ + public JSONObject goodsDetail(@RequestBody String jstr, HttpServletRequest request){ String token = request.getHeader("token"); // 需要返回的结果 Map result=new HashMap<>(); // 商品明细id - Goods goods = goodsService.getGoodsByIsli(islicode); - if(goods!=null){ - // 查找用户信息 - User user = userService.getApiUser(goods.getUserIslicode(),token); - result.put("userinfo",user); - GoodsDetail goodsDetail = goodsDetailService.getGoodsDetailBygid(goods.getGoodsDetailId()); + JSONObject json = JSONObject.parseObject(jstr); + String islicode = json.getString("islicode"); +// Goods goods = goodsService.getGoodsByIsli(islicode); +// if(goods!=null){ +// // 查找用户信息 +// User user = userService.getApiUser(goods.getUserIslicode(),token); +// result.put("userinfo",user); +// GoodsDetail goodsDetail = goodsDetailService.getGoodsDetailBygid(goods.getGoodsDetailId()); +// +// }else{ +// throw new ChException("未查询到该标的"); +// } + + Map gdmap = goodsService.getGoodsDetail(islicode); + // 授权方信息 + User user = userService.getApiUser(gdmap.get("user_isli").toString(),token); + gdmap.put("userinfo",user); - }else{ - throw new ChException("未查询到该标的"); - } jsonObject.put("code",200); jsonObject.put("msg","success"); - // jsonObject.put("data",goodsDetail); + jsonObject.put("data",gdmap); return jsonObject; } diff --git a/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java b/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java index 94cf047..0a1b3af 100644 --- a/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java +++ b/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java @@ -75,8 +75,17 @@ public class AdminOrderController extends BaseController { return jsonObject; } + /** + * 标的详情 + * 传递来的是json字符 + * @param request + * @return + */ @PostMapping("/orderDetail") - public JSONObject orderDetail(String batchcode){ + public JSONObject orderDetail(@RequestBody String request){ + JSONObject json = JSONObject.parseObject(request); + String batchcode = json.getString("batchcode"); + Order order = orderService.getOrderByBatchcode(batchcode); jsonObject.put("code",200); jsonObject.put("msg","成功"); diff --git a/src/main/java/cn/chjyj/szwh/mapper/GoodsDetailMapper.java b/src/main/java/cn/chjyj/szwh/mapper/GoodsDetailMapper.java index 7228917..3528323 100644 --- a/src/main/java/cn/chjyj/szwh/mapper/GoodsDetailMapper.java +++ b/src/main/java/cn/chjyj/szwh/mapper/GoodsDetailMapper.java @@ -1,8 +1,11 @@ package cn.chjyj.szwh.mapper; import cn.chjyj.szwh.bean.GoodsDetail; +import cn.chjyj.szwh.vo.GoodsDetailVo; import org.springframework.stereotype.Component; +import java.util.List; + /** * 商品详情 */ @@ -20,4 +23,11 @@ public interface GoodsDetailMapper { * @return */ int updateGoodsDetail(GoodsDetail goodsDetail); + + /** + * 商品明细 + * @param goodsIslicode + * @return + */ + GoodsDetailVo getGoodsDetailVoList(String goodsIslicode); } diff --git a/src/main/java/cn/chjyj/szwh/service/GoodsService.java b/src/main/java/cn/chjyj/szwh/service/GoodsService.java index 5de4728..f99003e 100644 --- a/src/main/java/cn/chjyj/szwh/service/GoodsService.java +++ b/src/main/java/cn/chjyj/szwh/service/GoodsService.java @@ -42,4 +42,11 @@ public interface GoodsService { * @return */ Map getGoodsByMap(Map gmap,int page,int limit); + + /** + * 根据islicode 获取产品信息 + * @param islicode + * @return + */ + Map getGoodsDetail(String islicode); } 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 ae1db49..db76521 100644 --- a/src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java +++ b/src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java @@ -3,12 +3,15 @@ package cn.chjyj.szwh.service.impl; import cn.chjyj.szwh.bean.Goods; import cn.chjyj.szwh.bean.GoodsDetail; import cn.chjyj.szwh.constant.ChConstant; +import cn.chjyj.szwh.exception.ChException; import cn.chjyj.szwh.mapper.GoodsDetailMapper; 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 cn.chjyj.szwh.vo.GoodsDetailVo; +import cn.chjyj.szwh.vo.OrderDetailVo; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.commons.logging.Log; @@ -181,6 +184,24 @@ public class GoodsServiceImpl implements GoodsService { @Override public Map getGoodsDetail(String islicode) { - return null; + Map retmap= new HashMap(); + /** + * 联合查询的结果 + */ + GoodsDetailVo gdv= goodsDetailMapper.getGoodsDetailVoList(islicode); + retmap.put("entrust_goods",gdv); + if(gdv==null){ + log.warn("goods islicode: "+islicode+" ,不存在"); + throw new ChException("未查询到该商品"); + } + // 取到用户信息 + // 返回后远程获取用户信息 userinfo + retmap.put("user_isli",gdv.getUser_islicode()); + + // + retmap.put("gather_arr",""); + retmap.put("oneSource",""); + + return retmap; } } diff --git a/src/main/java/cn/chjyj/szwh/vo/GoodsDetailVo.java b/src/main/java/cn/chjyj/szwh/vo/GoodsDetailVo.java new file mode 100644 index 0000000..4997f28 --- /dev/null +++ b/src/main/java/cn/chjyj/szwh/vo/GoodsDetailVo.java @@ -0,0 +1,143 @@ +package cn.chjyj.szwh.vo; + +/** + * 商品联合查询结果映射 + * 未严格采用驼峰法则 + */ +public class GoodsDetailVo { + private String goods_image; + private String goods_name; + private String goods_islicode; // 来自goods 表 + private String goods_type; + private String goods_entrust; + private String goods_ownership_str; + private String contractual_period; + private String charges_type; + private String earnest_money; + private String price; + private String contractual_start_time; + private String contractualtime_end_time; + private String user_islicode; + private String islicode; + private String goods_detail_id; + + public String getGoods_image() { + return goods_image; + } + + public void setGoods_image(String goods_image) { + this.goods_image = goods_image; + } + + public String getGoods_name() { + return goods_name; + } + + public void setGoods_name(String goods_name) { + this.goods_name = goods_name; + } + + public String getGoods_islicode() { + return goods_islicode; + } + + public void setGoods_islicode(String goods_islicode) { + this.goods_islicode = goods_islicode; + } + + public String getGoods_type() { + return goods_type; + } + + public void setGoods_type(String goods_type) { + this.goods_type = goods_type; + } + + public String getGoods_entrust() { + return goods_entrust; + } + + public void setGoods_entrust(String goods_entrust) { + this.goods_entrust = goods_entrust; + } + + public String getGoods_ownership_str() { + return goods_ownership_str; + } + + public void setGoods_ownership_str(String goods_ownership_str) { + this.goods_ownership_str = goods_ownership_str; + } + + public String getContractual_period() { + return contractual_period; + } + + public void setContractual_period(String contractual_period) { + this.contractual_period = contractual_period; + } + + public String getCharges_type() { + return charges_type; + } + + public void setCharges_type(String charges_type) { + this.charges_type = charges_type; + } + + public String getEarnest_money() { + return earnest_money; + } + + public void setEarnest_money(String earnest_money) { + this.earnest_money = earnest_money; + } + + public String getPrice() { + return price; + } + + public void setPrice(String price) { + this.price = price; + } + + public String getContractual_start_time() { + return contractual_start_time; + } + + public void setContractual_start_time(String contractual_start_time) { + this.contractual_start_time = contractual_start_time; + } + + public String getContractualtime_end_time() { + return contractualtime_end_time; + } + + public void setContractualtime_end_time(String contractualtime_end_time) { + this.contractualtime_end_time = contractualtime_end_time; + } + + public String getUser_islicode() { + return user_islicode; + } + + public void setUser_islicode(String user_islicode) { + this.user_islicode = user_islicode; + } + + public String getIslicode() { + return islicode; + } + + public void setIslicode(String islicode) { + this.islicode = islicode; + } + + public String getGoods_detail_id() { + return goods_detail_id; + } + + public void setGoods_detail_id(String goods_detail_id) { + this.goods_detail_id = goods_detail_id; + } +} diff --git a/src/main/resources/mapper/szwh/GoodsDetailMapper.xml b/src/main/resources/mapper/szwh/GoodsDetailMapper.xml index 34ab5f1..f7c651c 100644 --- a/src/main/resources/mapper/szwh/GoodsDetailMapper.xml +++ b/src/main/resources/mapper/szwh/GoodsDetailMapper.xml @@ -45,11 +45,16 @@ where id=#{goodDetailId} - - + SELECT detail.goods_image,detail.goods_name,goods.goods_islicode,detail.goods_type, + detail.goods_entrust,detail.goods_ownership_str,detail.contractual_period, + detail.charges_type,detail.earnest_money,detail.price,goods.contractual_start_time, + goods.contractualtime_end_time,goods.user_islicode,goods.islicode,detail.id as goods_detail_id + FROM goods + INNER JOIN goods_detail detail ON goods.goods_detail_id = detail.id + WHERE goods.is_deleted=0 + AND goods.goods_islicode=#{islicode}