code review:会员积分配置

This commit is contained in:
YunaiV
2023-06-17 18:33:17 +08:00
parent 798e322f08
commit fd072b7d6e
26 changed files with 212 additions and 557 deletions

View File

@ -0,0 +1,45 @@
package cn.iocoder.yudao.module.member.controller.admin.point;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigRespVO;
import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO;
import cn.iocoder.yudao.module.member.convert.point.MemberPointConfigConvert;
import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
import cn.iocoder.yudao.module.member.service.point.MemberPointConfigService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 会员积分设置")
@RestController
@RequestMapping("/point/config")
@Validated
public class MemberPointConfigController {
@Resource
private MemberPointConfigService memberPointConfigService;
@PutMapping("/update")
@Operation(summary = "保存会员积分配置")
@PreAuthorize("@ss.hasPermission('member:point-config:save')")
public CommonResult<Boolean> updateConfig(@Valid @RequestBody MemberPointConfigSaveReqVO saveReqVO) {
memberPointConfigService.saveConfig(saveReqVO);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得会员积分配置")
@PreAuthorize("@ss.hasPermission('member:point-config:query')")
public CommonResult<MemberPointConfigRespVO> getConfig() {
MemberPointConfigDO config = memberPointConfigService.getConfig();
return success(MemberPointConfigConvert.INSTANCE.convert(config));
}
}

View File

@ -0,0 +1,27 @@
package cn.iocoder.yudao.module.member.controller.admin.point.vo.config;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
/**
* 会员积分配置 Base VO提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
*/
@Data
public class MemberPointConfigBaseVO {
@Schema(description = "积分抵扣开关", required = true, example = "true")
private Boolean tradeDeductEnable;
@Schema(description = "积分抵扣,单位:分", example = "13506")
private BigDecimal tradeDeductUnitPrice;
@Schema(description = "积分抵扣最大值", example = "32428")
private Long tradeDeductMaxPrice;
@Schema(description = "1 元赠送多少分")
private Long tradeGivePoint;
}

View File

@ -0,0 +1,13 @@
package cn.iocoder.yudao.module.member.controller.admin.point.vo.config;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Schema(description = "管理后台 - 会员积分配置 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class MemberPointConfigRespVO extends MemberPointConfigBaseVO {
}

View File

@ -0,0 +1,13 @@
package cn.iocoder.yudao.module.member.controller.admin.point.vo.config;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Schema(description = "管理后台 - 会员积分配置保存 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class MemberPointConfigSaveReqVO extends MemberPointConfigBaseVO {
}

View File

@ -0,0 +1 @@
package cn.iocoder.yudao.module.member.controller.admin.point.vo.recrod;

View File

@ -0,0 +1,20 @@
package cn.iocoder.yudao.module.member.convert.point;
import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigRespVO;
import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* 会员积分配置 Convert
*
* @author QingX
*/
@Mapper
public interface MemberPointConfigConvert {
MemberPointConfigConvert INSTANCE = Mappers.getMapper(MemberPointConfigConvert.class);
MemberPointConfigRespVO convert(MemberPointConfigDO bean);
}

View File

@ -0,0 +1,50 @@
package cn.iocoder.yudao.module.member.dal.dataobject.point;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import java.math.BigDecimal;
/**
* 会员积分配置 DO
*
* @author QingX
*/
@TableName("member_point_config")
@KeySequence("member_point_config_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MemberPointConfigDO extends BaseDO {
/**
* 自增主键
*/
@TableId
private Integer id;
/**
* 积分抵扣开关
*/
private Boolean tradeDeductEnable;
/**
* 积分抵扣,单位:分
*
* 1 积分抵扣多少分
*/
private BigDecimal tradeDeductUnitPrice;
/**
* 积分抵扣最大值
*/
private Integer tradeDeductMaxPrice;
/**
* 1 元赠送多少分
*/
private Integer tradeGivePoint;
}

View File

@ -0,0 +1,14 @@
package cn.iocoder.yudao.module.member.dal.mysql.point;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 积分设置 Mapper
*
* @author QingX
*/
@Mapper
public interface MemberPointConfigMapper extends BaseMapperX<MemberPointConfigDO> {
}

View File

@ -0,0 +1,29 @@
package cn.iocoder.yudao.module.member.service.point;
import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
import javax.validation.Valid;
/**
* 会员积分配置 Service 接口
*
* @author QingX
*/
public interface MemberPointConfigService {
/**
* 保存会员积分配置
*
* @param saveReqVO 更新信息
*/
void saveConfig(@Valid MemberPointConfigSaveReqVO saveReqVO);
/**
* 获得会员积分配置
*
* @return 积分配置
*/
MemberPointConfigDO getConfig();
}

View File

@ -0,0 +1,33 @@
package cn.iocoder.yudao.module.member.service.point;
import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
import cn.iocoder.yudao.module.member.dal.mysql.point.MemberPointConfigMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
/**
* 会员积分配置 Service 实现类
*
* @author QingX
*/
@Service
@Validated
public class MemberPointConfigServiceImpl implements MemberPointConfigService {
@Resource
private MemberPointConfigMapper memberPointConfigMapper;
@Override
public void saveConfig(MemberPointConfigSaveReqVO saveReqVO) {
// TODO qingx配置存在则 update不存在则 insert
}
@Override
public MemberPointConfigDO getConfig() {
// TODO qingx直接查询到一条
return null;
}
}