package com.panzhihua.service_community.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.panzhihua.common.model.vos.common.ComBatteryUserAddressVo;
|
import com.panzhihua.service_community.entity.ComBatteryUserAddress;
|
import com.panzhihua.service_community.dao.ComBatteryUserAddressMapper;
|
import com.panzhihua.service_community.service.ComBatteryUserAddressService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.springframework.beans.BeanUtils;
|
import com.panzhihua.common.model.dtos.common.*;
|
import com.panzhihua.common.model.vos.R;
|
import org.springframework.stereotype.Service;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import java.util.List;
|
|
/**
|
* title: 电动车商城-用户收货地址表表服务实现类
|
* <p>
|
* projectName 成都呐喊信息技术有限公司-智慧社区项目
|
* <p>
|
* description: 电动车商城-用户收货地址表表服务实现类
|
*
|
* @author lyq
|
* @date 2022-03-29 13:18:20
|
*/
|
@Service("comBatteryUserAddressService")
|
public class ComBatteryUserAddressServiceImpl extends ServiceImpl<ComBatteryUserAddressMapper, ComBatteryUserAddress> implements ComBatteryUserAddressService {
|
|
/**
|
* description queryByPage 分页查询
|
*
|
* @param comBatteryUserAddress 请求参数
|
* @return 分页查询列表数据
|
* @author lyq
|
* @date 2022-03-29 13:18:20
|
*/
|
@Override
|
public R queryByPage(PageComBatteryUserAddressDto comBatteryUserAddress) {
|
return R.ok(this.baseMapper.queryAllByLimit(comBatteryUserAddress, new Page(comBatteryUserAddress.getPageNum(), comBatteryUserAddress.getPageSize())));
|
}
|
|
/**
|
* description insert 新增数据
|
*
|
* @param comBatteryUserAddress 请求参数
|
* @return 新增结果
|
* @author lyq
|
* @date 2022-03-29 13:18:20
|
*/
|
@Override
|
public R insert(AddComBatteryUserAddressDto comBatteryUserAddress) {
|
ComBatteryUserAddress entity = new ComBatteryUserAddress();
|
if(comBatteryUserAddress.getIsDefault().equals(ComBatteryUserAddress.IsDefault.yes)){
|
//修改用户原来所有收货地址为不默认状态
|
this.baseMapper.updateUserAddressIsDefault(comBatteryUserAddress.getUserId());
|
}
|
BeanUtils.copyProperties(comBatteryUserAddress, entity);
|
if (this.baseMapper.insert(entity) > 0) {
|
return R.ok();
|
}
|
return R.fail("添加失败");
|
}
|
|
/**
|
* description update 修改数据
|
*
|
* @param editDto 请求参数
|
* @return 修改结果
|
* @author lyq
|
* @date 2022-03-29 13:18:20
|
*/
|
@Override
|
public R update(EditComBatteryUserAddressDto editDto) {
|
ComBatteryUserAddress entity = this.baseMapper.selectById(editDto.getId());
|
if (entity == null) {
|
return R.fail("未查询到该记录");
|
}
|
if(editDto.getIsDefault().equals(ComBatteryUserAddress.IsDefault.yes)){
|
//修改用户原来所有收货地址为不默认状态
|
this.baseMapper.updateUserAddressIsDefault(editDto.getUserId());
|
}
|
BeanUtils.copyProperties(editDto, entity);
|
if (this.baseMapper.updateById(entity) > 0) {
|
return R.ok();
|
}
|
return R.fail("修改失败");
|
}
|
|
/**
|
* description deleteById 通过主键删除数据
|
*
|
* @param id 主键id
|
* @return 删除结果
|
* @author lyq
|
* @date 2022-03-29 13:18:20
|
*/
|
@Override
|
public R deleteById(Long id) {
|
if (this.baseMapper.deleteById(id) > 0) {
|
return R.ok();
|
}
|
return R.fail("删除失败");
|
}
|
|
/**
|
* description detailById 查询详情
|
*
|
* @param id 主键id
|
* @return 详情数据
|
* @author lyq
|
* @date 2022-03-29 13:18:20
|
*/
|
@Override
|
public R detailById(Long id) {
|
return R.ok(this.baseMapper.queryById(id));
|
}
|
|
/**
|
* description queryByPage 查询列表
|
*
|
* @param comBatteryUserAddress 请求参数
|
* @return 列表数据
|
* @author lyq
|
* @date 2022-03-29 13:18:20
|
*/
|
@Override
|
public R queryByList(PageComBatteryUserAddressDto comBatteryUserAddress) {
|
return R.ok(this.baseMapper.queryAllByList(comBatteryUserAddress));
|
}
|
|
/**
|
* 查询用户默认收货地址
|
* @param userId 用户id
|
* @return 用户默认收货地址
|
*/
|
@Override
|
public R getDefaultAddress(Long userId) {
|
ComBatteryUserAddressVo userAddressVo = new ComBatteryUserAddressVo();
|
//判断当前用户是否拥有默认地址
|
Integer count = this.baseMapper.selectCount(new QueryWrapper<ComBatteryUserAddress>().lambda()
|
.eq(ComBatteryUserAddress::getUserId,userId).eq(ComBatteryUserAddress::getIsDefault,ComBatteryUserAddress.IsDefault.yes));
|
if(count > 0){
|
ComBatteryUserAddress userAddress = this.baseMapper.selectList(new QueryWrapper<ComBatteryUserAddress>().lambda()
|
.eq(ComBatteryUserAddress::getUserId,userId).eq(ComBatteryUserAddress::getIsDefault,ComBatteryUserAddress.IsDefault.yes)
|
.orderByDesc(ComBatteryUserAddress::getCreateAt)).get(0);
|
BeanUtils.copyProperties(userAddress, userAddressVo);
|
}else{
|
List<ComBatteryUserAddress> userAddressList = this.baseMapper.selectList(new QueryWrapper<ComBatteryUserAddress>().lambda()
|
.eq(ComBatteryUserAddress::getUserId,userId).orderByDesc(ComBatteryUserAddress::getCreateAt));
|
if(!userAddressList.isEmpty()){
|
ComBatteryUserAddress userAddress = userAddressList.get(0);
|
BeanUtils.copyProperties(userAddress, userAddressVo);
|
}
|
}
|
return R.ok(userAddressVo);
|
}
|
}
|