From 85633e4ceddd10c1a4d1e67825177683a4627bb7 Mon Sep 17 00:00:00 2001 From: xyiege Date: Wed, 10 Aug 2022 00:42:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E8=AE=A2=E5=8D=95=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/AdminOrderController.java | 21 ++++------ .../cn/chjyj/szwh/service/OrderService.java | 2 +- .../szwh/service/impl/OrderServiceImpl.java | 39 ++++++++++++++++++- .../resources/mapper/szwh/OrderMapper.xml | 2 +- .../cn/chjyj/szwh/mapper/OrderMapperTest.java | 7 ++-- urls.md | 14 ++++--- 6 files changed, 59 insertions(+), 26 deletions(-) diff --git a/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java b/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java index 3c99c40..0b8b943 100644 --- a/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java +++ b/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java @@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; @@ -149,22 +150,16 @@ public class AdminOrderController extends BaseController { /** * 关闭订单 - * @param batchcode + * @param reqjson * @return */ @PostMapping("/orderShut") - public JSONObject orderShut(String batchcode){ - // 1 删除订单信息 - int xx = orderService.shutOrder(batchcode); - // 2 删除订单产品 - int yy =orderGoodsDetailService.delOrderGoodsByBatchCode(batchcode); - // 与运算结果 - if((xx&yy)!=0){ - jsonObject.put("msg","订单成功关闭"); - }else{ - jsonObject.put("msg","订单关闭不成功"); - } - jsonObject.put("code",200); + public JSONObject orderShut(@RequestBody String reqjson){ + JSONObject request = JSONObject.parseObject(reqjson); + String batchcode= request.getString("batchcode"); + Map rmap = orderService.shutOrder(batchcode); + jsonObject.put("msg",rmap.get("msg")); + jsonObject.put("code",rmap.get("code")); return jsonObject; } diff --git a/src/main/java/cn/chjyj/szwh/service/OrderService.java b/src/main/java/cn/chjyj/szwh/service/OrderService.java index 10da0e8..d888040 100644 --- a/src/main/java/cn/chjyj/szwh/service/OrderService.java +++ b/src/main/java/cn/chjyj/szwh/service/OrderService.java @@ -68,7 +68,7 @@ public interface OrderService { * @param batchcode * @return */ - int shutOrder(String batchcode); + Map shutOrder(String batchcode); /** * 统计订单总数 diff --git a/src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java b/src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java index d19b3a7..a197436 100644 --- a/src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java +++ b/src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java @@ -12,7 +12,12 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.stereotype.Service; +import org.springframework.transaction.TransactionDefinition; +import org.springframework.transaction.TransactionStatus; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.support.DefaultTransactionDefinition; import java.math.BigDecimal; import java.text.SimpleDateFormat; @@ -37,6 +42,8 @@ public class OrderServiceImpl implements OrderService { private OrderGoodsSourceMapper orderGoodsSourceMapper; @Autowired private GoodsSourceMapper goodsSourceMapper; + @Autowired + private GoodsMapper goodsMapper; //分账相关 @Autowired @@ -44,6 +51,10 @@ public class OrderServiceImpl implements OrderService { @Autowired private AccountRatioDetailMapper accountRatioDetailMapper; + // 声明式事物\ + @Autowired + private DataSourceTransactionManager transactionManager; + @Override public List getAllOrderList(int page) { @@ -454,10 +465,34 @@ public class OrderServiceImpl implements OrderService { * @return */ @Override - public int shutOrder(String batchcode) { + @Transactional(rollbackFor = Exception.class) + public Map shutOrder(String batchcode) { + Map retmap =new HashMap(); + String msg="订单关闭不成功"; + int code=400; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String now = sdf.format(new Date()); - return orderMapper.shutOrder(batchcode,now); + + int ret=0; + ret = orderMapper.shutOrder(batchcode,now); + // 设置商品信息 + List odlist = orderGoodsDetailMapper.getOrderDetailVo(batchcode); + if(odlist!=null){ + for(OrderDetailVo odv:odlist){ + if("1".equals(odv.getGoods_entrust()) ){ // 判断状态商品委托类型 + // 更新产品专题 + goodsMapper.updateGoodsField("goods_status","1",odv.getGoods_islicode()); + } + } + } + if(ret==0){ + msg="订单关闭成功"; + code=200; + } + // + retmap.put("msg",msg); + retmap.put("code",code); + return retmap; } /** diff --git a/src/main/resources/mapper/szwh/OrderMapper.xml b/src/main/resources/mapper/szwh/OrderMapper.xml index 0ed0d77..6bb24b8 100644 --- a/src/main/resources/mapper/szwh/OrderMapper.xml +++ b/src/main/resources/mapper/szwh/OrderMapper.xml @@ -203,6 +203,6 @@ update - set `status`=5,shuttime=#{shuttime} where batchcode=#{batchcode} + set `status`=5,`shuttime`=#{shuttime} where batchcode=#{batchcode} \ No newline at end of file diff --git a/src/test/java/cn/chjyj/szwh/mapper/OrderMapperTest.java b/src/test/java/cn/chjyj/szwh/mapper/OrderMapperTest.java index 54ec183..6a235e8 100644 --- a/src/test/java/cn/chjyj/szwh/mapper/OrderMapperTest.java +++ b/src/test/java/cn/chjyj/szwh/mapper/OrderMapperTest.java @@ -82,15 +82,16 @@ public class OrderMapperTest { * 订单关闭 */ @Transactional - @Rollback + @Rollback(false) @Test public void shutOrder(){ - String batchcode="1652850431002118"; + String batchcode="1657523510554051"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //try { //Date shuttime = sdf.parse(sdf.format(new Date())); String shuttime = sdf.format(new Date()); - orderMapper.shutOrder(batchcode, shuttime); + int ret = orderMapper.shutOrder(batchcode, shuttime); + System.out.println(ret); //}catch (Exception ex){ // ex.printStackTrace(); // } diff --git a/urls.md b/urls.md index 665bb8d..6e505ba 100644 --- a/urls.md +++ b/urls.md @@ -6,20 +6,22 @@ 3. [springboot--整合Druid数据源,MyBatis和log4j日志输出(与JdbcTemplate 对比)](https://blog.csdn.net/weixin_43393069/article/details/108427787) -4.[MyBatis 开启 Log4j 日志调试信息开关](https://www.cnblogs.com/binbingg/p/13744398.html) +4. [MyBatis 开启 Log4j 日志调试信息开关](https://www.cnblogs.com/binbingg/p/13744398.html) -5.[Mybatis控制台打印SQL语句的两种方式实现](https://www.jb51.net/article/207776.htm) +5. [Mybatis控制台打印SQL语句的两种方式实现](https://www.jb51.net/article/207776.htm) -6.[springboot + mybatis 控制台打印sql语句方法](https://blog.csdn.net/lyl815616/article/details/116976815) +6. [springboot + mybatis 控制台打印sql语句方法](https://blog.csdn.net/lyl815616/article/details/116976815) ### 定时操作 -7.[SpringBoot中实现定时任务(Quartz)](https://blog.csdn.net/qq_42402854/article/details/110187603) +7. [SpringBoot中实现定时任务(Quartz)](https://blog.csdn.net/qq_42402854/article/details/110187603) 8. [SpringBoot+Quartz动态管理定时任务](https://blog.csdn.net/xy294636185/article/details/123951509) -9.[Spring Boot 手动使用事务PlatformTransactionManager](https://blog.csdn.net/prison123456/article/details/119778026) +9. [Spring Boot 手动使用事务PlatformTransactionManager](https://blog.csdn.net/prison123456/article/details/119778026) 10. [httpclient发送get,post,设置header](https://blog.csdn.net/x19910818a/article/details/78491676) -11.[springboot手动新建事务和提交事务](https://blog.csdn.net/libingbojava/article/details/125008416) \ No newline at end of file +11. [springboot手动新建事务和提交事务](https://blog.csdn.net/libingbojava/article/details/125008416) + +12. [SpringBoot使用@Transactional](https://blog.csdn.net/flyaway86/article/details/81181346) \ No newline at end of file