|
|
@@ -16,6 +16,10 @@
|
|
|
*/
|
|
|
package com.store.goods.controller;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.store.goods.entity.Order;
|
|
|
+import com.store.goods.service.IOrderService;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
@@ -36,6 +40,7 @@ import com.store.goods.service.IOrderAddressService;
|
|
|
import org.springblade.core.boot.ctrl.BladeController;
|
|
|
|
|
|
import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* 订单收货地址表 控制器
|
|
|
@@ -51,6 +56,8 @@ public class OrderAddressController extends BladeController {
|
|
|
|
|
|
private final IOrderAddressService orderAddressService;
|
|
|
|
|
|
+ private final IOrderService iOrderService;
|
|
|
+
|
|
|
/**
|
|
|
* 详情
|
|
|
*/
|
|
|
@@ -95,6 +102,22 @@ public class OrderAddressController extends BladeController {
|
|
|
orderAddress.setTenantId(AuthUtil.getTenantId());
|
|
|
orderAddress.setCreateTime(new Date());
|
|
|
orderAddress.setCreateUser(AuthUtil.getUserId());
|
|
|
+ //判断有没有其他默认地址, 如果有其他地址需要取消
|
|
|
+ if(orderAddress.getIsDefault()==1)
|
|
|
+ {
|
|
|
+ LambdaQueryWrapper<OrderAddress> orderAddressLambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
+ orderAddressLambdaQueryWrapper
|
|
|
+ .eq(OrderAddress::getIsDefault,1)
|
|
|
+ .eq(OrderAddress::getUserId,AuthUtil.getUserId());
|
|
|
+ List<OrderAddress> addressList = orderAddressService.list(orderAddressLambdaQueryWrapper);
|
|
|
+ if(CollectionUtils.isNotEmpty(addressList))
|
|
|
+ {
|
|
|
+ addressList.forEach(e->{
|
|
|
+ e.setIsDefault(0);
|
|
|
+ orderAddressService.updateById(e);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
return R.status(orderAddressService.save(orderAddress));
|
|
|
}
|
|
|
|
|
|
@@ -107,6 +130,22 @@ public class OrderAddressController extends BladeController {
|
|
|
public R update(@Valid @RequestBody OrderAddress orderAddress) {
|
|
|
orderAddress.setUpdateTime(new Date());
|
|
|
orderAddress.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ //判断有没有其他默认地址, 如果有其他地址需要取消
|
|
|
+ if(orderAddress.getIsDefault()==1)
|
|
|
+ {
|
|
|
+ LambdaQueryWrapper<OrderAddress> orderAddressLambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
+ orderAddressLambdaQueryWrapper
|
|
|
+ .eq(OrderAddress::getIsDefault,1)
|
|
|
+ .eq(OrderAddress::getUserId,AuthUtil.getUserId());
|
|
|
+ List<OrderAddress> addressList = orderAddressService.list(orderAddressLambdaQueryWrapper);
|
|
|
+ if(CollectionUtils.isNotEmpty(addressList))
|
|
|
+ {
|
|
|
+ addressList.forEach(e->{
|
|
|
+ e.setIsDefault(0);
|
|
|
+ orderAddressService.updateById(e);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
return R.status(orderAddressService.updateById(orderAddress));
|
|
|
}
|
|
|
|
|
|
@@ -127,8 +166,32 @@ public class OrderAddressController extends BladeController {
|
|
|
@ApiOperationSupport(order = 8)
|
|
|
@ApiOperation(value = "删除", notes = "传入ids")
|
|
|
public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
|
|
|
- return R.status(orderAddressService.removeByIds(Func.toLongList(ids)));
|
|
|
+ List<Long> longs = Func.toLongList(ids);
|
|
|
+ LambdaQueryWrapper<OrderAddress> orderAddressLambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
+ orderAddressLambdaQueryWrapper.in(OrderAddress::getId,longs);
|
|
|
+ List<OrderAddress> addressList = orderAddressService.list(orderAddressLambdaQueryWrapper);
|
|
|
+ if(CollectionUtils.isEmpty(addressList))
|
|
|
+ {
|
|
|
+ throw new SecurityException("暂未查到相关地址");
|
|
|
+ }
|
|
|
+ addressList.forEach(e->{
|
|
|
+ e.setIsDeleted(1);
|
|
|
+ orderAddressService.updateById(e);
|
|
|
+ });
|
|
|
+ return R.success("删除成功");
|
|
|
}
|
|
|
|
|
|
+ @PostMapping("/getDefaultAddress")
|
|
|
+ @ApiOperationSupport(order = 8)
|
|
|
+ @ApiOperation(value = "获取默认地址", notes = "无需传入")
|
|
|
+ public R getDefaultAddress()
|
|
|
+ {
|
|
|
+ LambdaQueryWrapper<OrderAddress> orderAddressLambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
+ orderAddressLambdaQueryWrapper.eq(OrderAddress::getUserId,AuthUtil.getUserId()).eq(OrderAddress::getIsDefault,1);
|
|
|
+ OrderAddress orderAddress = orderAddressService.getOne(orderAddressLambdaQueryWrapper,false);
|
|
|
+ return R.data(orderAddress);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|