管理地址时,更新默认地址
This commit is contained in:
@@ -8,6 +8,7 @@ import com.peanut.modules.book.service.UserAddressService;
|
||||
import com.peanut.modules.book.vo.UserAddressVo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -43,9 +44,8 @@ public class UserAddressController {
|
||||
*/
|
||||
@RequestMapping("/save")
|
||||
public R save(@RequestBody UserAddress userAddress) {
|
||||
// 判断是否已经有默认的地址了
|
||||
if ((userAddressService.getUserDefaultAddressCount(userAddress.getUserId()) >= 1) && userAddress.getIsDefault() == 1) {
|
||||
return R.error("已经存在默认地址");
|
||||
if (userAddress.getIsDefault()==1){
|
||||
userAddressService.clearUserDefaultAddress(userAddress.getUserId());
|
||||
}
|
||||
if(userAddress.getRegionCode()==null||userAddress.getRegionCode().equals("")){
|
||||
return R.error("地址异常添加失败!");
|
||||
@@ -59,9 +59,10 @@ public class UserAddressController {
|
||||
}
|
||||
|
||||
@RequestMapping("/update")
|
||||
@Transactional
|
||||
public R update(@RequestBody UserAddress userAddress) {
|
||||
if ((userAddressService.getUserDefaultAddressCount(userAddress.getUserId()) >= 1) && userAddress.getIsDefault() == 1) {
|
||||
return R.error("已经存在默认地址");
|
||||
if (userAddress.getIsDefault()==1){
|
||||
userAddressService.clearUserDefaultAddress(userAddress.getUserId());
|
||||
}
|
||||
String str = userAddress.getConsigneeName()+userAddress.getConsigneePhone()+userAddress.getDetailAddress();
|
||||
if(str.contains("+")||str.contains("&")){
|
||||
|
||||
@@ -19,5 +19,7 @@ public interface UserAddressService extends IService<UserAddress> {
|
||||
UserAddressVo getAddressName(UserAddressVo vo, String regionCode);
|
||||
|
||||
int getUserDefaultAddressCount(Integer userId);
|
||||
|
||||
void clearUserDefaultAddress(Integer userId);
|
||||
}
|
||||
|
||||
|
||||
@@ -88,4 +88,15 @@ public class UserAddressServiceImpl extends ServiceImpl<UserAddressDao, UserAddr
|
||||
queryWrapper.eq("is_default", 1);
|
||||
return this.count(queryWrapper);
|
||||
}
|
||||
|
||||
public void clearUserDefaultAddress(Integer userId) {
|
||||
QueryWrapper<UserAddress> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("user_id", userId);
|
||||
queryWrapper.eq("is_default", 1);
|
||||
UserAddress userAddress = this.getOne(queryWrapper);
|
||||
if (userAddress != null) {
|
||||
userAddress.setIsDefault(0);
|
||||
this.updateById(userAddress);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user