收货地址功能实现:设置默认的收货地址
Service : 完善AddressService
public void updateUserAddressToBeDefault(String userId,String addressId);
ServiceImpl: 完善AddressServiceImpl
@Transactional(propagation = Propagation.REQUIRED)
@Override
public void updateUserAddressToBeDefault(String userId, String addressId) {
UserAddress queryUserAddress = new UserAddress();
queryUserAddress.setUserId(userId);
queryUserAddress.setIsDefault(YesOrNo.YES.type);
List<UserAddress> list = userAddressMapper.select(queryUserAddress);
for(UserAddress ua: list){
ua.setIsDefault(YesOrNo.NO.type);
userAddressMapper.updateByPrimaryKeySelective(ua);
}
UserAddress defaultAddress = new UserAddress();
defaultAddress.setId(addressId);
defaultAddress.setUserId(userId);
defaultAddress.setIsDefault(YesOrNo.YES.type);
userAddressMapper.updateByPrimaryKeySelective(defaultAddress);
}
Controller: 完善AddressController
@ApiOperation(value = "设置用户默认地址",notes = "设置用户默认地址",httpMethod = "POST")
@PostMapping("/setDefalut")
public BEYONDJSONResult setDefault(
@RequestParam String userId,
@RequestParam String addressId
){
if (StringUtils.isBlank(userId)|| StringUtils.isBlank(addressId)){
return BEYONDJSONResult.errorMsg("");
}
addressService.updateUserAddressToBeDefault(userId, addressId);
return BEYONDJSONResult.ok();
}