This commit is contained in:
Cauchy
2023-10-20 16:31:04 +08:00
parent e4bd2854a3
commit 0633287662
8 changed files with 107 additions and 6 deletions

View File

@@ -81,8 +81,14 @@ public class BuyOrderController {
@Autowired
private SysConfigService sysConfigService;
@RequestMapping(value = "/decomposeShipment", method = RequestMethod.GET)
public R decomposeShipment(@RequestParam("userId") Integer userId) {
Map<Integer, List<String>> result = buyOrderService.decomposeShipment(userId);
return R.ok().put("result", result);
}
// TODO 新版本上线后废弃
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params) throws Exception {
PageUtils page = buyOrderService.list(params);
@@ -299,6 +305,7 @@ public class BuyOrderController {
/**
* 获取订单详情
* TODO 新版本上线后删除
*
* @param orderId
* @return
@@ -467,10 +474,19 @@ public class BuyOrderController {
return BigDecimal.ZERO;
}
@RequestMapping("/modifyOrderAddress")
public R modifyOrderAddress(@RequestBody ModifyOrderAddressRequestVo requestVo) {
@RequestMapping("/modifyConsigneeAddress")
public R modifyConsigneeAddress(@RequestBody ModifyOrderAddressRequestVo requestVo) {
QueryWrapper<BuyOrder> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_sn", requestVo.getOrderSn());
BuyOrder buyOrder = buyOrderService.getOne(queryWrapper);
buyOrder.setShippingUser(requestVo.getConsigneeName());
buyOrder.setUserPhone(requestVo.getConsigneeMobile());
buyOrder.setProvince(requestVo.getProvince());
buyOrder.setCity(requestVo.getCity());
buyOrder.setDistrict(requestVo.getCounty());
buyOrder.setAddress(requestVo.getAddress());
buyOrder.setAddressModified(1);
buyOrderService.updateById(buyOrder);
return R.ok();
}
@@ -557,4 +573,5 @@ public class BuyOrderController {
return message;
};
}
}

View File

@@ -173,4 +173,6 @@ public class BuyOrder implements Serializable {
@TableField(exist = false)
private MyUserEntity user;
private int addressModified;
}

View File

@@ -51,5 +51,7 @@ public interface BuyOrderService extends IService<BuyOrder> {
BuyOrderResponseVo orderDetail(String orderSn);
Map<Integer, List<String>> decomposeShipment(Integer userId);
}

View File

@@ -17,10 +17,7 @@ import com.peanut.modules.book.service.*;
import com.peanut.modules.book.vo.ExpressOrderResponseVo;
import com.peanut.modules.book.vo.UserOrderVo;
import com.peanut.modules.book.vo.request.BuyOrderListRequestVo;
import com.peanut.modules.book.vo.response.BuyOrderResponseVo;
import com.peanut.modules.book.vo.response.ConsigneeVo;
import com.peanut.modules.book.vo.response.ExpressResponseVo;
import com.peanut.modules.book.vo.response.GoodsResponseVo;
import com.peanut.modules.book.vo.response.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -229,6 +226,25 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
return userOrderVoList;
}
public Map<Integer, List<String>> decomposeShipment(Integer userId) {
QueryWrapper<BuyOrder> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("del_flag", 0);
queryWrapper.eq("userId", userId);
queryWrapper.eq("address_modified", 0);
List<BuyOrder> buyOrderList = list(queryWrapper);
Map<Integer, List<String>> result = new HashMap<>();
for (BuyOrder buyOrder : buyOrderList) {
if (result.containsKey(buyOrder.getAddressId())) {
List<String> orderSnList = result.get(buyOrder.getAddressId());
orderSnList.add(buyOrder.getOrderSn());
} else {
List<String> orderSnList = new ArrayList<>();
result.put(buyOrder.getAddressId(), orderSnList);
}
}
return result;
}
/**
* 查询所有订单是否有可合并
*
@@ -298,6 +314,14 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
List<BuyOrder> buyOrderList = list(buyOrderQueryWrapper);
for (BuyOrder buyOrder : buyOrderList) {
BuyOrderResponseVo responseVo = new BuyOrderResponseVo();
Integer userId = buyOrder.getUserId();
QueryWrapper<MyUserEntity> userEntityQueryWrapper = new QueryWrapper<>();
userEntityQueryWrapper.eq("id",userId);
MyUserEntity user = myUserService.getOne(userEntityQueryWrapper);
UserResponseVo userResponseVo = new UserResponseVo();
userResponseVo.setUserPhone(user.getTel());
userResponseVo.setUserName(user.getName());
responseVo.setUserInfo(userResponseVo);
responseVo.setOrderPrice(buyOrder.getOrderMoney());
BeanUtil.copyProperties(buyOrder, responseVo);
ConsigneeVo consigneeVo = new ConsigneeVo();

View File

@@ -33,4 +33,8 @@ public class ModifyOrderAddressRequestVo {
* 收货人电话
*/
private String consigneeMobile;
/**
* 详细地址
*/
private String address;
}

View File

@@ -37,6 +37,18 @@ public class BuyOrderResponseVo {
* 订单金额
*/
private BigDecimal orderPrice;
/**
* 实际金额
*/
private BigDecimal realPrice;
/**
* 扣减金额
*/
private BigDecimal districtPrice;
/**
* 运费
*/
private BigDecimal shippingPrice;
/**
* 商品列表
*/
@@ -45,4 +57,12 @@ public class BuyOrderResponseVo {
* 收货人信息
*/
private ConsigneeVo consignee;
/**
* 优惠券
*/
private CouponResponseVo coupon;
/**
* 用户信息
*/
private UserResponseVo userInfo;
}

View File

@@ -0,0 +1,12 @@
package com.peanut.modules.book.vo.response;
import lombok.Data;
/**
* @Description: 优惠券 Value Object
* @Author: Cauchy
* @CreateTime: 2023/10/20
*/
@Data
public class CouponResponseVo {
}

View File

@@ -0,0 +1,20 @@
package com.peanut.modules.book.vo.response;
import lombok.Data;
/**
* @Description: 用户 Value Object
* @Author: Cauchy
* @CreateTime: 2023/10/20
*/
@Data
public class UserResponseVo {
/**
* 用户姓名
*/
private String userName;
/**
* 用户电话
*/
private String userPhone;
}