Browse Source

修正订单关闭的bug

master
xyiege 4 years ago
parent
commit
85633e4ced
  1. 21
      src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java
  2. 2
      src/main/java/cn/chjyj/szwh/service/OrderService.java
  3. 39
      src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java
  4. 2
      src/main/resources/mapper/szwh/OrderMapper.xml
  5. 7
      src/test/java/cn/chjyj/szwh/mapper/OrderMapperTest.java
  6. 14
      urls.md

21
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;
}

2
src/main/java/cn/chjyj/szwh/service/OrderService.java

@ -68,7 +68,7 @@ public interface OrderService {
* @param batchcode
* @return
*/
int shutOrder(String batchcode);
Map<String,Object> shutOrder(String batchcode);
/**
* 统计订单总数

39
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<Order> 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<String,Object> 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<OrderDetailVo> 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;
}
/**

2
src/main/resources/mapper/szwh/OrderMapper.xml

@ -203,6 +203,6 @@
<update id="shutOrder" parameterType="java.lang.String">
update
<include refid="tbName"/>
set `status`=5,shuttime=#{shuttime} where batchcode=#{batchcode}
set `status`=5,`shuttime`=#{shuttime} where batchcode=#{batchcode}
</update>
</mapper>

7
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();
// }

14
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)
11. [springboot手动新建事务和提交事务](https://blog.csdn.net/libingbojava/article/details/125008416)
12. [SpringBoot使用@Transactional](https://blog.csdn.net/flyaway86/article/details/81181346)
Loading…
Cancel
Save