diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/PointUpgradeConfigUserCommandController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/PointUpgradeConfigUserCommandController.java new file mode 100644 index 0000000..dc42b79 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/PointUpgradeConfigUserCommandController.java @@ -0,0 +1,47 @@ +package com.qniao.dam.api.command.puc.user; + +import com.qniao.dam.api.command.puc.user.request.*; +import com.qniao.dam.application.service.puc.PointUpgradeConfigApplicationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +@Api(tags = "积分升级配置") +@RestController +@RequestMapping("user") +public class PointUpgradeConfigUserCommandController { + + @Resource + private PointUpgradeConfigApplicationService pointUpgradeConfigApplicationService; + + @ApiOperation("用户创建积分升级配置") + @PostMapping("create/point-upgrade-config") + public void userCreatePointUpgradeConfig(@RequestBody @Valid UserCreatePointUpgradeConfigDto dto, + @RequestParam("userId") Long userId) { + pointUpgradeConfigApplicationService.create(dto.trans2Domain()); + } + + @ApiOperation("用户编辑积分升级配置") + @PostMapping("edit/point-upgrade-config") + public void userEditPointUpgradeConfig(@RequestBody @Valid UserEditPointUpgradeConfigDto dto, + @RequestParam("userId") Long userId) { + pointUpgradeConfigApplicationService.edit(dto.trans2Domain()); + } + + @ApiOperation("用户删除积分升级配置") + @PostMapping("delete/point-upgrade-config") + public void userDeletePointUpgradeConfig(@RequestBody @Valid UserDeletePointUpgradeConfigDto dto, + @RequestParam("userId") Long userId) { + pointUpgradeConfigApplicationService.delete(dto.getId()); + } + + @ApiOperation("用户启停积分升级配置") + @PostMapping("enable/point-upgrade-config") + public void userEnablePointUpgradeConfig(@RequestBody @Valid UserEnablePointUpgradeConfigDto dto, + @RequestParam("userId") Long userId) { + pointUpgradeConfigApplicationService.enable(dto.getId()); + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserCreatePointUpgradeConfigDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserCreatePointUpgradeConfigDto.java new file mode 100644 index 0000000..0ba08dd --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserCreatePointUpgradeConfigDto.java @@ -0,0 +1,33 @@ +package com.qniao.dam.api.command.puc.user.request; + +import com.qniao.dam.domain.aggregate.puc.entity.PointUpgradeConfig; +import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; +import com.qniao.domain.Trans2DomainAssembler; +import io.swagger.annotations.ApiModelProperty; +import com.qniao.framework.utils.TypeConvertUtils; +import lombok.Data; + +@Data +public class UserCreatePointUpgradeConfigDto implements Trans2DomainAssembler { + + + @ApiModelProperty("原始类型") + private ProductSubCategoryEnum originalType; + + @ApiModelProperty("升级类型") + private ProductSubCategoryEnum upgradeType; + + @ApiModelProperty("升级积分") + private Integer upgradePoint; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("备注") + private String remark; + + @Override + public PointUpgradeConfig trans2Domain() { + return TypeConvertUtils.convert(this, PointUpgradeConfig.class); + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserDeletePointUpgradeConfigDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserDeletePointUpgradeConfigDto.java new file mode 100644 index 0000000..bfe38be --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserDeletePointUpgradeConfigDto.java @@ -0,0 +1,12 @@ +package com.qniao.dam.api.command.puc.user.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class UserDeletePointUpgradeConfigDto { + + @ApiModelProperty("唯一标识") + private Long id; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserEditPointUpgradeConfigDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserEditPointUpgradeConfigDto.java new file mode 100644 index 0000000..8a38e78 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserEditPointUpgradeConfigDto.java @@ -0,0 +1,36 @@ +package com.qniao.dam.api.command.puc.user.request; + +import com.qniao.dam.domain.aggregate.puc.entity.PointUpgradeConfig; +import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; +import com.qniao.domain.Trans2DomainAssembler; +import io.swagger.annotations.ApiModelProperty; +import com.qniao.framework.utils.TypeConvertUtils; +import lombok.Data; + +@Data +public class UserEditPointUpgradeConfigDto implements Trans2DomainAssembler { + + + @ApiModelProperty("唯一标识") + private Long id; + + @ApiModelProperty("原始类型") + private ProductSubCategoryEnum originalType; + + @ApiModelProperty("升级类型") + private ProductSubCategoryEnum upgradeType; + + @ApiModelProperty("升级积分") + private Integer upgradePoint; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("备注") + private String remark; + + @Override + public PointUpgradeConfig trans2Domain() { + return TypeConvertUtils.convert(this, PointUpgradeConfig.class); + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserEnablePointUpgradeConfigDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserEnablePointUpgradeConfigDto.java new file mode 100644 index 0000000..02e50c6 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserEnablePointUpgradeConfigDto.java @@ -0,0 +1,12 @@ +package com.qniao.dam.api.command.puc.user.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class UserEnablePointUpgradeConfigDto { + + @ApiModelProperty("唯一标识") + private Long id; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/puc/user/PointUpgradeConfigUserQueryController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/puc/user/PointUpgradeConfigUserQueryController.java new file mode 100644 index 0000000..fa17b4b --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/puc/user/PointUpgradeConfigUserQueryController.java @@ -0,0 +1,41 @@ +package com.qniao.dam.api.query.puc.user; + +import com.qniao.dam.api.query.puc.user.request.UserPagePointUpgradeConfigQueryParams; +import com.qniao.dam.api.query.puc.user.response.UserPagePointUpgradeConfigVo; +import com.qniao.dam.query.puc.PointUpgradeConfigQueryService; +import com.qniao.domain.QnPage; +import com.qniao.framework.utils.PageUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags = "积分升级配置") +@RestController +@RequestMapping("user") +public class PointUpgradeConfigUserQueryController { + + @Resource + private PointUpgradeConfigQueryService pointUpgradeConfigQueryService; + + + @GetMapping("page/point-upgrade-config/by/operator") + @ApiOperation("运营获取积分升级配置分页列表") + public QnPage userPagePointUpgradeConfigByOperator(PageUtil pageUtil, + UserPagePointUpgradeConfigQueryParams queryParams) { + return PageUtil.convert(pointUpgradeConfigQueryService.page(pageUtil, queryParams), UserPagePointUpgradeConfigVo.class); + } + + @GetMapping("page/point-upgrade-config/by/customer") + @ApiOperation("客户获取积分升级配置分页列表") + public QnPage userPagePointUpgradeConfigByCustomer(PageUtil pageUtil, + UserPagePointUpgradeConfigQueryParams queryParams) { + queryParams.setEnable(true); + return PageUtil.convert(pointUpgradeConfigQueryService.page(pageUtil, queryParams), UserPagePointUpgradeConfigVo.class); + } + + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/puc/user/request/UserPagePointUpgradeConfigQueryParams.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/puc/user/request/UserPagePointUpgradeConfigQueryParams.java new file mode 100644 index 0000000..ed08b49 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/puc/user/request/UserPagePointUpgradeConfigQueryParams.java @@ -0,0 +1,12 @@ +package com.qniao.dam.api.query.puc.user.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class UserPagePointUpgradeConfigQueryParams { + + @ApiModelProperty("启用状态") + private Boolean enable; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/puc/user/response/UserPagePointUpgradeConfigVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/puc/user/response/UserPagePointUpgradeConfigVo.java new file mode 100644 index 0000000..7f4a378 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/puc/user/response/UserPagePointUpgradeConfigVo.java @@ -0,0 +1,33 @@ +package com.qniao.dam.api.query.puc.user.response; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class UserPagePointUpgradeConfigVo { + + @ApiModelProperty + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @ApiModelProperty("原始类型") + private ProductSubCategoryEnum originalType; + + @ApiModelProperty("升级类型") + private ProductSubCategoryEnum upgradeType; + + @ApiModelProperty("升级积分") + private Integer upgradePoint; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("启用状态") + private Boolean enable; + + @ApiModelProperty("备注") + private String remark; +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/puc/PointUpgradeConfigApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/puc/PointUpgradeConfigApplicationService.java new file mode 100644 index 0000000..babb7fc --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/puc/PointUpgradeConfigApplicationService.java @@ -0,0 +1,37 @@ +package com.qniao.dam.application.service.puc; + +import com.qniao.dam.domain.aggregate.puc.PointUpgradeConfigAggregate; +import com.qniao.dam.domain.aggregate.puc.entity.PointUpgradeConfig; +import com.qniao.dam.infrastructure.persistent.dao.puc.PointUpgradeConfigDao; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +public class PointUpgradeConfigApplicationService { + + @Resource + private PointUpgradeConfigAggregate pointUpgradeConfigAggregate; + @Resource + private PointUpgradeConfigDao pointUpgradeConfigDao; + + public void create(PointUpgradeConfig pointUpgradeConfig) { + pointUpgradeConfig.setEnable(true); + pointUpgradeConfigAggregate.create(pointUpgradeConfig); + } + + public void edit(PointUpgradeConfig pointUpgradeConfig) { + pointUpgradeConfigAggregate.edit(pointUpgradeConfig); + } + + public void delete(Long id) { + pointUpgradeConfigAggregate.delete(id); + } + + + public void enable(Long id) { + PointUpgradeConfig pointUpgradeConfig = pointUpgradeConfigDao.selectById(id); + pointUpgradeConfig.setEnable(!pointUpgradeConfig.getEnable()); + pointUpgradeConfigAggregate.edit(pointUpgradeConfig); + } +} \ No newline at end of file diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/puc/PointUpgradeConfigAggregate.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/puc/PointUpgradeConfigAggregate.java new file mode 100644 index 0000000..92ea324 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/puc/PointUpgradeConfigAggregate.java @@ -0,0 +1,31 @@ +package com.qniao.dam.domain.aggregate.puc; + +import com.qniao.dam.domain.aggregate.puc.entity.PointUpgradeConfig; +import com.qniao.dam.domain.aggregate.puc.repository.PointUpgradeConfigRepository; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 积分升级配置 + * + * @date 2025/01/07 + */ +@Service +public class PointUpgradeConfigAggregate { + + @Resource + private PointUpgradeConfigRepository repository; + + public void create(PointUpgradeConfig entity) { + repository.save(entity); + } + + public void edit(PointUpgradeConfig entity) { + repository.save(entity); + } + + public void delete(Long id) { + repository.delete(id); + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/puc/entity/PointUpgradeConfig.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/puc/entity/PointUpgradeConfig.java new file mode 100644 index 0000000..be7ded6 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/puc/entity/PointUpgradeConfig.java @@ -0,0 +1,39 @@ +package com.qniao.dam.domain.aggregate.puc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import com.qniao.domain.Entity; + +/** + * 积分升级配置 + * + * @date 2025/01/07 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("da_point_upgrade_config") +public class PointUpgradeConfig extends Entity { + + @ApiModelProperty("原始类型") + private ProductSubCategoryEnum originalType; + + @ApiModelProperty("升级类型") + private ProductSubCategoryEnum upgradeType; + + @ApiModelProperty("升级积分") + private Integer upgradePoint; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("启用状态") + private Boolean enable; + + @ApiModelProperty("备注") + private String remark; + + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/puc/repository/PointUpgradeConfigRepository.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/puc/repository/PointUpgradeConfigRepository.java new file mode 100644 index 0000000..37290ed --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/puc/repository/PointUpgradeConfigRepository.java @@ -0,0 +1,12 @@ +package com.qniao.dam.domain.aggregate.puc.repository; + +import com.qniao.dam.domain.aggregate.puc.entity.PointUpgradeConfig; +import com.qniao.domain.Repository; + +/** + * 积分升级配置 + * + * @date 2025/01/07 + */ +public interface PointUpgradeConfigRepository extends Repository { +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/puc/PointUpgradeConfigDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/puc/PointUpgradeConfigDao.java new file mode 100644 index 0000000..217bac7 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/puc/PointUpgradeConfigDao.java @@ -0,0 +1,21 @@ +package com.qniao.dam.infrastructure.persistent.dao.puc; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.qniao.dam.api.query.puc.user.request.UserPagePointUpgradeConfigQueryParams; +import com.qniao.dam.api.query.puc.user.response.UserPagePointUpgradeConfigVo; +import com.qniao.dam.domain.aggregate.puc.entity.PointUpgradeConfig; +import org.apache.ibatis.annotations.Param; + +/** + * 积分升级配置 + * + * @date 2025/01/07 + */ +public interface PointUpgradeConfigDao extends BaseMapper { + + IPage page(Page pageWithoutOrders, + @Param("queryParams") UserPagePointUpgradeConfigQueryParams queryParams); + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/PointUpgradeConfigRepositoryImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/PointUpgradeConfigRepositoryImpl.java new file mode 100644 index 0000000..1eacbbb --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/PointUpgradeConfigRepositoryImpl.java @@ -0,0 +1,41 @@ +package com.qniao.dam.infrastructure.persistent.repository.impl; + +import com.qniao.dam.domain.aggregate.puc.entity.PointUpgradeConfig; +import com.qniao.dam.domain.aggregate.puc.repository.PointUpgradeConfigRepository; +import com.qniao.dam.infrastructure.persistent.dao.puc.PointUpgradeConfigDao; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Objects; + +/** + * 积分升级配置 + * + * @date 2025/01/07 + */ +@Service +public class PointUpgradeConfigRepositoryImpl implements PointUpgradeConfigRepository { + + @Resource + private PointUpgradeConfigDao dao; + + @Override + public PointUpgradeConfig load(Long id) { + return dao.selectById(id); + } + + @Override + public Long save(PointUpgradeConfig entity) { + if (Objects.isNull(entity) || Objects.isNull(dao.selectById(entity.getId()))) { + dao.insert(entity); + } else { + dao.updateById(entity); + } + return entity.getId(); + } + + @Override + public void delete(Long id) { + dao.deleteById(id); + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/puc/PointUpgradeConfigQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/puc/PointUpgradeConfigQueryService.java new file mode 100644 index 0000000..0368023 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/puc/PointUpgradeConfigQueryService.java @@ -0,0 +1,11 @@ +package com.qniao.dam.query.puc; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.qniao.dam.api.query.puc.user.request.UserPagePointUpgradeConfigQueryParams; +import com.qniao.dam.api.query.puc.user.response.UserPagePointUpgradeConfigVo; +import com.qniao.framework.utils.PageUtil; + +public interface PointUpgradeConfigQueryService { + + IPage page(PageUtil pageUtil, UserPagePointUpgradeConfigQueryParams queryParams); +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/puc/impl/PointUpgradeConfigQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/puc/impl/PointUpgradeConfigQueryServiceImpl.java new file mode 100644 index 0000000..a2f1c14 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/puc/impl/PointUpgradeConfigQueryServiceImpl.java @@ -0,0 +1,24 @@ +package com.qniao.dam.query.puc.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.qniao.dam.api.query.puc.user.request.UserPagePointUpgradeConfigQueryParams; +import com.qniao.dam.api.query.puc.user.response.UserPagePointUpgradeConfigVo; +import com.qniao.dam.infrastructure.persistent.dao.puc.PointUpgradeConfigDao; +import com.qniao.dam.query.puc.PointUpgradeConfigQueryService; +import com.qniao.framework.utils.PageUtil; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +public class PointUpgradeConfigQueryServiceImpl implements PointUpgradeConfigQueryService { + + @Resource + private PointUpgradeConfigDao pointUpgradeConfigDao; + + @Override + public IPage page(PageUtil pageUtil, + UserPagePointUpgradeConfigQueryParams queryParams) { + return pointUpgradeConfigDao.page(pageUtil.toPageWithoutOrders(), queryParams); + } +} \ No newline at end of file diff --git a/dating-agency-mall-server/src/main/resources/mapper/puc/PointUpgradeConfigMapper.xml b/dating-agency-mall-server/src/main/resources/mapper/puc/PointUpgradeConfigMapper.xml new file mode 100644 index 0000000..b3d92e3 --- /dev/null +++ b/dating-agency-mall-server/src/main/resources/mapper/puc/PointUpgradeConfigMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + +