diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminAdController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminAdController.java index 2373ab4c..fe438899 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminAdController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminAdController.java @@ -94,7 +94,7 @@ public class AdminAdController { return error; } if(adService.updateById(ad) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(ad); diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminAdminController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminAdminController.java index f6cd2950..35ac57c6 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminAdminController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminAdminController.java @@ -149,7 +149,7 @@ public class AdminAdminController { admin.setPassword(encodedPassword); if(adminService.updateById(admin) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(admin); diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminBrandController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminBrandController.java index 96da2e90..01fdaf60 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminBrandController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminBrandController.java @@ -102,7 +102,7 @@ public class AdminBrandController { return error; } if(brandService.updateById(brand) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(brand); } diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminCategoryController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminCategoryController.java index be35fce3..8d6d804d 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminCategoryController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminCategoryController.java @@ -107,7 +107,7 @@ public class AdminCategoryController { } if(categoryService.updateById(category) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(); } diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminGrouponController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminGrouponController.java index a7b1bd83..5c7e4d65 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminGrouponController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminGrouponController.java @@ -136,7 +136,7 @@ public class AdminGrouponController { grouponRules.setPicUrl(goods.getPicUrl()); if(rulesService.updateById(grouponRules) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(); diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminIssueController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminIssueController.java index dc8f8581..978d2c94 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminIssueController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminIssueController.java @@ -94,7 +94,7 @@ public class AdminIssueController { return error; } if(issueService.updateById(issue) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(issue); diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminKeywordController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminKeywordController.java index 985acf06..9727175a 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminKeywordController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminKeywordController.java @@ -94,7 +94,7 @@ public class AdminKeywordController { return error; } if(keywordService.updateById(keywords) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(keywords); } diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java index 91c36010..fc1775fb 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java @@ -127,6 +127,8 @@ public class AdminOrderController { return ResponseUtil.fail(403, "订单不能确认收货"); } + Integer version = order.getVersion(); + // 开启事务管理 DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); @@ -134,7 +136,7 @@ public class AdminOrderController { try { // 设置订单取消状态 order.setOrderStatus(OrderUtil.STATUS_REFUND_CONFIRM); - if(orderService.updateById(order) == 0) { + if(orderService.updateByIdWithVersion(version, order) == 0) { throw new Exception("跟新数据已失效"); } @@ -199,6 +201,8 @@ public class AdminOrderController { return ResponseUtil.badArgument(); } + Integer version = order.getVersion(); + // 如果订单不是已付款状态,则不能发货 if (!order.getOrderStatus().equals(OrderUtil.STATUS_PAY)) { return ResponseUtil.fail(403, "订单不能确认收货"); @@ -208,7 +212,7 @@ public class AdminOrderController { order.setShipSn(shipSn); order.setShipChannel(shipChannel); order.setShipTime(LocalDateTime.now()); - if(orderService.updateById(order) == 0){ + if(orderService.updateByIdWithVersion(version, order) == 0){ return ResponseUtil.updatedDateExpired(); } @@ -243,6 +247,8 @@ public class AdminOrderController { continue; } + Integer version = order.getVersion(); + // 开启事务管理 DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); @@ -251,7 +257,7 @@ public class AdminOrderController { // 设置订单已取消状态 order.setOrderStatus(OrderUtil.STATUS_AUTO_CANCEL); order.setEndTime(LocalDateTime.now()); - if(orderService.updateById(order) == 0){ + if(orderService.updateByIdWithVersion(version, order) == 0){ throw new Exception("跟新数据已失效"); } @@ -264,12 +270,12 @@ public class AdminOrderController { Integer number = product.getNumber() + orderGoods.getNumber(); product.setNumber(number); if(productService.updateById(product) == 0){ - throw new Exception("跟新数据已失效"); + throw new Exception("跟新数据失败"); } } } catch (Exception ex) { txManager.rollback(status); - logger.info("订单 ID=" + order.getId() + " 数据已经更新,放弃自动确认收货"); + logger.info("订单 ID=" + order.getId() + " 数据更新失败,放弃自动确认收货"); return; } txManager.commit(status); @@ -306,10 +312,13 @@ public class AdminOrderController { if (expired.isAfter(now)) { continue; } + + Integer version = order.getVersion(); + // 设置订单已取消状态 order.setOrderStatus(OrderUtil.STATUS_AUTO_CONFIRM); order.setConfirmTime(now); - if(orderService.updateById(order) == 0){ + if(orderService.updateByIdWithVersion(version, order) == 0){ logger.info("订单 ID=" + order.getId() + " 数据已经更新,放弃自动确认收货"); } else{ diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminStorageController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminStorageController.java index 1e81403c..5016ad5f 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminStorageController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminStorageController.java @@ -75,7 +75,7 @@ public class AdminStorageController { return ResponseUtil.unlogin(); } if(litemallStorageService.update(litemallStorage) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(litemallStorage); } diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminTopicController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminTopicController.java index c45744f7..c48a0962 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminTopicController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminTopicController.java @@ -99,7 +99,7 @@ public class AdminTopicController { return error; } if(topicService.updateById(topic) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(topic); } diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminUserController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminUserController.java index fd3f3981..8c37033a 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminUserController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminUserController.java @@ -134,7 +134,7 @@ public class AdminUserController { user.setPassword(encodedPassword); if(userService.updateById(user) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(user); } diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallAdService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallAdService.java index 59468eb2..214afa5b 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallAdService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallAdService.java @@ -57,7 +57,7 @@ public class LitemallAdService { } public int updateById(LitemallAd ad) { - return adMapper.updateWithVersionByPrimaryKeySelective(ad.getVersion(), ad); + return adMapper.updateByPrimaryKeySelective(ad); } public void deleteById(Integer id) { diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallAdminService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallAdminService.java index 66623c0b..215859af 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallAdminService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallAdminService.java @@ -53,7 +53,7 @@ public class LitemallAdminService { } public int updateById(LitemallAdmin admin) { - return adminMapper.updateWithVersionByPrimaryKeySelective(admin.getVersion(), admin); + return adminMapper.updateByPrimaryKeySelective(admin); } public void deleteById(Integer id) { diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallBrandService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallBrandService.java index 78322940..e51a0b28 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallBrandService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallBrandService.java @@ -77,7 +77,7 @@ public class LitemallBrandService { } public int updateById(LitemallBrand brand) { - return brandMapper.updateWithVersionByPrimaryKeySelective(brand.getVersion(), brand); + return brandMapper.updateByPrimaryKeySelective(brand); } public void deleteById(Integer id) { diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallCartService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallCartService.java index 657aef0c..0448752a 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallCartService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallCartService.java @@ -26,7 +26,7 @@ public class LitemallCartService { } public int updateById(LitemallCart cart) { - return cartMapper.updateWithVersionByPrimaryKeySelective(cart.getVersion(), cart); + return cartMapper.updateByPrimaryKeySelective(cart); } public List queryByUid(int userId) { diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallCategoryService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallCategoryService.java index 2f7a26d7..a5583e51 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallCategoryService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallCategoryService.java @@ -87,7 +87,7 @@ public class LitemallCategoryService { } public int updateById(LitemallCategory category) { - return categoryMapper.updateWithVersionByPrimaryKeySelective(category.getVersion(), category); + return categoryMapper.updateByPrimaryKeySelective(category); } public void deleteById(Integer id) { diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallGoodsService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallGoodsService.java index c359deb3..50431abd 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallGoodsService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallGoodsService.java @@ -223,7 +223,7 @@ public class LitemallGoodsService { } public int updateById(LitemallGoods goods) { - return goodsMapper.updateWithVersionByPrimaryKeySelective(goods.getVersion(), goods); + return goodsMapper.updateByPrimaryKeySelective(goods); } public void deleteById(Integer id) { diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallGrouponRulesService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallGrouponRulesService.java index 4536ec1e..4c677192 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallGrouponRulesService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallGrouponRulesService.java @@ -108,6 +108,6 @@ public class LitemallGrouponRulesService { } public int updateById(LitemallGrouponRules grouponRules) { - return mapper.updateWithVersionByPrimaryKeySelective(grouponRules.getVersion(), grouponRules); + return mapper.updateByPrimaryKeySelective(grouponRules); } } diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallGrouponService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallGrouponService.java index dcfddddb..2baaf0aa 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallGrouponService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallGrouponService.java @@ -91,7 +91,7 @@ public class LitemallGrouponService { } public int updateById(LitemallGroupon groupon) { - return mapper.updateWithVersionByPrimaryKeySelective(groupon.getVersion(), groupon); + return mapper.updateByPrimaryKeySelective(groupon); } /** diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallIssueService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallIssueService.java index 72bebf03..b0fe8c53 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallIssueService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallIssueService.java @@ -59,7 +59,7 @@ public class LitemallIssueService { } public int updateById(LitemallIssue issue) { - return issueMapper.updateWithVersionByPrimaryKeySelective(issue.getVersion(), issue); + return issueMapper.updateByPrimaryKeySelective(issue); } public LitemallIssue findById(Integer id) { diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallKeywordService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallKeywordService.java index 444f8e71..eb0e0bad 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallKeywordService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallKeywordService.java @@ -80,7 +80,7 @@ public class LitemallKeywordService { } public int updateById(LitemallKeyword keywords) { - return keywordsMapper.updateWithVersionByPrimaryKeySelective(keywords.getVersion(), keywords); + return keywordsMapper.updateByPrimaryKeySelective(keywords); } public void deleteById(Integer id) { diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallOrderService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallOrderService.java index adca63f3..1cf67be7 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallOrderService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallOrderService.java @@ -25,12 +25,6 @@ public class LitemallOrderService { return orderMapper.insertSelective(order); } - public List query(Integer userId) { - LitemallOrderExample example = new LitemallOrderExample(); - example.or().andUserIdEqualTo(userId).andDeletedEqualTo(false); - return orderMapper.selectByExample(example); - } - public int count(Integer userId) { LitemallOrderExample example = new LitemallOrderExample(); example.or().andUserIdEqualTo(userId).andDeletedEqualTo(false); @@ -52,12 +46,6 @@ public class LitemallOrderService { return sb.toString(); } - public LitemallOrder queryByOrderSn(Integer userId, String orderSn){ - LitemallOrderExample example = new LitemallOrderExample(); - example.or().andUserIdEqualTo(userId).andOrderSnEqualTo(orderSn).andDeletedEqualTo(false); - return orderMapper.selectOneByExample(example); - } - public int countByOrderSn(Integer userId, String orderSn){ LitemallOrderExample example = new LitemallOrderExample(); example.or().andUserIdEqualTo(userId).andOrderSnEqualTo(orderSn).andDeletedEqualTo(false); @@ -136,8 +124,8 @@ public class LitemallOrderService { return (int)orderMapper.countByExample(example); } - public int updateById(LitemallOrder order) { - return orderMapper.updateWithVersionByPrimaryKeySelective(order.getVersion(), order); + public int updateByIdWithVersion(Integer version, LitemallOrder order) { + return orderMapper.updateWithVersionByPrimaryKeySelective(version, order); } public void deleteById(Integer id) { diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallProductService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallProductService.java index 6fdad968..306d501a 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallProductService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallProductService.java @@ -25,7 +25,7 @@ public class LitemallProductService { } public int updateById(LitemallProduct product) { - return productMapper.updateWithVersionByPrimaryKeySelective(product.getVersion(), product); + return productMapper.updateByPrimaryKeySelective(product); } public void deleteById(Integer id) { diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallStorageService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallStorageService.java index 48bc824f..7d8a9165 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallStorageService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallStorageService.java @@ -32,7 +32,7 @@ public class LitemallStorageService { } public int update(LitemallStorage storageInfo) { - return storageMapper.updateWithVersionByPrimaryKeySelective(storageInfo.getVersion(), storageInfo); + return storageMapper.updateByPrimaryKeySelective(storageInfo); } public LitemallStorage findById(Integer id) { diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallTopicService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallTopicService.java index c63b6fae..3c2802db 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallTopicService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallTopicService.java @@ -94,7 +94,7 @@ public class LitemallTopicService { public int updateById(LitemallTopic topic) { LitemallTopicExample example = new LitemallTopicExample(); example.or().andIdEqualTo(topic.getId()); - return topicMapper.updateWithVersionByExampleWithBLOBs(topic.getVersion(), topic, example); + return topicMapper.updateByExampleWithBLOBs(topic, example); } public void deleteById(Integer id) { diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserFormIdService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserFormIdService.java index b709df12..58048700 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserFormIdService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserFormIdService.java @@ -35,7 +35,7 @@ public class LitemallUserFormIdService { //更新或者删除缓存 if (userFormid.getIsprepay() && userFormid.getUseamount() > 1) { userFormid.setUseamount(userFormid.getUseamount() - 1); - return formidMapper.updateWithVersionByPrimaryKey(userFormid.getVersion(), userFormid); + return formidMapper.updateByPrimaryKey(userFormid); } else { return formidMapper.deleteByPrimaryKey(userFormid.getId()); } diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserService.java index 156da8e2..93af238d 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserService.java @@ -40,7 +40,7 @@ public class LitemallUserService { } public int updateById(LitemallUser user) { - return userMapper.updateWithVersionByPrimaryKeySelective(user.getVersion(), user); + return userMapper.updateByPrimaryKeySelective(user); } public List querySelective(String username, String mobile, Integer page, Integer size, String sort, String order) { diff --git a/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxAuthController.java b/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxAuthController.java index bb9a6264..c52d467e 100644 --- a/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxAuthController.java +++ b/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxAuthController.java @@ -167,7 +167,7 @@ public class WxAuthController { user.setLastLoginTime(LocalDateTime.now()); user.setLastLoginIp(IpUtil.client(request)); if(userService.updateById(user) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } } @@ -336,7 +336,7 @@ public class WxAuthController { user.setPassword(encodedPassword); if(userService.updateById(user) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(); @@ -352,7 +352,7 @@ public class WxAuthController { LitemallUser user = userService.findById(userId); user.setMobile(phone); if(userService.updateById(user) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(); } diff --git a/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxCartController.java b/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxCartController.java index 479634d3..1c331192 100644 --- a/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxCartController.java +++ b/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxCartController.java @@ -151,7 +151,7 @@ public class WxCartController { } existCart.setNumber((short) num); if(cartService.updateById(existCart) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } } @@ -224,7 +224,7 @@ public class WxCartController { } existCart.setNumber((short) num); if(cartService.updateById(existCart) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } } @@ -286,7 +286,7 @@ public class WxCartController { existCart.setNumber(number.shortValue()); if(cartService.updateById(existCart) == 0){ - return ResponseUtil.updatedDateExpired(); + return ResponseUtil.updatedDataFailed(); } return ResponseUtil.ok(); } diff --git a/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxOrderController.java b/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxOrderController.java index 05dfad51..73f161fa 100644 --- a/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxOrderController.java +++ b/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxOrderController.java @@ -499,6 +499,8 @@ public class WxOrderController { return ResponseUtil.badArgumentValue(); } + Integer version = order.getVersion(); + // 检测是否能够取消 OrderHandleOption handleOption = OrderUtil.build(order); if (!handleOption.isCancel()) { @@ -513,7 +515,7 @@ public class WxOrderController { // 设置订单已取消状态 order.setOrderStatus(OrderUtil.STATUS_CANCEL); order.setEndTime(LocalDateTime.now()); - if(orderService.updateById(order) == 0){ + if(orderService.updateByIdWithVersion(version, order) == 0){ throw new Exception("更新数据已失效"); } @@ -569,6 +571,8 @@ public class WxOrderController { return ResponseUtil.badArgumentValue(); } + Integer version = order.getVersion(); + // 检测是否能够取消 OrderHandleOption handleOption = OrderUtil.build(order); if (!handleOption.isPay()) { @@ -611,7 +615,7 @@ public class WxOrderController { return ResponseUtil.fail(403, "订单不能支付"); } - if(orderService.updateById(order) == 0){ + if(orderService.updateByIdWithVersion(version, order) == 0){ return ResponseUtil.updatedDateExpired(); } return ResponseUtil.ok(result); @@ -662,6 +666,8 @@ public class WxOrderController { return WxPayNotifyResponse.fail("订单不存在 sn=" + orderSn); } + Integer version = order.getVersion(); + // 检查这个订单是否已经处理过 if (OrderUtil.isPayStatus(order) && order.getPayId() != null) { return WxPayNotifyResponse.success("订单已经处理成功!"); @@ -675,18 +681,19 @@ public class WxOrderController { order.setPayId(payId); order.setPayTime(LocalDateTime.now()); order.setOrderStatus(OrderUtil.STATUS_PAY); - if (orderService.updateById(order) == 0) { + if (orderService.updateByIdWithVersion(version, order) == 0) { // 这里可能存在这样一个问题,用户支付和系统自动取消订单发生在同时 // 如果数据库首先因为系统自动取消订单而更新了订单状态; // 此时用户支付完成回调这里也要更新数据库,而由于乐观锁机制这里的更新会失败 // 因此,这里会重新读取数据库检查状态是否是订单自动取消,如果是则更新成支付状态。 order = orderService.findBySn(orderSn); + version = order.getVersion(); int updated = 0; if(OrderUtil.isAutoCancelStatus(order)){ order.setPayId(payId); order.setPayTime(LocalDateTime.now()); order.setOrderStatus(OrderUtil.STATUS_PAY); - updated = orderService.updateById(order); + updated = orderService.updateByIdWithVersion(version, order); } // 如果updated是0,那么数据库更新失败 @@ -761,6 +768,8 @@ public class WxOrderController { return ResponseUtil.badArgumentValue(); } + Integer version = order.getVersion(); + OrderHandleOption handleOption = OrderUtil.build(order); if (!handleOption.isRefund()) { return ResponseUtil.fail(403, "订单不能取消"); @@ -768,7 +777,7 @@ public class WxOrderController { // 设置订单申请退款状态 order.setOrderStatus(OrderUtil.STATUS_REFUND); - if(orderService.updateById(order) == 0){ + if(orderService.updateByIdWithVersion(version, order) == 0){ return ResponseUtil.updatedDateExpired(); } @@ -808,6 +817,8 @@ public class WxOrderController { return ResponseUtil.badArgumentValue(); } + Integer version = order.getVersion(); + OrderHandleOption handleOption = OrderUtil.build(order); if (!handleOption.isConfirm()) { return ResponseUtil.fail(403, "订单不能确认收货"); @@ -815,7 +826,7 @@ public class WxOrderController { order.setOrderStatus(OrderUtil.STATUS_CONFIRM); order.setConfirmTime(LocalDateTime.now()); - if(orderService.updateById(order) == 0){ + if(orderService.updateByIdWithVersion(version, order) == 0){ return ResponseUtil.updatedDateExpired(); } return ResponseUtil.ok();