From 2a1c93a934f2d288a65c159445f483393eaf612c Mon Sep 17 00:00:00 2001 From: jieyuu <645634619@qq.com> Date: Mon, 14 Oct 2024 21:47:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=8B=E5=8D=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=90=8E=EF=BC=8Cbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/jieyuu/constant/TimeConstant.java | 2 +- .../controller/CouponRecordController.java | 2 +- .../src/main/resources/application.yml | 3 +- .../resources/mapper/CouponRecordMapper.xml | 2 +- .../net/jieyuu/component/AlipayStrategy.java | 39 ++++++++------- .../java/net/jieyuu/component/PayFactory.java | 15 +++--- .../java/net/jieyuu/config/AlipayConfig.java | 3 +- .../net/jieyuu/feign/CouponFeignService.java | 2 +- .../service/impl/ProductOrderServiceImpl.java | 6 +-- .../src/main/resources/application.yml | 5 +- .../mapper/ProductOrderItemMapper.xml | 47 ++++++++++--------- .../service/impl/ProductServiceImpl.java | 7 ++- .../src/main/resources/application.yml | 3 +- .../main/resources/mapper/ProductMapper.xml | 2 +- 14 files changed, 73 insertions(+), 65 deletions(-) diff --git a/xdclass-common/src/main/java/net/jieyuu/constant/TimeConstant.java b/xdclass-common/src/main/java/net/jieyuu/constant/TimeConstant.java index 3600c5d..6596d7f 100644 --- a/xdclass-common/src/main/java/net/jieyuu/constant/TimeConstant.java +++ b/xdclass-common/src/main/java/net/jieyuu/constant/TimeConstant.java @@ -7,5 +7,5 @@ public class TimeConstant { * 订单超时 毫秒 默认30分钟 */ // todo 测试时将时间改为了5分钟 ,记得改回30分钟 - public static final long ORDER_PAY_TIMEOUT_MILLS = 1000 * 60 * 5; + public static final long ORDER_PAY_TIMEOUT_MILLS = 1000 * 60 * 30; } diff --git a/xdclass-coupon-service/src/main/java/net/jieyuu/controller/CouponRecordController.java b/xdclass-coupon-service/src/main/java/net/jieyuu/controller/CouponRecordController.java index 9bbd259..49fb807 100644 --- a/xdclass-coupon-service/src/main/java/net/jieyuu/controller/CouponRecordController.java +++ b/xdclass-coupon-service/src/main/java/net/jieyuu/controller/CouponRecordController.java @@ -53,7 +53,7 @@ public class CouponRecordController { public JsonData lockCouponRecords(@ApiParam("锁定优惠券请求对象") @RequestBody LockCouponRecordRequest request) { JsonData jsonData = couponRecordService.lockCouponRecords(request); - return JsonData.buildSuccess(); + return jsonData; } } diff --git a/xdclass-coupon-service/src/main/resources/application.yml b/xdclass-coupon-service/src/main/resources/application.yml index 4bf7238..7722e08 100644 --- a/xdclass-coupon-service/src/main/resources/application.yml +++ b/xdclass-coupon-service/src/main/resources/application.yml @@ -73,5 +73,4 @@ mqconfig: coupon_release_routing_key: coupon.release.routing.key #消息过期时间,毫秒,测试改为15秒 - #为了测试修改时间 todo 记得修改回1500 - ttl: 360000 \ No newline at end of file + ttl: 15000 \ No newline at end of file diff --git a/xdclass-coupon-service/src/main/resources/mapper/CouponRecordMapper.xml b/xdclass-coupon-service/src/main/resources/mapper/CouponRecordMapper.xml index 1867640..d4ae790 100644 --- a/xdclass-coupon-service/src/main/resources/mapper/CouponRecordMapper.xml +++ b/xdclass-coupon-service/src/main/resources/mapper/CouponRecordMapper.xml @@ -30,7 +30,7 @@ set use_state =#{useState} where user_id = #{userId} and use_state = 'NEW' and id in #{id} + index="index" item="id" separator="," open="(" close=")">#{id} diff --git a/xdclass-order-service/src/main/java/net/jieyuu/component/AlipayStrategy.java b/xdclass-order-service/src/main/java/net/jieyuu/component/AlipayStrategy.java index 5492d4e..d47c842 100644 --- a/xdclass-order-service/src/main/java/net/jieyuu/component/AlipayStrategy.java +++ b/xdclass-order-service/src/main/java/net/jieyuu/component/AlipayStrategy.java @@ -2,6 +2,7 @@ package net.jieyuu.component; import com.alibaba.fastjson.JSON; import com.alipay.api.AlipayApiException; +import com.alipay.api.domain.AlipayTradeQueryModel; import com.alipay.api.request.AlipayTradePagePayRequest; import com.alipay.api.request.AlipayTradeQueryRequest; import com.alipay.api.request.AlipayTradeWapPayRequest; @@ -33,9 +34,9 @@ public class AlipayStrategy implements PayStrategy { public String unifiedorder(PayInfoVO payInfoVO) { HashMap content = new HashMap<>(); //商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复 - String no = UUID.randomUUID().toString(); - log.info("订单号:{}", no); - content.put("out_trade_no", no); + + log.info("订单号:{}", payInfoVO.getOutTradeNo()); + content.put("out_trade_no", payInfoVO.getOutTradeNo()); content.put("product_code", "FAST_INSTANT_TRADE_PAY"); //订单总金额,单位为元,精确到小数点后两位 content.put("total_amount", payInfoVO.getPayFee().toString()); @@ -52,7 +53,7 @@ public class AlipayStrategy implements PayStrategy { } // 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m。 - content.put("timeout_express", Double.valueOf(timeout) + "m"); + content.put("timeout_express", Double.valueOf(timeout).intValue() + "m"); String clientType = payInfoVO.getClientType(); String form = ""; @@ -64,14 +65,13 @@ public class AlipayStrategy implements PayStrategy { request.setBizContent(JSON.toJSONString(content)); request.setNotifyUrl(payUrlConfig.getAlipayCallbackUrl()); request.setReturnUrl(payUrlConfig.getAlipaySuccessReturnUrl()); - AlipayTradeWapPayResponse alipayResponse = AlipayConfig.getInstance().pageExecute(request); - log.info("日志响应:{}", alipayResponse); + log.info("响应日志:alipayResponse={}", alipayResponse); if (alipayResponse.isSuccess()) { form = alipayResponse.getBody(); } else { - log.error("支付宝构建h5表单失败:request={},payInfo={}", alipayResponse, payInfoVO); + log.error("支付宝构建H5表单失败:alipayResponse={},payInfo={}", alipayResponse, payInfoVO); } } else if (ClientType.PC.name().equalsIgnoreCase(clientType)) { // PC支付 @@ -81,7 +81,7 @@ public class AlipayStrategy implements PayStrategy { request.setReturnUrl(payUrlConfig.getAlipaySuccessReturnUrl()); AlipayTradePagePayResponse alipayResponse = AlipayConfig.getInstance().pageExecute(request); - log.info("日志响应:{}", alipayResponse); + log.info("响应日志:alipayResponse={}", alipayResponse); if (alipayResponse.isSuccess()) { form = alipayResponse.getBody(); } else { @@ -91,19 +91,24 @@ public class AlipayStrategy implements PayStrategy { } catch (AlipayApiException e) { log.error("支付宝构建表单异常:payInfo={},异常={}", payInfoVO, e); } - return form; } @Override public String refund(PayInfoVO payInfoVO) { - return PayStrategy.super.refund(payInfoVO); + return null; } /** * 查询订单状态 - * 成功返回非空 + * 支付成功 返回非空 * 其他返回空 + *

+ * 未支付 + * {"alipay_trade_query_response":{"code":"40004","msg":"Business Failed","sub_code":"ACQ.TRADE_NOT_EXIST","sub_msg":"交易不存在","buyer_pay_amount":"0.00","invoice_amount":"0.00","out_trade_no":"adbe8e8f-3b18-4c9e-b736-02c4c2e15eca","point_amount":"0.00","receipt_amount":"0.00"},"sign":"xxxxx"} + *

+ * 已经支付 + * {"alipay_trade_query_response":{"code":"10000","msg":"Success","buyer_logon_id":"mqv***@sandbox.com","buyer_pay_amount":"0.00","buyer_user_id":"2088102176996700","buyer_user_type":"PRIVATE","invoice_amount":"0.00","out_trade_no":"adbe8e8f-3b18-4c9e-b736-02c4c2e15eca","point_amount":"0.00","receipt_amount":"0.00","send_pay_date":"2020-12-04 17:06:47","total_amount":"111.99","trade_no":"2020120422001496700501648498","trade_status":"TRADE_SUCCESS"},"sign":"xxxx"} * * @param payInfoVO * @return @@ -112,11 +117,14 @@ public class AlipayStrategy implements PayStrategy { public String queryPaySuccess(PayInfoVO payInfoVO) { AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); - HashMap content = new HashMap<>(); +// HashMap content = new HashMap<>(); - // 订单商位号,64位 - content.put("out_trade_no", payInfoVO.getOutTradeNo()); - request.setBizContent(JSON.toJSONString(content)); + //订单商户号,64位 +// content.put("out_trade_no", payInfoVO.getOutTradeNo()); +// request.setBizContent(JSON.toJSONString(content)); + AlipayTradeQueryModel model = new AlipayTradeQueryModel(); + model.setOutTradeNo(payInfoVO.getOutTradeNo()); + request.setBizModel(model); AlipayTradeQueryResponse response = null; try { @@ -125,7 +133,6 @@ public class AlipayStrategy implements PayStrategy { } catch (AlipayApiException e) { log.error("支付宝订单查询异常:{}", e); - } if (response.isSuccess()) { diff --git a/xdclass-order-service/src/main/java/net/jieyuu/component/PayFactory.java b/xdclass-order-service/src/main/java/net/jieyuu/component/PayFactory.java index 70e1c8f..930d616 100644 --- a/xdclass-order-service/src/main/java/net/jieyuu/component/PayFactory.java +++ b/xdclass-order-service/src/main/java/net/jieyuu/component/PayFactory.java @@ -33,7 +33,6 @@ public class PayFactory { } else if (ProductOrderPayTypeEnum.WECHAT.name().equalsIgnoreCase(payType)) {// 微信支付 PayStrategyContext payStrategyContext = new PayStrategyContext(wechatPayStrategy); return payStrategyContext.executeUnifiedorder(payInfoVO); - } return ""; } @@ -41,21 +40,25 @@ public class PayFactory { /** * 查询订单支付状态 + *

+ * 支付成功返回非空,其他返回空 * * @param payInfoVO * @return */ - public String querySuccess(PayInfoVO payInfoVO) { - + public String queryPaySuccess(PayInfoVO payInfoVO) { String payType = payInfoVO.getPayType(); - if (ProductOrderPayTypeEnum.ALIPAY.name().equalsIgnoreCase(payType)) {// 支付宝 + + if (ProductOrderPayTypeEnum.ALIPAY.name().equalsIgnoreCase(payType)) { + //支付宝支付 PayStrategyContext payStrategyContext = new PayStrategyContext(alipayStrategy); + return payStrategyContext.executeQueryPaySuccess(payInfoVO); - } else if (ProductOrderPayTypeEnum.WECHAT.name().equalsIgnoreCase(payType)) {// 微信支付 + } else if (ProductOrderPayTypeEnum.WECHAT.name().equalsIgnoreCase(payType)) { + //微信支付 暂未实现 PayStrategyContext payStrategyContext = new PayStrategyContext(wechatPayStrategy); return payStrategyContext.executeQueryPaySuccess(payInfoVO); - } return ""; } diff --git a/xdclass-order-service/src/main/java/net/jieyuu/config/AlipayConfig.java b/xdclass-order-service/src/main/java/net/jieyuu/config/AlipayConfig.java index 775f327..aae6e07 100644 --- a/xdclass-order-service/src/main/java/net/jieyuu/config/AlipayConfig.java +++ b/xdclass-order-service/src/main/java/net/jieyuu/config/AlipayConfig.java @@ -18,12 +18,11 @@ public class AlipayConfig { /** * 应用私钥 todo */ - public static final String APP_PRI_KEY = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXErw8mdLqhNbQqNBAC4mUYXpRb3hbTYCg+W+JJe5R7oid7yGI61h9DhdWPZIKelKIN3km7QX8wa7BygBLx0U8LVmxh1Y14kxluNqykqeZc/250L+Y2fTTWZBoeaQvajZnLgnMm8ym/Z0Ned6vvCp+2OY4xjpAxJQm3RW6EMdQDQ3did8pAX03KU7W3+TZ7t3I8Ml9JeNyh4wyM4KNVH0aKTGYYn0uR6Euh5On1hID86ENRuSg3Xu9cvUkH2px/6RX2HBG43/kKHniz3T2AB+Htx6r+1GMqKjx8f3dxkKYro2EmxBxdSxEJgOqh7JjGP0qqiWwaW8zgicwtmrccI7XAgMBAAECggEAGz/Q3ilsxspRKO/aKEMsfKwccQXnMqjHE8IKITXLR9H7qGkSpmy02FGrWe3fIq6vpkxDOQc1tkKFMAUsin6V+WXAsOnVXgDEgPCX2e/j9STb1iFV/c8Kfvi/uGiAeeDxkSjXsaVEg7ZpFp4t0YriK2EaHZF7vmT2yA/GtHoESWbYw/2bchW/6OUbmugIzR7GVAjvc7/ZmkZVCnG4xDdW2Nu5jHNLPvNTluB5CZUnjjXvdRtChTdktgQD1t8LSQ6I1NHJutw10/N1anwQ99uO+LMxDUnZZvZshP26ooO2Og/kWPEU2oUgdB37DGJ0OfSWrEF67fzCyKuBxKT1TnmikQKBgQD0R09FD6vo+H6gd4WhN/BfUHtoN5Lyz8kkvaDWDzyCC/t+utJ+hNXTSHgz+hA/OQxCk0iIlPnPfBJRhzhxB2yUVwD//nXB3lu3hnfnkXrg3iKKjqkO6SP9yDHi7XghDTdU2P1F1cj+gfH+nasMElesDBSjtfHYLBS0WiHUec6LLwKBgQCeUoBZAa5p5ILHflnFva4eFQdEtr5gAwH8oRqFCTZBQtWdCDUQ9MvciLK1Pe9hBhR8iOCtP15Qgpc867vld/ZF1VeW0TYtxBwfM+u3JdXllYtx6KIt1L83jWhcmHWdv73bCCUPw/m7FTPi3lrUAGRw0+jWYoLVpmEHrd9THHes2QKBgHh7g3mIlT2+8pWq3dn6gTBBvdxVLMFeAtOARAfQVAPAbTbAZnnIgr5HDCJ2v/Su6oEbq7bR47SWeWKE0y3Mf51anD+m/eW1Cn+mbxVkB7tJVLgKTQ/xpbLSPuiyP4HtxtCuhZ0gKJZ++SCgG3FEysEs5DEq2DHK7BtYKT9nJJw5AoGAQzRMDPwcuBBqvxnQK5LvlQ9iDXXw67p7HmyYYD5fzGX9XPH97Jus6YkRKsQGl83H5nEHxiKu+0fjwNVj5ez9GfmMe5WFBPpI4andddnWqOTI02pnZUL4hDE/Sobg7jxU7+POL5oFqLdAVh4CuhkMiaQ6Ir6gQOamK2dP8+ySlEkCgYEA1kBmBFtKFl4V+ZshqcjMWcMCAANWf3jKkBAf9Dvr632vcafQeXTZdnWLQkwuwz/r0aoSKcCIuhxPzKpalSoyItX5DYYNG5BiC/Wwo3ktTvv+2xdnkpgx/+2gvbJLtNsikCDWC6zWO7Q/4/v0LsrzEWNgMXUIepqPffI3NUGtWkU="; + public static final String APP_PRI_KEY = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD3h1fjm+ERZWep9X8MQSNL8fvFnVhki6JreUvaHTi1a9Kf05czNM9YP5WU9WeNZLBhlJalXTaLZcLxzS3Id3Ig6iQ6IEG0LQPN9DBL5RZG8TDGfD/vaZAmXQ8hOWjwzgAmjko/fMXXnLMW8WCGJF6qv9KhkgTFH5w9PdW4XgjcxKx6EmgYSf4Qi1cWzMQmZP/RpED6Tqwh5/U7Bqszsq0QeFWDHl40dh5J3czDUBxWeumu2qE24NxWMKrpYqigTfBGGQCJQMQ9l+hHNHnd49wYqnrUPSSnji30nKF8wMGTjfxvME2bVMrzCItKFIykazHrmGyAKsv9CV/joTlJZVHBAgMBAAECggEBAM3yzi2ShLD0rku69vo7OCL4M4M4Z1NA2uKRCYtwxL4t+BEC+8qfJeVHAi3uATqjjB2kg7MS208gXBLTpEQnHc5FAd9a90/yJDg38/cxpFdiVjLPLmMEcet5gh0ipy20OGvb9+ra5cF/n4J3UthJanqnH5lO5Kkeo+BQkoHTu4vydJuGB6vWrCxUL+gvpsG506EhcUqpR0MXZ+KUiRLurHfooWj5+/XwoFj99hZNjr9wIM583gkDmcpjfNbRYmcXoTd/NcyBgB1ijWkWrv/kkxXs3Rr94wZ6vYTp6EB57dnKqMJxIqJT/FSzdTcrlddIG0qk7fsTMC1Uup6szuEL1AECgYEA//86BRESx1thvdTN9IO3VDqNBYet52f9lW0ROY3pA1f3KovDJfspUKQo4r/tlj1lkDTuYo5WqTaGRBW6dzMldF0pmdMg+JOAXdx/92QC4pSOiTRCOzXDBETJVw3fm8E+tRyidA8yUd8meHQvi+cnWznI5dSPBLHLiOhjCVhCCj8CgYEA94gXUfe/0Iiw+lOTLD+rxGcRIucV3g7N7aeD9kUTR+MSeeg0SSAm1uqsITRYIkf2P/Fe0KiusY5ATVBI+d/3KwM5Z47NtUjgp4H451PtgVqlBNFuTS4MWI/KXXbU6VWmZxxZF/QkIcAg0zyASNaqD7IcLi6bk09s029W6ZEpo/8CgYB6xyZEl9Ox2ZofOZkt1J5wv0QzisdVXQK6T/0a5X0EJYRd23pVFQjTrGgPmI2SqQ+1Ai3zBuF5drUeom00DkvAa44wQJpnnhbK7Z5SQJ1Bno5eL7o0O6y0t2j5X6YHRb+VjY48q60upyAEVXUYXFz729MGp9OQJNXBa/NT4AiMcQKBgFfxbfedQfTg25/UWZF6/ZfF1nzEBSzjrZ4lyeiRGgyMTGArc4gXeDUbIxSY+EcVshN9ueYASDClDYtqXsMII1SQzLBSOBuUTNy2fKwTUWqHveE8VyfsmE5Op+MU+Qf9eiVgGPc9siibjg3+jMVUHw98hC6UOInZyhxEjmhlPpoZAoGAITeVYRulrUcGh7DqkNRYRDHxAbXmKG4qvzqwZXSyEtwiy2tA5zhzCoboHdPPdqnTdQxiszG3f5P7N0SLQzl3BKTQ4svc5lKlU/CG0JD11K1ReA41MxstFsIX1A605Uh7BtWK9eUyizDrxXN8fOxolM0XUxFpFK1WYrtxwfGjwu8="; /** * 支付宝公钥 todo */ public static final String ALIPAY_PUB_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAj4BMyZx16Xpfd00w25ub4ZcWzRiWCx1v6EScmq2ezu/W95FO70r6EawFGVh2nE+XqZFlf53bIBhwtxUCV2xJEy9qHuooVvqByoMRdSs4y1BlUR99WfYqc+67i41rp8hDDZ8s31/9gXbiVfsSFe3YqHq3WzCuYbqwpwt0vEFbX829DZP3BNJ/DTbx2mtFYEJYFRi8nKkHFjivjjMw9nbAQsFQT6Q7GpPR6cqUGX1YYzvsdo1U+XF3FG4SoPYZKh6KVdRJQ/RKzYnNgPN7d6UydUarFRCnyLQ9qa/gFTX373pM+IlD9WhW15ixGq/USgcOBLZ+1Ujc90OLym0mulCGRQIDAQAB"; - /** * 签名类型 */ diff --git a/xdclass-order-service/src/main/java/net/jieyuu/feign/CouponFeignService.java b/xdclass-order-service/src/main/java/net/jieyuu/feign/CouponFeignService.java index 965ed39..9cfbecb 100644 --- a/xdclass-order-service/src/main/java/net/jieyuu/feign/CouponFeignService.java +++ b/xdclass-order-service/src/main/java/net/jieyuu/feign/CouponFeignService.java @@ -27,5 +27,5 @@ public interface CouponFeignService { * @return */ @PostMapping("/api/coupon_record/v1/lock_records") - JsonData lockCouponRecords(@ApiParam("锁定优惠券请求对象") @RequestBody LockCouponRecordRequest lockCouponRecordRequest); + JsonData lockCouponRecords(@RequestBody LockCouponRecordRequest lockCouponRecordRequest); } diff --git a/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java b/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java index 68a9d8b..ce6166f 100644 --- a/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java +++ b/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java @@ -143,7 +143,7 @@ public class ProductOrderServiceImpl extends ServiceImpl - - - - - - - - - - + + + + + + + + + + - id, product_order_id, out_trade_no, product_id, product_name, product_img, buy_num, create_time, total_amount, amount + id + , product_order_id, out_trade_no, product_id, product_name, product_img, buy_num, create_time, total_amount, amount - - id, product_order_id, out_trade_no, product_id, product_name, product_img, buy_num, create_time, total_amount, amount + + product_order_id + , out_trade_no, product_id, product_name, product_img, buy_num, create_time, total_amount, amount + insert into product_order_item - () + () values ( - #{item.productOrderId} - #{item.outTradeNo} - #{item.productId} - #{item.productName} - #{item.productImg} - #{item.buyNum} - #{item.createTime} - #{item.totalAmount} + #{item.productOrderId}, + #{item.outTradeNo}, + #{item.productId}, + #{item.productName}, + #{item.productImg}, + #{item.buyNum}, + #{item.createTime}, + #{item.totalAmount}, #{item.amount} ) diff --git a/xdclass-product-service/src/main/java/net/jieyuu/service/impl/ProductServiceImpl.java b/xdclass-product-service/src/main/java/net/jieyuu/service/impl/ProductServiceImpl.java index 8e1b8ac..1583cf4 100644 --- a/xdclass-product-service/src/main/java/net/jieyuu/service/impl/ProductServiceImpl.java +++ b/xdclass-product-service/src/main/java/net/jieyuu/service/impl/ProductServiceImpl.java @@ -90,7 +90,6 @@ public class ProductServiceImpl extends ServiceImpl im @Override public ProductVO findDetailById(long productId) { ProductDO productDO = productMapper.selectById(productId); - return beanProcess(productDO); } @@ -164,7 +163,7 @@ public class ProductServiceImpl extends ServiceImpl im log.info("商品库存锁定信息延迟消息发送成功:{}", productMessage); } } - return null; + return JsonData.buildSuccess(); } /** @@ -214,7 +213,7 @@ public class ProductServiceImpl extends ServiceImpl im productTaskMapper.update(taskDO, new QueryWrapper().eq("id", productMessage.getTaskId())); // 恢复商品库存 // 即锁定库存的值减去当前的buyNum - productMapper.unlockProductStock(taskDO.getProductId(),taskDO.getBuyNum()); + productMapper.unlockProductStock(taskDO.getProductId(), taskDO.getBuyNum()); return true; } else { @@ -229,7 +228,7 @@ public class ProductServiceImpl extends ServiceImpl im private ProductVO beanProcess(ProductDO obj) { ProductVO productVO = new ProductVO(); BeanUtils.copyProperties(obj, productVO); - + productVO.setStock(obj.getStock() - obj.getLockStock()); return productVO; } } diff --git a/xdclass-product-service/src/main/resources/application.yml b/xdclass-product-service/src/main/resources/application.yml index b54228d..37f751b 100644 --- a/xdclass-product-service/src/main/resources/application.yml +++ b/xdclass-product-service/src/main/resources/application.yml @@ -62,5 +62,4 @@ mqconfig: stock_release_routing_key: stock.release.routing.key #消息过期时间,毫秒,测试改为15秒 - #为了测试修改时间 todo 记得修改回1500 - ttl: 360000 + ttl: 15000 diff --git a/xdclass-product-service/src/main/resources/mapper/ProductMapper.xml b/xdclass-product-service/src/main/resources/mapper/ProductMapper.xml index a2aa003..d22373b 100644 --- a/xdclass-product-service/src/main/resources/mapper/ProductMapper.xml +++ b/xdclass-product-service/src/main/resources/mapper/ProductMapper.xml @@ -26,7 +26,7 @@ update product set lock_stock = lock_stock + #{buyNum} where id = #{productId} - and stock - lock_stock >={buyNum} + and stock - lock_stock >= #{buyNum}