From 4b2996adb3a774cb7434bdbe0a51c15485366699 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Wed, 10 Jul 2024 18:45:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=82=B9=E6=AD=8C=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/auth/LoginFilter.java | 9 +- .../controller/LoginContoller.java | 13 + .../controller/NotifyController.java | 19 + .../controller/ShopSongController.java | 14 +- .../dao/TbShopSongOrderMapper.java | 6 +- .../entity/TbShopSongOrder.java | 14 +- .../cashierservice/service/PayService.java | 559 ++++++++++-------- .../service/TbShopSongService.java | 9 +- .../service/impl/TbShopSongServiceImpl.java | 33 +- src/main/resources/application-dev.yml | 1 + src/main/resources/application-dev2.yml | 1 + src/main/resources/application-prod.yml | 1 + src/main/resources/application-prod2.yml | 1 + .../mapper/TbShopSongOrderMapper.xml | 20 +- 14 files changed, 402 insertions(+), 298 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/auth/LoginFilter.java b/src/main/java/com/chaozhanggui/system/cashierservice/auth/LoginFilter.java index 3cbf26f..3909182 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/auth/LoginFilter.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/auth/LoginFilter.java @@ -55,7 +55,12 @@ public class LoginFilter implements Filter { "cashierService/product/productInfo", "cashierService/notify/**",//登录部分接口不校验 "notify/**", - "cashierService/table/**" //回调部分接口不校验 + "cashierService/table/**", //回调部分接口不校验 + + // 点歌部分不需要登录 + "/cashierService/song/detail", + "/cashierService/song/record", + "/cashierService/song" ); @Autowired @@ -182,4 +187,4 @@ public class LoginFilter implements Filter { } return false; } -} \ No newline at end of file +} diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/LoginContoller.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/LoginContoller.java index 31b8aa5..df029b0 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/LoginContoller.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/LoginContoller.java @@ -75,6 +75,19 @@ public class LoginContoller { return loginService.wxBusinessLogin(openid,shopId); } + @GetMapping("/wx/business/openId") + public Result getOpenId( + @RequestParam String code + ) { + JSONObject SessionKeyOpenId = WechatUtil.getSessionKeyOrOpenId(code, customAppId, customSecrete); + String openid = SessionKeyOpenId.getString("openid"); + if(Objects.isNull(openid)){ + return Result.fail("获取微信id失败"); + } + + return Result.successWithData(openid); + } + /** * 小程序登录 * diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java index 5a39db3..13eb3e7 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java @@ -147,6 +147,25 @@ public class NotifyController { return null; } + /** + * 点歌支付回调 + * @param request + * @return + */ + @RequestMapping("songOrderCallBack") + public String songOrderCallBack(HttpServletRequest request) { + Map map = getParameterMap(request); + log.info("点歌支付回调返回信息:{}", JSONUtil.toJsonStr(map)); + if (ObjectUtil.isNotEmpty(map) && map.containsKey("code") && "000000".equals(map.get("code") + "")) { + JSONObject object = JSONUtil.parseObj(map.get("bizData")); + if (ObjectUtil.isNotEmpty(object) && object.containsKey("state") && "TRADE_SUCCESS".equals(object.getStr("state"))) { + String orderNo = object.getStr("mchOrderNo"); + return payService.songOrderSuccess(orderNo, DateUtils.getTime(new Date())); + } + } + return null; + } + private Map getParameterMap(HttpServletRequest request) { RequestWrapper requestWrapper = new RequestWrapper(request); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ShopSongController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ShopSongController.java index 528e042..15e1f60 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ShopSongController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ShopSongController.java @@ -1,6 +1,5 @@ package com.chaozhanggui.system.cashierservice.controller; -import com.alibaba.fastjson.JSONObject; import com.chaozhanggui.system.cashierservice.entity.dto.SongOrderDTO; import com.chaozhanggui.system.cashierservice.service.TbShopSongService; import com.chaozhanggui.system.cashierservice.sign.Result; @@ -24,8 +23,9 @@ public class ShopSongController { /** * 获取所有歌曲,支持搜索及分页 - * @param page 页数 - * @param size 数量 + * + * @param page 页数 + * @param size 数量 * @param keyWord 搜索关键字 * @return data */ @@ -42,20 +42,22 @@ public class ShopSongController { @GetMapping("/detail") public Result getRecord( + @RequestHeader("openId") String openId, @RequestParam Integer id ) { - return Result.successWithData(shopSongService.getDetail(TokenUtil.getUserId(), id)); + return Result.successWithData(shopSongService.getDetail(openId, id)); } @GetMapping("/record") public Result getRecord( + @RequestHeader("openId") String openId, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer size, @RequestParam(required = false) Integer state, @RequestParam(defaultValue = "true") boolean isDesc ) { - return Result.successWithData(shopSongService.getRecord(TokenUtil.getUserId(), page, size, state, isDesc)); + return Result.successWithData(shopSongService.getRecord(openId, page, size, state, isDesc)); } @@ -64,6 +66,6 @@ public class ShopSongController { @RequestHeader("openId") String openId, @RequestBody SongOrderDTO songOrderDTO ) { - return Result.successWithData(shopSongService.createOrder(TokenUtil.getUserId(), songOrderDTO, openId)); + return Result.successWithData(shopSongService.createOrder(songOrderDTO, openId)); } } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopSongOrderMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopSongOrderMapper.java index d3382c4..37bd641 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopSongOrderMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopSongOrderMapper.java @@ -34,11 +34,11 @@ public interface TbShopSongOrderMapper { " tb_shop_song_order AS a\n" + " LEFT JOIN tb_shop_song AS b ON a.song_id = b.id\n" + " WHERE\n" + - " a.user_id = #{userId}\n" + + " a.open_id = #{openId}\n" + " AND a.state = #{state}") - List> selectByUserId(@Param("userId") Integer userId, @Param("state") Integer state); + List> selectByUserId(@Param("openId") String openId, @Param("state") Integer state); - Map selectByUserIdAndId(@Param("userId") Integer userId, @Param("id") Integer id); + Map selectByUserIdAndId(@Param("openId") String openId, @Param("id") Integer id); @Select("select * from fycashier.tb_shop_song_order where order_no=#{orderNo};") TbShopSongOrder selectByOrderNo(@Param("orderNo") String orderNo); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopSongOrder.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopSongOrder.java index 960c914..206b519 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopSongOrder.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopSongOrder.java @@ -6,13 +6,13 @@ import java.util.Date; import lombok.Data; /** - * + * * @TableName tb_shop_song_order */ @Data public class TbShopSongOrder implements Serializable { /** - * + * */ private Integer id; @@ -29,7 +29,7 @@ public class TbShopSongOrder implements Serializable { /** * 用户id */ - private Integer userId; + private String openId; /** * 支付金额 @@ -98,7 +98,7 @@ public class TbShopSongOrder implements Serializable { return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) && (this.getSongId() == null ? other.getSongId() == null : this.getSongId().equals(other.getSongId())) && (this.getSongName() == null ? other.getSongName() == null : this.getSongName().equals(other.getSongName())) - && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId())) + && (this.getOpenId() == null ? other.getOpenId() == null : this.getOpenId().equals(other.getOpenId())) && (this.getPayMoney() == null ? other.getPayMoney() == null : this.getPayMoney().equals(other.getPayMoney())) && (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState())) && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime())) @@ -118,7 +118,7 @@ public class TbShopSongOrder implements Serializable { result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); result = prime * result + ((getSongId() == null) ? 0 : getSongId().hashCode()); result = prime * result + ((getSongName() == null) ? 0 : getSongName().hashCode()); - result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode()); + result = prime * result + ((getOpenId() == null) ? 0 : getOpenId().hashCode()); result = prime * result + ((getPayMoney() == null) ? 0 : getPayMoney().hashCode()); result = prime * result + ((getState() == null) ? 0 : getState().hashCode()); result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode()); @@ -141,7 +141,7 @@ public class TbShopSongOrder implements Serializable { sb.append(", id=").append(id); sb.append(", songId=").append(songId); sb.append(", songName=").append(songName); - sb.append(", userId=").append(userId); + sb.append(", openId=").append(openId); sb.append(", payMoney=").append(payMoney); sb.append(", state=").append(state); sb.append(", createTime=").append(createTime); @@ -156,4 +156,4 @@ public class TbShopSongOrder implements Serializable { sb.append("]"); return sb.toString(); } -} \ No newline at end of file +} diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index cd0951f..cc22c8d 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -72,6 +72,9 @@ public class PayService { @Autowired TbShopPayTypeMapper tbShopPayTypeMapper; + @Autowired + private TbShopSongOrderMapper tbShopSongOrderMapper; + @Value("${ysk.url}") private String url; @@ -117,13 +120,15 @@ public class PayService { private String thirdUrl; - @Value("${thirdPay.callInBack}") private String callInBack; @Value("${thirdPay.callFSTBack}") private String callFSTBack; + @Value("${thirdPay.songOrderBack}") + private String songOrderBack; + @Autowired ThirdPayService thirdPayService; @@ -131,7 +136,6 @@ public class PayService { TbUserInfoMapper tbUserInfoMapper; - @Resource private TbGroupOrderInfoMapper tbGroupOrderInfoMapper; @Autowired @@ -150,47 +154,46 @@ public class PayService { @Transactional(rollbackFor = Exception.class) - public Result payOrder(String openId,String orderId,String ip) throws Exception { + public Result payOrder(String openId, String orderId, String ip) throws Exception { - if(ObjectUtil.isEmpty(openId)||Objects.isNull(openId)){ + if (ObjectUtil.isEmpty(openId) || Objects.isNull(openId)) { return Result.fail("付款用户[userId]参数不能为空"); } - TbOrderInfo orderInfo= tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId)); + TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId)); - if(!"unpaid".equals(orderInfo.getStatus())&&!"paying".equals(orderInfo.getStatus())){ + if (!"unpaid".equals(orderInfo.getStatus()) && !"paying".equals(orderInfo.getStatus())) { return Result.fail("订单状态异常,不允许支付"); } if (System.currentTimeMillis() - orderInfo.getCreatedAt() > 60 * 15 * 1000) { return Result.fail("订单十五分钟内有效,当前已超时,请重新下单。"); } - if(ObjectUtil.isNull(orderInfo.getMerchantId())||ObjectUtil.isEmpty(orderInfo.getMerchantId())){ + if (ObjectUtil.isNull(orderInfo.getMerchantId()) || ObjectUtil.isEmpty(orderInfo.getMerchantId())) { return Result.fail("没有对应的商户"); } - List cashierCarts= tbCashierCartMapper.selectByOrderId(orderId,null); - if(ObjectUtil.isEmpty(cashierCarts)||ObjectUtil.isNull(cashierCarts)){ + List cashierCarts = tbCashierCartMapper.selectByOrderId(orderId, null); + if (ObjectUtil.isEmpty(cashierCarts) || ObjectUtil.isNull(cashierCarts)) { return Result.fail("购物车信息不存在"); } - StringBuffer body=new StringBuffer(); + StringBuffer body = new StringBuffer(); for (TbCashierCart cashierCart : cashierCarts) { body.append(cashierCart.getName()); } + TbMerchantThirdApply thirdApply = tbMerchantThirdApplyMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getMerchantId())); - TbMerchantThirdApply thirdApply= tbMerchantThirdApplyMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getMerchantId())); - - if(ObjectUtil.isEmpty(thirdApply)||ObjectUtil.isNull(thirdApply)){ + if (ObjectUtil.isEmpty(thirdApply) || ObjectUtil.isNull(thirdApply)) { return Result.fail("支付通道不存在"); } - TbOrderPayment payment=tbOrderPaymentMapper.selectByOrderId(orderId); - if(ObjectUtil.isEmpty(payment)||payment==null){ - payment=new TbOrderPayment(); + TbOrderPayment payment = tbOrderPaymentMapper.selectByOrderId(orderId); + if (ObjectUtil.isEmpty(payment) || payment == null) { + payment = new TbOrderPayment(); payment.setPayTypeId("ysk"); payment.setAmount(orderInfo.getOrderAmount()); payment.setPaidAmount(orderInfo.getPayAmount()); @@ -204,33 +207,33 @@ public class PayService { payment.setOrderId(orderInfo.getId().toString()); payment.setCreatedAt(System.currentTimeMillis()); tbOrderPaymentMapper.insert(payment); - }else { + } else { payment.setUpdatedAt(System.currentTimeMillis()); tbOrderPaymentMapper.updateByPrimaryKey(payment); } - if("ysk".equals(thirdPayType)){ - PayReq req=new PayReq(); + if ("ysk".equals(thirdPayType)) { + PayReq req = new PayReq(); req.setAppId(thirdApply.getAppId()); req.setTimestamp(System.currentTimeMillis()); req.setIp(ip); req.setMercOrderNo(orderInfo.getOrderNo()); req.setNotifyUrl(callBackurl); - req.setPayAmt(payment.getAmount().setScale(2,BigDecimal.ROUND_DOWN).toPlainString()); + req.setPayAmt(payment.getAmount().setScale(2, BigDecimal.ROUND_DOWN).toPlainString()); req.setPayType("03"); req.setPayWay("WXZF"); req.setSubject("扫码点餐"); req.setUserId(openId); - Map map= BeanUtil.transBeanMap(req); - req.setSign(MD5Util.encrypt(map,thirdApply.getAppToken(),true)); + Map map = BeanUtil.transBeanMap(req); + req.setSign(MD5Util.encrypt(map, thirdApply.getAppToken(), true)); - ResponseEntity response= restTemplate.postForEntity(url.concat("trans/pay"),req,String.class); - if(response.getStatusCodeValue()==200&&ObjectUtil.isNotEmpty(response.getBody())){ - JSONObject object=JSONObject.parseObject(response.getBody()); - if(object.get("code").equals("0")){ + ResponseEntity response = restTemplate.postForEntity(url.concat("trans/pay"), req, String.class); + if (response.getStatusCodeValue() == 200 && ObjectUtil.isNotEmpty(response.getBody())) { + JSONObject object = JSONObject.parseObject(response.getBody()); + if (object.get("code").equals("0")) { payment.setTradeNumber(object.getJSONObject("data").get("orderNumber").toString()); payment.setUpdatedAt(System.currentTimeMillis()); tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); @@ -239,7 +242,7 @@ public class PayService { tbOrderInfoMapper.updateByPrimaryKey(orderInfo); - String key= RedisCst.TABLE_CART.concat(orderInfo.getTableId()).concat("-").concat(orderInfo.getShopId()); + String key = RedisCst.TABLE_CART.concat(orderInfo.getTableId()).concat("-").concat(orderInfo.getShopId()); //清除缓存购物车数据 redisUtil.deleteByKey(key); JSONObject jsonObject1 = new JSONObject(); @@ -249,27 +252,27 @@ public class PayService { jsonObject1.put("data", new JSONArray()); jsonObject1.put("amount", 0); // AppWebSocketServer.AppSendInfo(jsonObject1,key, "",false); - tbCashierCartMapper.updateStatusByOrderId(orderId.toString(),"final"); - return Result.success(CodeEnum.SUCCESS,object.getJSONObject("data")); - }else { + tbCashierCartMapper.updateStatusByOrderId(orderId.toString(), "final"); + return Result.success(CodeEnum.SUCCESS, object.getJSONObject("data")); + } else { return Result.fail(object.getString("msg")); } } - }else { - String reqbody=""; + } else { + String reqbody = ""; - if(body.length()>15){ - reqbody=body.substring(0,6).concat("....").concat(body.substring(body.length()-6,body.length())).toString(); - }else { - reqbody=body.toString(); + if (body.length() > 15) { + reqbody = body.substring(0, 6).concat("....").concat(body.substring(body.length() - 6, body.length())).toString(); + } else { + reqbody = body.toString(); } - PublicResp publicResp= thirdPayService.scanpay(thirdUrl,thirdApply.getAppId(), - reqbody,reqbody,payment.getAmount().setScale(2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)).longValue(),"WECHAT",thirdApply.getSmallAppid(),openId,ip,DateUtils.getsdfTimesSS(),thirdApply.getStoreId(),callFSTBack,null,thirdApply.getAppToken()); - if(ObjectUtil.isNotNull(publicResp)&&ObjectUtil.isNotEmpty(publicResp)){ - if("000000".equals(publicResp.getCode())){ - WxScanPayResp wxScanPayResp= publicResp.getObjData(); - if("TRADE_AWAIT".equals(wxScanPayResp.getState())){ + PublicResp publicResp = thirdPayService.scanpay(thirdUrl, thirdApply.getAppId(), + reqbody, reqbody, payment.getAmount().setScale(2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)).longValue(), "WECHAT", thirdApply.getSmallAppid(), openId, ip, DateUtils.getsdfTimesSS(), thirdApply.getStoreId(), callFSTBack, null, thirdApply.getAppToken()); + if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) { + if ("000000".equals(publicResp.getCode())) { + WxScanPayResp wxScanPayResp = publicResp.getObjData(); + if ("TRADE_AWAIT".equals(wxScanPayResp.getState())) { payment.setTradeNumber(wxScanPayResp.getPayOrderId()); payment.setUpdatedAt(System.currentTimeMillis()); tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); @@ -278,7 +281,7 @@ public class PayService { tbOrderInfoMapper.updateByPrimaryKey(orderInfo); - String key= RedisCst.TABLE_CART.concat(orderInfo.getTableId()).concat("-").concat(orderInfo.getShopId()); + String key = RedisCst.TABLE_CART.concat(orderInfo.getTableId()).concat("-").concat(orderInfo.getShopId()); //清除缓存购物车数据 redisUtil.deleteByKey(key); JSONObject jsonObject1 = new JSONObject(); @@ -289,10 +292,10 @@ public class PayService { jsonObject1.put("amount", 0); // AppWebSocketServer.AppSendInfo(jsonObject1,key, "",false); - tbCashierCartMapper.updateStatusByOrderId(orderId.toString(),"final"); + tbCashierCartMapper.updateStatusByOrderId(orderId.toString(), "final"); ObjectMapper mapper = new ObjectMapper(); - return Result.success(CodeEnum.SUCCESS,mapper.readTree(wxScanPayResp.getPayInfo())); - }else{ + return Result.success(CodeEnum.SUCCESS, mapper.readTree(wxScanPayResp.getPayInfo())); + } else { return Result.fail(publicResp.getMsg()); } } @@ -300,19 +303,12 @@ public class PayService { } - return Result.fail("失败"); } - - - - - - @Transactional(rollbackFor = Exception.class) - public Result accountPay(String orderId, String memberId, String token,String pwd) { + public Result accountPay(String orderId, String memberId, String token, String pwd) { if (ObjectUtil.isEmpty(orderId) || ObjectUtil.isEmpty(memberId)) { return Result.fail("参数错误"); } @@ -326,21 +322,21 @@ public class PayService { } - TbUserInfo userInfo= tbUserInfoMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getUserId())); - if(ObjectUtil.isEmpty(userInfo)){ + TbUserInfo userInfo = tbUserInfoMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getUserId())); + if (ObjectUtil.isEmpty(userInfo)) { return Result.fail("未获取到用户信息"); } - if(StringUtils.isBlank(userInfo.getPwd())){ + if (StringUtils.isBlank(userInfo.getPwd())) { // return Result.fail("支付密码未设置"); - return Result.success(CodeEnum.SUCCESS,"3"); + return Result.success(CodeEnum.SUCCESS, "3"); } - if(!userInfo.getPwd().equals(MD5Utils.md5(pwd))){ + if (!userInfo.getPwd().equals(MD5Utils.md5(pwd))) { return Result.fail("支付密码错误"); } - if (!"unpaid".equals(orderInfo.getStatus()) && !"paying".equals(orderInfo.getStatus()) ) { + if (!"unpaid".equals(orderInfo.getStatus()) && !"paying".equals(orderInfo.getStatus())) { return Result.fail("订单状态异常"); } @@ -352,14 +348,14 @@ public class PayService { TbShopUser user = tbShopUserMapper.selectByPrimaryKey(memberId); - if (ObjectUtil.isEmpty(user) || user.getIsVip()==null || !"1".equals(user.getIsVip().toString())) { + if (ObjectUtil.isEmpty(user) || user.getIsVip() == null || !"1".equals(user.getIsVip().toString())) { // return Result.failCode("会员卡余额不足","1"); - return Result.success(CodeEnum.SUCCESS,"4"); + return Result.success(CodeEnum.SUCCESS, "4"); } if (N.gt(orderInfo.getOrderAmount(), user.getAmount())) { // return Result.failCode("会员卡余额不足","2"); - return Result.success(CodeEnum.SUCCESS,"2"); + return Result.success(CodeEnum.SUCCESS, "2"); } user.setAmount(user.getAmount().subtract(orderInfo.getOrderAmount())); @@ -405,37 +401,37 @@ public class PayService { producer.printMechine(orderId); sendOrderToClient(orderInfo); - return Result.success(CodeEnum.SUCCESS,"1"); + return Result.success(CodeEnum.SUCCESS, "1"); } @Transactional(rollbackFor = Exception.class) - public Result groupOrderPay(String orderId, String payType, String userId, String ip,String pwd) throws JsonProcessingException { + public Result groupOrderPay(String orderId, String payType, String userId, String ip, String pwd) throws JsonProcessingException { TbGroupOrderInfo orderInfo = tbGroupOrderInfoMapper.queryById(Integer.valueOf(orderId)); if (!"unpaid".equals(orderInfo.getStatus())) { return Result.fail("订单状态异常,不允许支付"); } - if(payType.equals("deposit")){ + if (payType.equals("deposit")) { int count = tbShopPayTypeMapper.countSelectByShopIdAndPayType(orderInfo.getShopId().toString(), "deposit"); if (count < 1) { return Result.fail("店铺未开通此支付方式"); } - TbUserInfo userInfo= tbUserInfoMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getUserId())); - if(ObjectUtil.isEmpty(userInfo)){ + TbUserInfo userInfo = tbUserInfoMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getUserId())); + if (ObjectUtil.isEmpty(userInfo)) { return Result.fail("未获取到用户信息"); } - if(!userInfo.getPwd().equals(MD5Utils.md5(pwd))){ + if (!userInfo.getPwd().equals(MD5Utils.md5(pwd))) { return Result.fail("支付密码错误"); } - TbShopUser user = tbShopUserMapper.selectByUserIdAndShopId(userId,orderInfo.getShopId().toString()); + TbShopUser user = tbShopUserMapper.selectByUserIdAndShopId(userId, orderInfo.getShopId().toString()); if (ObjectUtil.isEmpty(user) || !"1".equals(user.getIsVip().toString())) { - return Result.failCode("会员卡余额不足","1"); + return Result.failCode("会员卡余额不足", "1"); } if (N.gt(orderInfo.getPayAmount(), user.getAmount())) { - return Result.failCode("会员卡余额不足","2"); + return Result.failCode("会员卡余额不足", "2"); } user.setAmount(user.getAmount().subtract(orderInfo.getOrderAmount())); @@ -474,8 +470,7 @@ public class PayService { jsonObject.put("orderId", orderId); producer.putOrderCollect(jsonObject.toJSONString()); return Result.success(CodeEnum.SUCCESS); - } - else { + } else { TbMerchantAccount tbMerchantAccount = merchantAccountMapper.selectByShopId(orderInfo.getShopId().toString()); if (tbMerchantAccount == null) { throw new MsgException("生成订单错误"); @@ -490,7 +485,7 @@ public class PayService { if (ObjectUtil.isEmpty(thirdApply) || ObjectUtil.isNull(thirdApply)) { return Result.fail("支付通道不存在"); } - StringBuffer body=new StringBuffer(); + StringBuffer body = new StringBuffer(); body.append(orderInfo.getProName()); TbOrderPayment payment = tbOrderPaymentMapper.selectByOrderId(orderInfo.getOrderNo()); if (ObjectUtil.isEmpty(payment) || payment == null) { @@ -513,8 +508,7 @@ public class PayService { payment.setOrderId(orderInfo.getOrderNo()); payment.setCreatedAt(System.currentTimeMillis()); tbOrderPaymentMapper.insert(payment); - } - else { + } else { if (payType.equals("wechatPay")) { payment.setPayName("微信支付"); payment.setPayType("wechatPay"); @@ -525,13 +519,13 @@ public class PayService { payment.setUpdatedAt(System.currentTimeMillis()); tbOrderPaymentMapper.updateByPrimaryKey(payment); } - if("ysk".equals(thirdPayType)){ + if ("ysk".equals(thirdPayType)) { PayReq req = new PayReq(); req.setAppId(thirdApply.getAppId()); req.setTimestamp(System.currentTimeMillis()); req.setIp(ip); req.setMercOrderNo(orderInfo.getOrderNo()); - req.setNotifyUrl(callBackGroupurl+"Ysk"); + req.setNotifyUrl(callBackGroupurl + "Ysk"); req.setPayAmt(payment.getAmount().setScale(2, BigDecimal.ROUND_DOWN).toPlainString()); if (payType.equals("wechatPay")) { req.setPayType("03"); @@ -546,7 +540,7 @@ public class PayService { ResponseEntity response = restTemplate.postForEntity(url.concat("trans/pay"), req, String.class); if (response.getStatusCodeValue() == 200 && ObjectUtil.isNotEmpty(response.getBody())) { JSONObject object = JSONObject.parseObject(response.getBody()); - log.info("团购卷支付响应:{}",object); + log.info("团购卷支付响应:{}", object); if (object.get("code").equals("0")) { payment.setTradeNumber(object.getJSONObject("data").get("orderNumber").toString()); payment.setUpdatedAt(System.currentTimeMillis()); @@ -560,16 +554,15 @@ public class PayService { return Result.fail("支付失败"); } } - } - else { - String reqbody=""; + } else { + String reqbody = ""; - if(body.length()>15){ - reqbody=body.substring(0,6).concat("....").concat(body.substring(body.length()-6,body.length())).toString(); - }else { - reqbody=body.toString(); + if (body.length() > 15) { + reqbody = body.substring(0, 6).concat("....").concat(body.substring(body.length() - 6, body.length())).toString(); + } else { + reqbody = body.toString(); } - PublicResp publicResp= thirdPayService.scanpay( + PublicResp publicResp = thirdPayService.scanpay( thirdUrl, thirdApply.getAppId(), reqbody, @@ -585,11 +578,11 @@ public class PayService { callBackGroupurl, null, thirdApply.getAppToken()); - if(ObjectUtil.isNotNull(publicResp)&&ObjectUtil.isNotEmpty(publicResp)){ - if("000000".equals(publicResp.getCode())){ - WxScanPayResp wxScanPayResp= publicResp.getObjData(); - log.info("团购订单下单结果2:{}",wxScanPayResp); - if("TRADE_AWAIT".equals(wxScanPayResp.getState())){ + if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) { + if ("000000".equals(publicResp.getCode())) { + WxScanPayResp wxScanPayResp = publicResp.getObjData(); + log.info("团购订单下单结果2:{}", wxScanPayResp); + if ("TRADE_AWAIT".equals(wxScanPayResp.getState())) { payment.setTradeNumber(wxScanPayResp.getPayOrderId()); payment.setUpdatedAt(System.currentTimeMillis()); tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); @@ -598,11 +591,11 @@ public class PayService { tbGroupOrderInfoMapper.update(orderInfo); tbProductMapper.upGroupRealSalesNumber(orderInfo.getProId().toString(), orderInfo.getNumber()); ObjectMapper mapper = new ObjectMapper(); - return Result.success(CodeEnum.SUCCESS,mapper.readTree(wxScanPayResp.getPayInfo())); - } else{ + return Result.success(CodeEnum.SUCCESS, mapper.readTree(wxScanPayResp.getPayInfo())); + } else { return Result.fail(wxScanPayResp.getNote()); } - }else { + } else { return Result.fail(publicResp.getMsg()); } } @@ -618,52 +611,51 @@ public class PayService { @Transactional(rollbackFor = Exception.class) public Result modifyOrderStatus(Integer orderId) throws IOException { - TbOrderInfo orderInfo= tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId)); - if(ObjectUtil.isEmpty(orderInfo)){ + TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId)); + if (ObjectUtil.isEmpty(orderInfo)) { return Result.fail("订单信息不存在"); } - if("paying".equals(orderInfo.getStatus())){ - TbOrderPayment payment= tbOrderPaymentMapper.selectByOrderId(orderInfo.getId().toString()); - if(ObjectUtil.isNotEmpty(payment)&&ObjectUtil.isNotEmpty(payment.getTradeNumber())){ + if ("paying".equals(orderInfo.getStatus())) { + TbOrderPayment payment = tbOrderPaymentMapper.selectByOrderId(orderInfo.getId().toString()); + if (ObjectUtil.isNotEmpty(payment) && ObjectUtil.isNotEmpty(payment.getTradeNumber())) { - TbMerchantThirdApply thirdApply= tbMerchantThirdApplyMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getMerchantId())); + TbMerchantThirdApply thirdApply = tbMerchantThirdApplyMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getMerchantId())); - if(ObjectUtil.isEmpty(thirdApply)||ObjectUtil.isNull(thirdApply)){ + if (ObjectUtil.isEmpty(thirdApply) || ObjectUtil.isNull(thirdApply)) { return Result.fail("支付通道不存在"); } - - if("ysk".equals(thirdPayType)){ - TradeQueryReq req=new TradeQueryReq(); + if ("ysk".equals(thirdPayType)) { + TradeQueryReq req = new TradeQueryReq(); req.setAppId(thirdApply.getAppId()); req.setTimestamp(System.currentTimeMillis()); req.setOrderNumber(payment.getTradeNumber()); - Map map= BeanUtil.transBeanMap(req); + Map map = BeanUtil.transBeanMap(req); - req.setSign(MD5Util.encrypt(map,thirdApply.getAppToken(),true)); + req.setSign(MD5Util.encrypt(map, thirdApply.getAppToken(), true)); - ResponseEntity response= restTemplate.postForEntity(url.concat("merchantOrder/tradeQuery"),req,String.class); - if(response.getStatusCodeValue()==200&&ObjectUtil.isNotEmpty(response.getBody())){ - JSONObject object=JSONObject.parseObject(response.getBody()); + ResponseEntity response = restTemplate.postForEntity(url.concat("merchantOrder/tradeQuery"), req, String.class); + if (response.getStatusCodeValue() == 200 && ObjectUtil.isNotEmpty(response.getBody())) { + JSONObject object = JSONObject.parseObject(response.getBody()); - if(object.get("code").equals("0")){ - JSONObject data=object.getJSONObject("data"); - String status=data.getString("status"); - String cartStatus=""; - switch (status){ + if (object.get("code").equals("0")) { + JSONObject data = object.getJSONObject("data"); + String status = data.getString("status"); + String cartStatus = ""; + switch (status) { case "0": //交易失败 break; case "1": //交易成功 //修改数据库中购物车数据 - int cartCount= tbCashierCartMapper.updateStatusByOrderId(orderId.toString(),"final"); + int cartCount = tbCashierCartMapper.updateStatusByOrderId(orderId.toString(), "final"); - log.info("更新购物车:{}",cartCount); + log.info("更新购物车:{}", cartCount); //更新子单状态 - tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId),"closed"); + tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed"); //修改主单状态 orderInfo.setStatus("closed"); @@ -673,50 +665,49 @@ public class PayService { tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); - JSONObject jsonObject=new JSONObject(); - jsonObject.put("token",0); - jsonObject.put("type","wxcreate"); - jsonObject.put("orderId",orderInfo.getId().toString()); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("token", 0); + jsonObject.put("type", "wxcreate"); + jsonObject.put("orderId", orderInfo.getId().toString()); producer.putOrderCollect(jsonObject.toJSONString()); - log.info("发送打印数据"); producer.printMechine(orderInfo.getId() + ""); - return Result.success(CodeEnum.SUCCESS,orderId); + return Result.success(CodeEnum.SUCCESS, orderId); case "2": //退款成功 - cartStatus="refund"; + cartStatus = "refund"; orderInfo.setStatus("refund"); break; case "3": //退款失败 break; case "4": //退款中 - cartStatus="refunding"; + cartStatus = "refunding"; orderInfo.setStatus("refunding"); break; } - tbCashierCartMapper.updateStatusByOrderId(orderId.toString(),cartStatus); + tbCashierCartMapper.updateStatusByOrderId(orderId.toString(), cartStatus); orderInfo.setUpdatedAt(System.currentTimeMillis()); tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); } } - }else { - PublicResp publicResp=thirdPayService.queryOrder(thirdUrl,thirdApply.getAppId(),payment.getTradeNumber(),null,thirdApply.getAppToken()); - if(ObjectUtil.isNotNull(publicResp)&&ObjectUtil.isNotEmpty(publicResp)){ - if("000000".equals(publicResp.getCode())){ - String cartStatus=""; - switch (publicResp.getObjData().getState()){ + } else { + PublicResp publicResp = thirdPayService.queryOrder(thirdUrl, thirdApply.getAppId(), payment.getTradeNumber(), null, thirdApply.getAppToken()); + if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) { + if ("000000".equals(publicResp.getCode())) { + String cartStatus = ""; + switch (publicResp.getObjData().getState()) { case "TRADE_SUCCESS": //修改数据库中购物车数据 - int cartCount= tbCashierCartMapper.updateStatusByOrderId(orderId.toString(),"final"); + int cartCount = tbCashierCartMapper.updateStatusByOrderId(orderId.toString(), "final"); - log.info("更新购物车:{}",cartCount); + log.info("更新购物车:{}", cartCount); //更新子单状态 - tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId),"closed"); + tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed"); //修改主单状态 orderInfo.setStatus("closed"); @@ -726,22 +717,21 @@ public class PayService { tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); - JSONObject jsonObject=new JSONObject(); - jsonObject.put("token",0); - jsonObject.put("type","wxcreate"); - jsonObject.put("orderId",orderInfo.getId().toString()); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("token", 0); + jsonObject.put("type", "wxcreate"); + jsonObject.put("orderId", orderInfo.getId().toString()); producer.putOrderCollect(jsonObject.toJSONString()); - log.info("发送打印数据"); producer.printMechine(orderInfo.getId() + ""); sendOrderToClient(orderInfo); redisUtil.deleteByKey(RedisCst.ORDER_EXPIRED.concat(orderInfo.getId().toString())); - return Result.success(CodeEnum.SUCCESS,orderId); + return Result.success(CodeEnum.SUCCESS, orderId); case "REFUND_ING": - cartStatus="refunding"; + cartStatus = "refunding"; orderInfo.setStatus("refunding"); break; } @@ -751,42 +741,41 @@ public class PayService { } } - return Result.success(CodeEnum.SUCCESS,orderId); + return Result.success(CodeEnum.SUCCESS, orderId); } @Transactional(rollbackFor = Exception.class) - public Result memberIn(String openId,String userId,String amount,String shopId,String ip) throws JsonProcessingException { - if(ObjectUtil.isEmpty(openId)||ObjectUtil.isEmpty(userId)){ + public Result memberIn(String openId, String userId, String amount, String shopId, String ip) throws JsonProcessingException { + if (ObjectUtil.isEmpty(openId) || ObjectUtil.isEmpty(userId)) { return Result.fail("用户信息允许为空"); } - TbUserInfo userInfo= tbUserInfoMapper.selectByPrimaryKey(Integer.valueOf(userId)); - if(ObjectUtil.isEmpty(userInfo)){ + TbUserInfo userInfo = tbUserInfoMapper.selectByPrimaryKey(Integer.valueOf(userId)); + if (ObjectUtil.isEmpty(userInfo)) { return Result.fail("用户基本信息不存在"); } - TbShopUser tbShopUser= tbShopUserMapper.selectByUserIdAndShopId(userId,shopId); - if(ObjectUtil.isEmpty(tbShopUser)){ + TbShopUser tbShopUser = tbShopUserMapper.selectByUserIdAndShopId(userId, shopId); + if (ObjectUtil.isEmpty(tbShopUser)) { return Result.fail("对应的用户信息不存在"); } - TbShopInfo shopInfo= tbShopInfoMapper.selectByPrimaryKey(Integer.valueOf(shopId)); - if(ObjectUtil.isEmpty(shopInfo)){ + TbShopInfo shopInfo = tbShopInfoMapper.selectByPrimaryKey(Integer.valueOf(shopId)); + if (ObjectUtil.isEmpty(shopInfo)) { return Result.fail("对应的店铺信息不存在"); } - - TbMerchantThirdApply thirdApply= tbMerchantThirdApplyMapper.selectByPrimaryKey(Integer.valueOf(shopInfo.getMerchantId())); - if(ObjectUtil.isEmpty(thirdApply)||ObjectUtil.isNull(thirdApply)){ + TbMerchantThirdApply thirdApply = tbMerchantThirdApplyMapper.selectByPrimaryKey(Integer.valueOf(shopInfo.getMerchantId())); + if (ObjectUtil.isEmpty(thirdApply) || ObjectUtil.isNull(thirdApply)) { return Result.fail("支付通道不存在"); } - BigDecimal payAmount= new BigDecimal(amount).setScale(2,BigDecimal.ROUND_DOWN); + BigDecimal payAmount = new BigDecimal(amount).setScale(2, BigDecimal.ROUND_DOWN); - TbMemberIn memberIn=new TbMemberIn(); + TbMemberIn memberIn = new TbMemberIn(); memberIn.setAmount(payAmount); memberIn.setUserId(Integer.valueOf(tbShopUser.getUserId())); memberIn.setCode(tbShopUser.getCode()); @@ -797,8 +786,8 @@ public class PayService { tbMemberInMapper.insert(memberIn); - if("ysk".equals(thirdPayType)){ - PayReq req=new PayReq(); + if ("ysk".equals(thirdPayType)) { + PayReq req = new PayReq(); req.setAppId(thirdApply.getAppId()); req.setTimestamp(System.currentTimeMillis()); @@ -812,40 +801,40 @@ public class PayService { req.setUserId(openId); - Map map= BeanUtil.transBeanMap(req); - req.setSign(MD5Util.encrypt(map,thirdApply.getAppToken(),true)); + Map map = BeanUtil.transBeanMap(req); + req.setSign(MD5Util.encrypt(map, thirdApply.getAppToken(), true)); - ResponseEntity response= restTemplate.postForEntity(url.concat("trans/pay"),req,String.class); - if(response.getStatusCodeValue()==200&&ObjectUtil.isNotEmpty(response.getBody())){ - JSONObject object=JSONObject.parseObject(response.getBody()); - if(object.get("code").equals("0")){ + ResponseEntity response = restTemplate.postForEntity(url.concat("trans/pay"), req, String.class); + if (response.getStatusCodeValue() == 200 && ObjectUtil.isNotEmpty(response.getBody())) { + JSONObject object = JSONObject.parseObject(response.getBody()); + if (object.get("code").equals("0")) { memberIn.setOrderNo(object.getJSONObject("data").get("orderNumber").toString()); memberIn.setUpdateTime(new Date()); tbMemberInMapper.updateByPrimaryKeySelective(memberIn); - return Result.success(CodeEnum.SUCCESS,object.getJSONObject("data")); - }else { + return Result.success(CodeEnum.SUCCESS, object.getJSONObject("data")); + } else { return Result.fail(object.getString("msg")); } } - }else { - String orderNo=DateUtils.getsdfTimesSS(); - PublicResp publicResp= thirdPayService - .scanpay(thirdUrl,thirdApply.getAppId(), - "会员充值","会员充值",new BigDecimal(amount).setScale(2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)).longValue(),"WECHAT",thirdApply.getSmallAppid(),openId,ip, orderNo,thirdApply.getStoreId(),callInBack,null,thirdApply.getAppToken()); - if(ObjectUtil.isNotNull(publicResp)&&ObjectUtil.isNotEmpty(publicResp)){ - if("000000".equals(publicResp.getCode())){ - WxScanPayResp wxScanPayResp= publicResp.getObjData(); - if("TRADE_AWAIT".equals(wxScanPayResp.getState())){ + } else { + String orderNo = DateUtils.getsdfTimesSS(); + PublicResp publicResp = thirdPayService + .scanpay(thirdUrl, thirdApply.getAppId(), + "会员充值", "会员充值", new BigDecimal(amount).setScale(2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)).longValue(), "WECHAT", thirdApply.getSmallAppid(), openId, ip, orderNo, thirdApply.getStoreId(), callInBack, null, thirdApply.getAppToken()); + if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) { + if ("000000".equals(publicResp.getCode())) { + WxScanPayResp wxScanPayResp = publicResp.getObjData(); + if ("TRADE_AWAIT".equals(wxScanPayResp.getState())) { memberIn.setOrderNo(orderNo); memberIn.setTradeNo(wxScanPayResp.getPayOrderId()); memberIn.setUpdateTime(new Date()); tbMemberInMapper.updateByPrimaryKeySelective(memberIn); ObjectMapper mapper = new ObjectMapper(); - return Result.success(CodeEnum.SUCCESS,mapper.readTree(wxScanPayResp.getPayInfo())); + return Result.success(CodeEnum.SUCCESS, mapper.readTree(wxScanPayResp.getPayInfo())); - }else{ + } else { return Result.fail(publicResp.getMsg()); } } @@ -855,7 +844,6 @@ public class PayService { } - @Transactional(rollbackFor = Exception.class) public String callBackPay(String payOrderNO) { TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPayOrderNo(payOrderNO); @@ -879,10 +867,10 @@ public class PayService { tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); - JSONObject jsonObject=new JSONObject(); - jsonObject.put("token",0); - jsonObject.put("type","wxcreate"); - jsonObject.put("orderId",orderInfo.getId().toString()); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("token", 0); + jsonObject.put("type", "wxcreate"); + jsonObject.put("orderId", orderInfo.getId().toString()); producer.putOrderCollect(jsonObject.toJSONString()); @@ -897,7 +885,6 @@ public class PayService { } - @Transactional(rollbackFor = Exception.class) public String callBackPayFST(String payOrderNO) { TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPayOrderNo(payOrderNO); @@ -921,18 +908,18 @@ public class PayService { tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); - JSONObject jsonObject=new JSONObject(); - jsonObject.put("token",0); - jsonObject.put("type","wxcreate"); - jsonObject.put("orderId",orderInfo.getId().toString()); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("token", 0); + jsonObject.put("type", "wxcreate"); + jsonObject.put("orderId", orderInfo.getId().toString()); producer.putOrderCollect(jsonObject.toJSONString()); log.info("发送打印数据"); producer.printMechine(orderInfo.getId() + ""); JSONObject coupons = new JSONObject(); - coupons.put("type","buy"); - coupons.put("orderId",orderInfo.getId().toString()); + coupons.put("type", "buy"); + coupons.put("orderId", orderInfo.getId().toString()); producer.printCoupons(coupons.toJSONString()); sendOrderToClient(orderInfo); redisUtil.deleteByKey(RedisCst.ORDER_EXPIRED.concat(orderInfo.getId().toString())); @@ -943,7 +930,7 @@ public class PayService { } @Transactional(rollbackFor = Exception.class) - public String callBackGroupPay(String payOrderNO,String payTime) { + public String callBackGroupPay(String payOrderNO, String payTime) { TbGroupOrderInfo orderInfo = tbGroupOrderInfoMapper.selectByPayOrderNo(payOrderNO); if (ObjectUtil.isEmpty(orderInfo)) { return "订单信息不存在"; @@ -964,37 +951,36 @@ public class PayService { orderInfo.setPayTime(DateUtils.fomatDateTime(payTime)); tbGroupOrderInfoMapper.update(orderInfo); return "SUCCESS"; - }else { - log.error("支付回调异常,订单状态为{}",orderInfo); + } else { + log.error("支付回调异常,订单状态为{}", orderInfo); } return null; } - public Result getActivate(String shopId,int page ,int pageSize){ + public Result getActivate(String shopId, int page, int pageSize) { PageHelper.startPage(page, pageSize); - List list=tbActivateMapper.selectByShpopId(shopId); - PageInfo pageInfo=new PageInfo(list); - return Result.success(CodeEnum.SUCCESS,pageInfo); + List list = tbActivateMapper.selectByShpopId(shopId); + PageInfo pageInfo = new PageInfo(list); + return Result.success(CodeEnum.SUCCESS, pageInfo); } - - public Result getShopByMember(String userId,String shopId,int page,int pageSize){ + public Result getShopByMember(String userId, String shopId, int page, int pageSize) { PageHelper.startPage(page, pageSize); - List list= tbShopUserMapper.selectByUserId(userId,shopId); - PageInfo pageInfo=new PageInfo(list); - return Result.success(CodeEnum.SUCCESS,pageInfo); + List list = tbShopUserMapper.selectByUserId(userId, shopId); + PageInfo pageInfo = new PageInfo(list); + return Result.success(CodeEnum.SUCCESS, pageInfo); } - public Result queryMemberAccount(String memberId,int page, int pageSize){ - if(StringUtils.isBlank(memberId)){ + public Result queryMemberAccount(String memberId, int page, int pageSize) { + if (StringUtils.isBlank(memberId)) { return Result.fail("会员编号不许为空"); } - PageHelper.startPage(page,pageSize); - List> list=tbShopUserFlowMapper.selectByMemberAccountFlow(memberId); - PageInfo pageInfo=new PageInfo(list); - return Result.success(CodeEnum.SUCCESS,pageInfo); + PageHelper.startPage(page, pageSize); + List> list = tbShopUserFlowMapper.selectByMemberAccountFlow(memberId); + PageInfo pageInfo = new PageInfo(list); + return Result.success(CodeEnum.SUCCESS, pageInfo); } @@ -1005,7 +991,6 @@ public class PayService { } - /** * 生成长度为12的随机串 * @@ -1036,10 +1021,10 @@ public class PayService { @Transactional(rollbackFor = Exception.class) - public String minsuccess(String payOrderNO,String tradeNo){ + public String minsuccess(String payOrderNO, String tradeNo) { - TbMemberIn memberIn= tbMemberInMapper.selectByOrderNo(payOrderNO); - if(ObjectUtil.isEmpty(memberIn)){ + TbMemberIn memberIn = tbMemberInMapper.selectByOrderNo(payOrderNO); + if (ObjectUtil.isEmpty(memberIn)) { return "充值记录不存在"; } @@ -1048,12 +1033,12 @@ public class PayService { memberIn.setUpdateTime(new Date()); tbMemberInMapper.updateByPrimaryKeySelective(memberIn); - TbShopUser tbShopUser= tbShopUserMapper.selectByUserIdAndShopId(memberIn.getUserId().toString(),memberIn.getShopId().toString()); - if(ObjectUtil.isEmpty(tbShopUser)){ + TbShopUser tbShopUser = tbShopUserMapper.selectByUserIdAndShopId(memberIn.getUserId().toString(), memberIn.getShopId().toString()); + if (ObjectUtil.isEmpty(tbShopUser)) { return "用户信息不存在"; } - if(!"1".equals(tbShopUser.getIsVip().toString())){ + if (!"1".equals(tbShopUser.getIsVip().toString())) { tbShopUser.setIsVip(Byte.parseByte("1")); } @@ -1062,7 +1047,7 @@ public class PayService { tbShopUser.setUpdatedAt(System.currentTimeMillis()); tbShopUserMapper.updateByPrimaryKeySelective(tbShopUser); - TbShopUserFlow flow=new TbShopUserFlow(); + TbShopUserFlow flow = new TbShopUserFlow(); flow.setShopUserId(Integer.valueOf(tbShopUser.getId())); flow.setBizCode("scanMemberIn"); @@ -1072,15 +1057,15 @@ public class PayService { flow.setBalance(tbShopUser.getAmount()); flow.setCreateTime(new Date()); tbShopUserFlowMapper.insert(flow); - TbActivate activate= tbActivateMapper.selectByAmount(tbShopUser.getShopId(),memberIn.getAmount()); - if(ObjectUtil.isNotEmpty(activate)&&ObjectUtil.isNotNull(activate)){ - BigDecimal amount=BigDecimal.ZERO; - switch (activate.getHandselType()){ + TbActivate activate = tbActivateMapper.selectByAmount(tbShopUser.getShopId(), memberIn.getAmount()); + if (ObjectUtil.isNotEmpty(activate) && ObjectUtil.isNotNull(activate)) { + BigDecimal amount = BigDecimal.ZERO; + switch (activate.getHandselType()) { case "GD": - amount=activate.getHandselNum(); + amount = activate.getHandselNum(); break; case "RATIO": - amount=memberIn.getAmount().multiply(activate.getHandselNum()); + amount = memberIn.getAmount().multiply(activate.getHandselNum()); break; } @@ -1089,7 +1074,7 @@ public class PayService { tbShopUser.setUpdatedAt(System.currentTimeMillis()); tbShopUserMapper.updateByPrimaryKeySelective(tbShopUser); - flow=new TbShopUserFlow(); + flow = new TbShopUserFlow(); flow.setShopUserId(Integer.valueOf(tbShopUser.getId())); flow.setBizCode("scanMemberAwardIn"); flow.setBizName("会员充值奖励"); @@ -1103,7 +1088,7 @@ public class PayService { JSONObject jsonObject = new JSONObject(); jsonObject.put("shopId", memberIn.getShopId()); jsonObject.put("type", "wxMemberIn"); - jsonObject.put("amount",memberIn.getAmount()); + jsonObject.put("amount", memberIn.getAmount()); producer.putOrderCollect(jsonObject.toJSONString()); } @@ -1111,14 +1096,13 @@ public class PayService { } - - public String fstMemberInSuccess(String payOrderNO,String tradeNo){ - TbMemberIn memberIn= tbMemberInMapper.selectByOrderNo(payOrderNO); - if(ObjectUtil.isEmpty(memberIn)){ + public String fstMemberInSuccess(String payOrderNO, String tradeNo) { + TbMemberIn memberIn = tbMemberInMapper.selectByOrderNo(payOrderNO); + if (ObjectUtil.isEmpty(memberIn)) { return "充值记录不存在"; } - if(!"7".equals(memberIn.getStatus())){ + if (!"7".equals(memberIn.getStatus())) { return "订单已处理"; } @@ -1127,12 +1111,12 @@ public class PayService { memberIn.setUpdateTime(new Date()); tbMemberInMapper.updateByPrimaryKeySelective(memberIn); - TbShopUser tbShopUser= tbShopUserMapper.selectByUserIdAndShopId(memberIn.getUserId().toString(),memberIn.getShopId().toString()); - if(ObjectUtil.isEmpty(tbShopUser)){ + TbShopUser tbShopUser = tbShopUserMapper.selectByUserIdAndShopId(memberIn.getUserId().toString(), memberIn.getShopId().toString()); + if (ObjectUtil.isEmpty(tbShopUser)) { return "用户信息不存在"; } - if(!"1".equals(tbShopUser.getIsVip().toString())){ + if (!"1".equals(tbShopUser.getIsVip().toString())) { TbUserInfo userInfo = tbUserInfoMapper.selectByPrimaryKey(memberIn.getUserId()); tbShopUser.setName(userInfo.getNickName()); tbShopUser.setTelephone(userInfo.getTelephone()); @@ -1145,7 +1129,7 @@ public class PayService { tbShopUser.setUpdatedAt(System.currentTimeMillis()); tbShopUserMapper.updateByPrimaryKeySelective(tbShopUser); - TbShopUserFlow flow=new TbShopUserFlow(); + TbShopUserFlow flow = new TbShopUserFlow(); flow.setShopUserId(Integer.valueOf(tbShopUser.getId())); flow.setBizCode("scanMemberIn"); flow.setType("+"); @@ -1156,15 +1140,15 @@ public class PayService { flow.setCreateTime(new Date()); tbShopUserFlowMapper.insert(flow); - TbActivate activate= tbActivateMapper.selectByAmount(tbShopUser.getShopId(),memberIn.getAmount()); - if(ObjectUtil.isNotEmpty(activate)&&ObjectUtil.isNotNull(activate)){ - BigDecimal amount=BigDecimal.ZERO; - switch (activate.getHandselType()){ + TbActivate activate = tbActivateMapper.selectByAmount(tbShopUser.getShopId(), memberIn.getAmount()); + if (ObjectUtil.isNotEmpty(activate) && ObjectUtil.isNotNull(activate)) { + BigDecimal amount = BigDecimal.ZERO; + switch (activate.getHandselType()) { case "GD": - amount=activate.getHandselNum(); + amount = activate.getHandselNum(); break; case "RATIO": - amount=memberIn.getAmount().multiply(activate.getHandselNum()); + amount = memberIn.getAmount().multiply(activate.getHandselNum()); break; } @@ -1173,7 +1157,7 @@ public class PayService { tbShopUser.setUpdatedAt(System.currentTimeMillis()); tbShopUserMapper.updateByPrimaryKeySelective(tbShopUser); - flow=new TbShopUserFlow(); + flow = new TbShopUserFlow(); flow.setShopUserId(Integer.valueOf(tbShopUser.getId())); flow.setBizCode("scanMemberAwardIn"); flow.setType("+"); @@ -1188,7 +1172,7 @@ public class PayService { JSONObject jsonObject = new JSONObject(); jsonObject.put("shopId", memberIn.getShopId()); jsonObject.put("type", "wxMemberIn"); - jsonObject.put("amount",memberIn.getAmount()); + jsonObject.put("amount", memberIn.getAmount()); producer.putOrderCollect(jsonObject.toJSONString()); return "SUCCESS"; } @@ -1197,16 +1181,16 @@ public class PayService { List tbCashierCarts = tbCashierCartMapper.selectByOrderId(orderInfo.getId().toString(), null); JSONObject client = new JSONObject(); JSONObject order = new JSONObject(); - order.put("orderNo",orderInfo.getOrderNo()); - order.put("masterId",StringUtils.isNotBlank(orderInfo.getMasterId())?orderInfo.getMasterId():""); - order.put("tableName",StringUtils.isNotBlank(orderInfo.getTableName())?orderInfo.getTableName():""); + order.put("orderNo", orderInfo.getOrderNo()); + order.put("masterId", StringUtils.isNotBlank(orderInfo.getMasterId()) ? orderInfo.getMasterId() : ""); + order.put("tableName", StringUtils.isNotBlank(orderInfo.getTableName()) ? orderInfo.getTableName() : ""); client.put("carts", tbCashierCarts); client.put("type", "order"); client.put("amount", orderInfo.getPayAmount()); - client.put("remark", StringUtils.isNotBlank(orderInfo.getRemark())?orderInfo.getRemark():""); + client.put("remark", StringUtils.isNotBlank(orderInfo.getRemark()) ? orderInfo.getRemark() : ""); client.put("orderInfo", order); client.put("createdAt", orderInfo.getCreatedAt()); - client.put("outNumber", StringUtils.isNotBlank(orderInfo.getOutNumber())?orderInfo.getOutNumber():""); + client.put("outNumber", StringUtils.isNotBlank(orderInfo.getOutNumber()) ? orderInfo.getOutNumber() : ""); // client.put("outNumberCode", ""); // if(StringUtils.isNotBlank(orderInfo.getOutNumber())){ // try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { @@ -1218,22 +1202,23 @@ public class PayService { // e.printStackTrace(); // } // } - PushToClientChannelHandlerAdapter.getInstance().AppSendInfoV1(orderInfo.getShopId(),orderInfo.getOrderNo(), client); + PushToClientChannelHandlerAdapter.getInstance().AppSendInfoV1(orderInfo.getShopId(), orderInfo.getOrderNo(), client); } /** * 点歌支付成功 + * * @param mchOrderNo 商户订单编号 * @param orderNo * @return */ public String songPaySuccess(String mchOrderNo, String orderNo) { - TbMemberIn memberIn= tbMemberInMapper.selectByOrderNo(mchOrderNo); - if(ObjectUtil.isEmpty(memberIn)){ + TbMemberIn memberIn = tbMemberInMapper.selectByOrderNo(mchOrderNo); + if (ObjectUtil.isEmpty(memberIn)) { return "充值记录不存在"; } - if(!"7".equals(memberIn.getStatus())){ + if (!"7".equals(memberIn.getStatus())) { return "订单已处理"; } memberIn.setTradeNo(orderNo); @@ -1245,6 +1230,75 @@ public class PayService { return "success"; } + public Result paySongOrder(String openId, String shopId, Integer orderId, String ip, TbMerchantThirdApply thirdApply) throws JsonProcessingException { + if (ObjectUtil.isEmpty(openId) || Objects.isNull(openId)) { + return Result.fail("付款用户[openId]参数不能为空"); + } + + TbShopSongOrder songOrder = tbShopSongOrderMapper.selectByPrimaryKey(Long.valueOf(orderId)); + + if (songOrder.getState() != 0 && songOrder.getState() != -1) { + return Result.fail("订单状态异常,不允许支付"); + } + + TbOrderPayment payment = tbOrderPaymentMapper.selectByOrderId(songOrder.getOrderNo()); + if (ObjectUtil.isEmpty(payment) || payment == null) { + payment = new TbOrderPayment(); + payment.setPayTypeId("ysk"); + payment.setAmount(songOrder.getPayMoney()); + payment.setPaidAmount(songOrder.getPayMoney()); + payment.setHasRefundAmount(BigDecimal.ZERO); + payment.setPayName("微信支付"); + payment.setPayType("wechatPay"); + payment.setReceived(payment.getAmount()); + payment.setChangeFee(BigDecimal.ZERO); + payment.setShopId(shopId); + payment.setOrderId(songOrder.getOrderNo()); + payment.setCreatedAt(System.currentTimeMillis()); + tbOrderPaymentMapper.insert(payment); + } else { + payment.setUpdatedAt(System.currentTimeMillis()); + tbOrderPaymentMapper.updateByPrimaryKey(payment); + } + + String reqbody = "点歌:" + songOrder.getSongName(); + + PublicResp publicResp = thirdPayService.scanpay(thirdUrl, thirdApply.getAppId(), + reqbody, reqbody, payment.getAmount().setScale(2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)).longValue(), + "WECHAT", thirdApply.getSmallAppid(), openId, ip, songOrder.getOrderNo(), thirdApply.getStoreId(), + songOrderBack, null, thirdApply.getAppToken()); + if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) { + if ("000000".equals(publicResp.getCode())) { + WxScanPayResp wxScanPayResp = publicResp.getObjData(); + if ("TRADE_AWAIT".equals(wxScanPayResp.getState())) { + payment.setTradeNumber(wxScanPayResp.getPayOrderId()); + payment.setUpdatedAt(System.currentTimeMillis()); + tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); + + ObjectMapper mapper = new ObjectMapper(); + return Result.success(CodeEnum.SUCCESS, mapper.readTree(wxScanPayResp.getPayInfo())); + } else { + return Result.fail(publicResp.getMsg()); + } + } + } + + return Result.fail("失败"); + } + + @Transactional(rollbackFor = Exception.class) + public String songOrderSuccess(String mchOrderNo, String orderNo) { + TbShopSongOrder songOrder = tbShopSongOrderMapper.selectByOrderNo(mchOrderNo); + if (ObjectUtil.isEmpty(songOrder)) { + return "订单信息不存在"; + } + + log.info("更新点歌订单:{}", songOrder); + shopSongOrderService.successPay(mchOrderNo); + return "SUCCESS"; + + } + // public Result returnOrder(){ // @@ -1295,7 +1349,4 @@ public class PayService { // } - - - } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/TbShopSongService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/TbShopSongService.java index 47ef049..ae7c93d 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/TbShopSongService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/TbShopSongService.java @@ -25,24 +25,23 @@ public interface TbShopSongService { */ PageInfo all(Integer shopId, Integer page, Integer size, String keyWord, boolean isDesc); - Object getRecord(Integer userId, Integer page, Integer size, Integer state, boolean isDesc); + Object getRecord(String openId, Integer page, Integer size, Integer state, boolean isDesc); /** * 创建订单 * - * @param userId 用户id * @param songOrderDTO 订单信息 * @param openId * @return 支付信息 */ - JsonNode createOrder(Integer userId, SongOrderDTO songOrderDTO, String openId); + JsonNode createOrder(SongOrderDTO songOrderDTO, String openId); /** * 订单详情 * - * @param userId 用户id + * @param openId 用户id * @param id 订单id * @return 订单信息 */ - Map getDetail(Integer userId, Integer id); + Map getDetail(String openId, Integer id); } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/TbShopSongServiceImpl.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/TbShopSongServiceImpl.java index 0c89117..a32452c 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/TbShopSongServiceImpl.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/TbShopSongServiceImpl.java @@ -9,11 +9,14 @@ import com.chaozhanggui.system.cashierservice.entity.TbShopSong; import com.chaozhanggui.system.cashierservice.entity.TbShopSongOrder; import com.chaozhanggui.system.cashierservice.entity.dto.SongOrderDTO; import com.chaozhanggui.system.cashierservice.exception.MsgException; +import com.chaozhanggui.system.cashierservice.service.PayService; import com.chaozhanggui.system.cashierservice.service.TbShopSongOrderService; import com.chaozhanggui.system.cashierservice.service.TbShopSongService; import com.chaozhanggui.system.cashierservice.dao.TbShopSongMapper; +import com.chaozhanggui.system.cashierservice.sign.Result; import com.chaozhanggui.system.cashierservice.util.IpUtil; import com.chaozhanggui.system.cashierservice.util.PayUtils; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -47,14 +50,16 @@ public class TbShopSongServiceImpl implements TbShopSongService{ private final PayUtils payUtils; private final TbShopSongMapper shopSongMapper; + private final PayService payService; - public TbShopSongServiceImpl(RedisTemplate redisTemplate, @Qualifier("tbShopSongOrderServiceImpl") TbShopSongOrderService shopSongOrderService, TbShopSongOrderMapper shopSongOrderMapper, TbMerchantThirdApplyMapper tbMerchantThirdApplyMapper, PayUtils payUtils, TbShopSongMapper shopSongMapper) { + public TbShopSongServiceImpl(RedisTemplate redisTemplate, @Qualifier("tbShopSongOrderServiceImpl") TbShopSongOrderService shopSongOrderService, TbShopSongOrderMapper shopSongOrderMapper, TbMerchantThirdApplyMapper tbMerchantThirdApplyMapper, PayUtils payUtils, TbShopSongMapper shopSongMapper, PayService payService) { this.redisTemplate = redisTemplate; this.shopSongOrderService = shopSongOrderService; this.shopSongOrderMapper = shopSongOrderMapper; this.tbMerchantThirdApplyMapper = tbMerchantThirdApplyMapper; this.payUtils = payUtils; this.shopSongMapper = shopSongMapper; + this.payService = payService; } @Override @@ -65,9 +70,9 @@ public class TbShopSongServiceImpl implements TbShopSongService{ } @Override - public Object getRecord(Integer userId, Integer page, Integer size, Integer state, boolean isDesc) { + public Object getRecord(String openId, Integer page, Integer size, Integer state, boolean isDesc) { PageHelper.startPage(page, size); - List> songOrders = shopSongOrderMapper.selectByUserId(userId, state); + List> songOrders = shopSongOrderMapper.selectByUserId(openId, state); ArrayList> infos = new ArrayList<>(); for (int i = 0; i < songOrders.size(); i++) { @@ -80,14 +85,14 @@ public class TbShopSongServiceImpl implements TbShopSongService{ @Override @Transactional - public JsonNode createOrder(Integer userId, SongOrderDTO songOrderDTO, String openId) { + public JsonNode createOrder(SongOrderDTO songOrderDTO, String openId) { TbShopSong song = shopSongMapper.selectById(songOrderDTO.getSongId()); if (song == null) { throw new MsgException("歌曲不存在, 歌曲id: {}", songOrderDTO.getSongId()); } - String orderNo = "WX" + DateUtil.format(DateUtil.date(), "yyyyMMddHHmmssSSS")+ RandomUtil.randomInt(1000, 9999); + String orderNo = "SONG" + DateUtil.format(DateUtil.date(), "yyyyMMddHHmmssSSS")+ RandomUtil.randomInt(1000, 9999); TbShopSongOrder shopSongOrder = new TbShopSongOrder(); - shopSongOrder.setUserId(userId); + shopSongOrder.setOpenId(openId); shopSongOrder.setOrderNo(orderNo); shopSongOrder.setCreateTime(DateUtil.date()); shopSongOrder.setSongId(song.getId()); @@ -97,7 +102,8 @@ public class TbShopSongServiceImpl implements TbShopSongService{ shopSongOrder.setFromName(shopSongOrder.getFromName()); shopSongOrder.setToName(shopSongOrder.getToName()); shopSongOrder.setNote(songOrderDTO.getNote()); - shopSongOrder.setShopId(shopSongOrder.getShopId()); + shopSongOrder.setShopId(songOrderDTO.getShopId()); + shopSongOrder.setPayMoney(song.getPrice()); shopSongOrderMapper.insert(shopSongOrder); TbMerchantThirdApply tbMerchantThirdApply = tbMerchantThirdApplyMapper.selectByShopId(songOrderDTO.getShopId()); @@ -105,13 +111,18 @@ public class TbShopSongServiceImpl implements TbShopSongService{ throw new MsgException("三方支付参数不存在"); } ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes(); - return payUtils.getWxPay(IpUtil.getIpAddr(attr.getRequest()), orderNo, userId, "", songOrderDTO.getShopId(), song.getPrice(),tbMerchantThirdApply.getId(), - openId, tbMerchantThirdApply); + + try { + Result result = payService.paySongOrder(openId, String.valueOf(shopSongOrder.getShopId()), shopSongOrder.getId(), IpUtil.getIpAddr(attr.getRequest()), tbMerchantThirdApply); + return (JsonNode) result.getData(); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } } @Override - public Map getDetail(Integer userId, Integer id) { - Map map = shopSongOrderMapper.selectByUserIdAndId(userId, id); + public Map getDetail(String openId, Integer id) { + Map map = shopSongOrderMapper.selectByUserIdAndId(openId, id); if (map == null) { throw new MsgException("订单不存在"); } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 3ba45b0..638ac33 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -55,6 +55,7 @@ ysk: thirdPay: callInBack: https://wxcashiertest.sxczgkj.cn/cashierService/notify/fstmemberInCallBack callFSTBack: https://wxcashiertest.sxczgkj.cn/cashierService/notify/notifyfstCallBack + songOrderBack: https://wxcashiertest.sxczgkj.cn/cashierService/notify/songOrderCallBack server: port: 9888 prod: dev1 diff --git a/src/main/resources/application-dev2.yml b/src/main/resources/application-dev2.yml index 9d04027..c4924e0 100644 --- a/src/main/resources/application-dev2.yml +++ b/src/main/resources/application-dev2.yml @@ -53,6 +53,7 @@ ysk: thirdPay: callInBack: https://wxcashiertest.sxczgkj.cn/cashierService/notify/fstmemberInCallBack callFSTBack: https://wxcashiertest.sxczgkj.cn/cashierService/notify/notifyfstCallBack + songOrderBack: https://wxcashiertest.sxczgkj.cn/cashierService/notify/songOrderCallBack server: port: 9889 prod: devyhq diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 07f49ef..d65b90c 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -54,6 +54,7 @@ ysk: thirdPay: callInBack: https://cashier.sxczgkj.cn${server.servlet.context-path}notify/fstmemberInCallBack callFSTBack: https://cashier.sxczgkj.cn${server.servlet.context-path}notify/notifyfstCallBack + songOrderBack: https://cashier.sxczgkj.cn${server.servlet.context-path}notify/songOrderCallBack prod: prod1 queue: cart_queue_putprod1 subscribe: diff --git a/src/main/resources/application-prod2.yml b/src/main/resources/application-prod2.yml index d9c3dc4..1648b66 100644 --- a/src/main/resources/application-prod2.yml +++ b/src/main/resources/application-prod2.yml @@ -54,6 +54,7 @@ ysk: thirdPay: callInBack: https://cashier.sxczgkj.cn${server.servlet.context-path}notify/fstmemberInCallBack callFSTBack: https://cashier.sxczgkj.cn${server.servlet.context-path}notify/notifyfstCallBack + songOrderBack: https://cashier.sxczgkj.cn${server.servlet.context-path}notify/songOrderCallBack prod: prod2 queue: cart_queue_putprod2 diff --git a/src/main/resources/mapper/TbShopSongOrderMapper.xml b/src/main/resources/mapper/TbShopSongOrderMapper.xml index 5efb7e5..d315a75 100644 --- a/src/main/resources/mapper/TbShopSongOrderMapper.xml +++ b/src/main/resources/mapper/TbShopSongOrderMapper.xml @@ -8,7 +8,7 @@ - + @@ -23,7 +23,7 @@ id,song_id,song_name, - user_id,pay_money,state, + open_id,pay_money,state, create_time,client_type,order_no, from_name,to_name,note, shop_id,real_money @@ -43,12 +43,12 @@ insert into tb_shop_song_order ( id,song_id,song_name - ,user_id,pay_money,state + ,open_id,pay_money,state ,create_time,client_type,order_no ,from_name,to_name,note ,shop_id,real_money) values (#{id,jdbcType=INTEGER},#{songId,jdbcType=INTEGER},#{songName,jdbcType=VARCHAR} - ,#{userId,jdbcType=INTEGER},#{payMoney,jdbcType=DECIMAL},#{state,jdbcType=TINYINT} + ,#{openId,jdbcType=INTEGER},#{payMoney,jdbcType=DECIMAL},#{state,jdbcType=TINYINT} ,#{createTime,jdbcType=TIMESTAMP},#{clientType,jdbcType=TINYINT},#{orderNo,jdbcType=VARCHAR} ,#{fromName,jdbcType=VARCHAR},#{toName,jdbcType=VARCHAR},#{note,jdbcType=VARCHAR} ,#{shopId,jdbcType=INTEGER},#{realMoney,jdbcType=DECIMAL}) @@ -59,7 +59,7 @@ id, song_id, song_name, - user_id, + open_id, pay_money, state, create_time, @@ -75,7 +75,7 @@ #{id,jdbcType=INTEGER}, #{songId,jdbcType=INTEGER}, #{songName,jdbcType=VARCHAR}, - #{userId,jdbcType=INTEGER}, + #{openId,jdbcType=INTEGER}, #{payMoney,jdbcType=DECIMAL}, #{state,jdbcType=TINYINT}, #{createTime,jdbcType=TIMESTAMP}, @@ -97,8 +97,8 @@ song_name = #{songName,jdbcType=VARCHAR}, - - user_id = #{userId,jdbcType=INTEGER}, + + open_id = #{openId,jdbcType=INTEGER}, pay_money = #{payMoney,jdbcType=DECIMAL}, @@ -138,7 +138,7 @@ set song_id = #{songId,jdbcType=INTEGER}, song_name = #{songName,jdbcType=VARCHAR}, - user_id = #{userId,jdbcType=INTEGER}, + open_id = #{openId,jdbcType=INTEGER}, pay_money = #{payMoney,jdbcType=DECIMAL}, state = #{state,jdbcType=TINYINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, @@ -159,7 +159,7 @@ tb_shop_song_order AS a LEFT JOIN tb_shop_song AS b ON a.song_id = b.id WHERE - a.user_id = #{userId} + a.open_id = #{openId} AND a.id=#{id}