Merge remote-tracking branch 'origin/feature/mall_product' into feature/mall_product

# Conflicts:
#	yudao-module-member/yudao-module-member-biz/pom.xml
This commit is contained in:
xiaqing
2023-06-28 22:55:53 +08:00
27 changed files with 482 additions and 39 deletions

View File

@ -89,6 +89,11 @@
<artifactId>yudao-spring-boot-starter-excel</artifactId>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-biz-ip</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.member.controller.app.address.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
// TODO 芋艿example 缺失
@ -31,6 +30,6 @@ public class AppAddressBaseVO {
@Schema(description = "是否默认地址", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "是否默认地址不能为空")
private Boolean defaulted;
private Boolean defaultStatus;
}

View File

@ -1,7 +1,9 @@
package cn.iocoder.yudao.module.member.controller.app.address.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Schema(description = "用户 APP - 用户收件地址 Response VO")
@Data
@ -9,10 +11,10 @@ import java.time.LocalDateTime;
@ToString(callSuper = true)
public class AppAddressRespVO extends AppAddressBaseVO {
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long id;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime;
@Schema(description = "地区名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "上海上海市普陀区")
private String areaName;
}

View File

@ -9,7 +9,7 @@ import javax.validation.constraints.*;
@ToString(callSuper = true)
public class AppAddressUpdateReqVO extends AppAddressBaseVO {
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
@NotNull(message = "编号不能为空")
private Long id;

View File

@ -1,12 +1,14 @@
package cn.iocoder.yudao.module.member.convert.address;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO;
import cn.iocoder.yudao.module.member.controller.app.address.vo.AppAddressCreateReqVO;
import cn.iocoder.yudao.module.member.controller.app.address.vo.AppAddressRespVO;
import cn.iocoder.yudao.module.member.controller.app.address.vo.AppAddressUpdateReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.address.MemberAddressDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Named;
import org.mapstruct.factory.Mappers;
import java.util.List;
@ -25,12 +27,16 @@ public interface AddressConvert {
MemberAddressDO convert(AppAddressUpdateReqVO bean);
@Mapping(source = "areaId", target = "areaName", qualifiedByName = "convertAreaIdToAreaName")
AppAddressRespVO convert(MemberAddressDO bean);
List<AppAddressRespVO> convertList(List<MemberAddressDO> list);
PageResult<AppAddressRespVO> convertPage(PageResult<MemberAddressDO> page);
AddressRespDTO convert02(MemberAddressDO bean);
@Named("convertAreaIdToAreaName")
default String convertAreaIdToAreaName(Integer areaId) {
return AreaUtils.format(areaId);
}
}

View File

@ -49,6 +49,6 @@ public class MemberAddressDO extends BaseDO {
*
* true - 默认收件地址
*/
private Boolean defaulted;
private Boolean defaultStatus;
}

View File

@ -16,7 +16,7 @@ public interface AddressMapper extends BaseMapperX<MemberAddressDO> {
default List<MemberAddressDO> selectListByUserIdAndDefaulted(Long userId, Boolean defaulted) {
return selectList(new LambdaQueryWrapperX<MemberAddressDO>().eq(MemberAddressDO::getUserId, userId)
.eqIfPresent(MemberAddressDO::getDefaulted, defaulted));
.eqIfPresent(MemberAddressDO::getDefaultStatus, defaulted));
}
}

View File

@ -32,9 +32,9 @@ public class AddressServiceImpl implements AddressService {
@Transactional(rollbackFor = Exception.class)
public Long createAddress(Long userId, AppAddressCreateReqVO createReqVO) {
// 如果添加的是默认收件地址,则将原默认地址修改为非默认
if (Boolean.TRUE.equals(createReqVO.getDefaulted())) {
if (Boolean.TRUE.equals(createReqVO.getDefaultStatus())) {
List<MemberAddressDO> addresses = addressMapper.selectListByUserIdAndDefaulted(userId, true);
addresses.forEach(address -> addressMapper.updateById(new MemberAddressDO().setId(address.getId()).setDefaulted(false)));
addresses.forEach(address -> addressMapper.updateById(new MemberAddressDO().setId(address.getId()).setDefaultStatus(false)));
}
// 插入
@ -52,10 +52,10 @@ public class AddressServiceImpl implements AddressService {
validAddressExists(userId, updateReqVO.getId());
// 如果修改的是默认收件地址,则将原默认地址修改为非默认
if (Boolean.TRUE.equals(updateReqVO.getDefaulted())) {
if (Boolean.TRUE.equals(updateReqVO.getDefaultStatus())) {
List<MemberAddressDO> addresses = addressMapper.selectListByUserIdAndDefaulted(userId, true);
addresses.stream().filter(u -> !u.getId().equals(updateReqVO.getId())) // 排除自己
.forEach(address -> addressMapper.updateById(new MemberAddressDO().setId(address.getId()).setDefaulted(false)));
.forEach(address -> addressMapper.updateById(new MemberAddressDO().setId(address.getId()).setDefaultStatus(false)));
}
// 更新