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. 2
      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 com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -149,22 +150,16 @@ public class AdminOrderController extends BaseController {
/** /**
* 关闭订单 * 关闭订单
* @param batchcode * @param reqjson
* @return * @return
*/ */
@PostMapping("/orderShut") @PostMapping("/orderShut")
public JSONObject orderShut(String batchcode){ public JSONObject orderShut(@RequestBody String reqjson){
// 1 删除订单信息 JSONObject request = JSONObject.parseObject(reqjson);
int xx = orderService.shutOrder(batchcode); String batchcode= request.getString("batchcode");
// 2 删除订单产品 Map rmap = orderService.shutOrder(batchcode);
int yy =orderGoodsDetailService.delOrderGoodsByBatchCode(batchcode); jsonObject.put("msg",rmap.get("msg"));
// 与运算结果 jsonObject.put("code",rmap.get("code"));
if((xx&yy)!=0){
jsonObject.put("msg","订单成功关闭");
}else{
jsonObject.put("msg","订单关闭不成功");
}
jsonObject.put("code",200);
return jsonObject; return jsonObject;
} }

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

@ -68,7 +68,7 @@ public interface OrderService {
* @param batchcode * @param batchcode
* @return * @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.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.stereotype.Service; 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.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -37,6 +42,8 @@ public class OrderServiceImpl implements OrderService {
private OrderGoodsSourceMapper orderGoodsSourceMapper; private OrderGoodsSourceMapper orderGoodsSourceMapper;
@Autowired @Autowired
private GoodsSourceMapper goodsSourceMapper; private GoodsSourceMapper goodsSourceMapper;
@Autowired
private GoodsMapper goodsMapper;
//分账相关 //分账相关
@Autowired @Autowired
@ -44,6 +51,10 @@ public class OrderServiceImpl implements OrderService {
@Autowired @Autowired
private AccountRatioDetailMapper accountRatioDetailMapper; private AccountRatioDetailMapper accountRatioDetailMapper;
// 声明式事物\
@Autowired
private DataSourceTransactionManager transactionManager;
@Override @Override
public List<Order> getAllOrderList(int page) { public List<Order> getAllOrderList(int page) {
@ -454,10 +465,34 @@ public class OrderServiceImpl implements OrderService {
* @return * @return
*/ */
@Override @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"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = sdf.format(new Date()); 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 id="shutOrder" parameterType="java.lang.String">
update update
<include refid="tbName"/> <include refid="tbName"/>
set `status`=5,shuttime=#{shuttime} where batchcode=#{batchcode} set `status`=5,`shuttime`=#{shuttime} where batchcode=#{batchcode}
</update> </update>
</mapper> </mapper>

7
src/test/java/cn/chjyj/szwh/mapper/OrderMapperTest.java

@ -82,15 +82,16 @@ public class OrderMapperTest {
* 订单关闭 * 订单关闭
*/ */
@Transactional @Transactional
@Rollback @Rollback(false)
@Test @Test
public void shutOrder(){ public void shutOrder(){
String batchcode="1652850431002118"; String batchcode="1657523510554051";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//try { //try {
//Date shuttime = sdf.parse(sdf.format(new Date())); //Date shuttime = sdf.parse(sdf.format(new Date()));
String shuttime = 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){ //}catch (Exception ex){
// ex.printStackTrace(); // ex.printStackTrace();
// } // }

2
urls.md

@ -23,3 +23,5 @@
10. [httpclient发送get,post,设置header](https://blog.csdn.net/x19910818a/article/details/78491676) 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