From 7e8dcbf1613e82ac69576d51b041fbf77a0554c4 Mon Sep 17 00:00:00 2001 From: xyiege Date: Sat, 6 Aug 2022 00:43:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E6=92=A4=E9=94=80=E5=95=86?= =?UTF-8?q?=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/AdminGoodsController.java | 17 ++-- .../cn/chjyj/szwh/mapper/GoodsMapper.java | 8 ++ .../cn/chjyj/szwh/service/GoodsService.java | 2 +- .../szwh/service/impl/GoodsServiceImpl.java | 85 ++++++++++++------- urls.md | 5 +- 5 files changed, 80 insertions(+), 37 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 1e65e8c..2e0c102 100644 --- a/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java +++ b/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java @@ -8,6 +8,7 @@ import cn.chjyj.szwh.service.UserService; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.auth0.jwt.JWT; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -258,11 +259,17 @@ public class AdminGoodsController extends BaseController { @RequestMapping("/offGoods") - public JSONObject offGoods(@RequestBody String jstr){ - JSONObject request = JSONObject.parseObject(jstr); - String goodsIsli = request.getString("goods_isli"); - String reason = request.getString("reason"); - goodsService.offGoods(goodsIsli,reason); + public JSONObject offGoods(@RequestBody String jstr,HttpServletRequest request){ + String token = request.getHeader("token"); //请求头中获取 + + JSONObject rqjson = JSONObject.parseObject(jstr); + String goodsIsli = rqjson.getString("goods_isli"); + String reason = rqjson.getString("reason"); + // 用户名信息 + // token中抽取当前登录的用户名 + String accountName = JWT.decode(token).getClaim("accountName").asString(); + // 执行结果 + Map rtmap = goodsService.offGoods(goodsIsli,reason,accountName); jsonObject.put("code",200); jsonObject.put("msg","申请下架成功"); return jsonObject; diff --git a/src/main/java/cn/chjyj/szwh/mapper/GoodsMapper.java b/src/main/java/cn/chjyj/szwh/mapper/GoodsMapper.java index 11841cf..85c507d 100644 --- a/src/main/java/cn/chjyj/szwh/mapper/GoodsMapper.java +++ b/src/main/java/cn/chjyj/szwh/mapper/GoodsMapper.java @@ -124,4 +124,12 @@ public interface GoodsMapper { * @return */ int updateRecommend(@Param("goodsisli") String goodsisli,@Param("vale") int val); + + /** + * 更新产品信息 + * @param gmap + * @param gid + * @return + */ + int updateGoods(@Param("map") Map gmap,@Param("gid") Integer gid); } diff --git a/src/main/java/cn/chjyj/szwh/service/GoodsService.java b/src/main/java/cn/chjyj/szwh/service/GoodsService.java index 9b848be..61d17ad 100644 --- a/src/main/java/cn/chjyj/szwh/service/GoodsService.java +++ b/src/main/java/cn/chjyj/szwh/service/GoodsService.java @@ -63,7 +63,7 @@ public interface GoodsService { * @param reason * @return */ - void offGoods(String goodsIsli, String reason); + Map offGoods(String goodsIsli, String reason,String username); /** * 增加到排行榜 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 4005c41..3cb3a53 100644 --- a/src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java +++ b/src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java @@ -3,15 +3,18 @@ package cn.chjyj.szwh.service.impl; import cn.chjyj.szwh.bean.Goods; import cn.chjyj.szwh.bean.GoodsDetail; import cn.chjyj.szwh.bean.GoodsSource; +import cn.chjyj.szwh.bean.OperationLog; 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.mapper.GoodsSourceMapper; +import cn.chjyj.szwh.mapper.OperationLogMapper; 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.utils.SzwhApiUtils; import cn.chjyj.szwh.vo.GoodsDetailVo; import cn.chjyj.szwh.vo.GoodsListVo; import cn.chjyj.szwh.vo.OrderDetailVo; @@ -35,6 +38,9 @@ public class GoodsServiceImpl implements GoodsService { private GoodsDetailMapper goodsDetailMapper; @Autowired private GoodsSourceMapper goodsSourceMapper; + // 操作日志 + @Autowired + private OperationLogMapper operationLogMapper; @Override public List getGoodsList(int page) { @@ -308,37 +314,56 @@ public class GoodsServiceImpl implements GoodsService { return retmap; } + /** + * 委托撤销商品 + * @param goodsIsli + * @param reason + * @param username + */ @Override - public void offGoods(String goodsIsli, String reason) { - //todo 暂时跳过 goods 验证 -// $url = env("app.entrust_url") . "/consign/exchange/v1/exchangeRevokeEntrust"; -// $sign = parent::createSign("entrust"); -// $headers = array( -// CURLOPT_HTTPHEADER => array( -// "entrust_token:{$sign}" -// ) -// ); -// $post = [ -// "revokeReason" => $reason, -// "isliCode" => $goods->islicode, -// "status" => 3, -// ]; -// //todo 请求交易所撤销委托接口 接口1.4 -// $res = Http::get($url, $post, $headers); -// if($res['code'] != 200){ -// throw new \think\Exception($res['msg'], 400); -// } -// $res = json_decode($res['data'], true); -// if($res['resultCode'] != "00000000"){ -// throw new \think\Exception($res['resultMsg'], 400); -// } -// Goods::where('id', $goods->id)->update(['apply_out' => 1]); -// $operation_log = [ -// "type" => "goods", -// "log_id" => $goods->id, -// "message" => date('Y-m-d H:i:s') . " 由{$this->account_name}申请撤销委托,撤销原因:{$reason}" -// ]; -// (new OperationLog())->insert($operation_log); + public Map offGoods(String goodsIsli, String reason,String username) { + int code =200; + String msg="成功"; + // 查询商品信息 + Goods goods = goodsMapper.getGoodsFuelByIsLi(goodsIsli); + if(goods==null ){ + msg="没有该条委托数据"; + code=400; + } + if(goods.getGoodsStatus()!=1 && goods.getGoodsStatus()!=5){ + msg="暂时只支持对已发布/暂停中文化数据进行撤销!"; + code=400; + } + if(goods.getApplyOut() == 1){ + msg="请勿重复提交撤销委托申请!"; + code=400; + } + // 满足上述条件后进行远程处理 + JSONObject retjson = SzwhApiUtils.offGoods(reason,goodsIsli); + String errorcode =retjson.getString("resultCode"); + String errmsg = retjson.getString("resultMsg"); + if(!"00000000".equals(errorcode)){ + msg= errmsg; + } + // 更新状态 + Map gmap = new HashMap(); + gmap.put("apply_out",1); + int upret = goodsMapper.updateGoods(gmap,goods.getId()); + + // 返回的map 集合 + Map retmap = new HashMap(); + retmap.put("code",code); + retmap.put("msg",msg); + // 操作日志 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String message=sdf.format(new Date())+"由"+username+"申请撤销委托,撤销原因:"+reason; + OperationLog oplog = new OperationLog(); + oplog.setLogid(goods.getId()); + oplog.setType("goods"); + oplog.setMessage(message); + operationLogMapper.addLog(oplog); + + return retmap; } @Override diff --git a/urls.md b/urls.md index 9330973..b55f179 100644 --- a/urls.md +++ b/urls.md @@ -16,4 +16,7 @@ 7.[SpringBoot中实现定时任务(Quartz)](https://blog.csdn.net/qq_42402854/article/details/110187603) -8. [SpringBoot+Quartz动态管理定时任务](https://blog.csdn.net/xy294636185/article/details/123951509) \ No newline at end of file +8. [SpringBoot+Quartz动态管理定时任务](https://blog.csdn.net/xy294636185/article/details/123951509) + + +10. [httpclient发送get,post,设置header](https://blog.csdn.net/x19910818a/article/details/78491676) \ No newline at end of file