Merge pull request 'khy1' (#87) from khy1 into master
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #87
This commit is contained in:
commit
5235fae53c
21
yudao-admin-vue3/src/api/member/memberagree/index.ts
Normal file
21
yudao-admin-vue3/src/api/member/memberagree/index.ts
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 会员协议 VO
|
||||||
|
export interface PaidMemberAgreeVO {
|
||||||
|
id: number // 编号
|
||||||
|
content: string // 内容
|
||||||
|
}
|
||||||
|
|
||||||
|
// 会员协议 API
|
||||||
|
export const PaidMemberAgreeApi = {
|
||||||
|
// 查询会员协议
|
||||||
|
getPaidMemberAgree: async () => {
|
||||||
|
return await request.get({ url: `/member/paid-member-agree/get`})
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 保存会员协议
|
||||||
|
savePaidMemberAgree: async (data: PaidMemberAgreeVO) => {
|
||||||
|
return await request.put({ url: `/member/paid-member-agree/save`, data })
|
||||||
|
}
|
||||||
|
}
|
96
yudao-admin-vue3/src/views/member/memberagree/index.vue
Normal file
96
yudao-admin-vue3/src/views/member/memberagree/index.vue
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
<template>
|
||||||
|
<ContentWrap>
|
||||||
|
<el-form
|
||||||
|
ref="formRef"
|
||||||
|
:model="formData"
|
||||||
|
:rules="formRules"
|
||||||
|
label-width="120px"
|
||||||
|
v-loading="formLoading"
|
||||||
|
>
|
||||||
|
|
||||||
|
<el-tabs>
|
||||||
|
<el-tab-pane label="付费会员协议">
|
||||||
|
<el-form-item prop="content">
|
||||||
|
<Editor v-model="formData.content" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
|
||||||
|
<div class="center-container">
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="onSubmit">保存</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</el-form>
|
||||||
|
</ContentWrap>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { dateFormatter } from '@/utils/formatTime'
|
||||||
|
import download from '@/utils/download'
|
||||||
|
import { PaidMemberAgreeApi, PaidMemberAgreeVO } from '@/api/member/memberagree'
|
||||||
|
|
||||||
|
/** 会员协议 列表 */
|
||||||
|
defineOptions({ name: 'PaidMemberAgree' })
|
||||||
|
|
||||||
|
const message = useMessage() // 消息弹窗
|
||||||
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
|
const loading = ref(true) // 列表的加载中
|
||||||
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
|
const formData = ref({
|
||||||
|
id: undefined,
|
||||||
|
content: undefined
|
||||||
|
})
|
||||||
|
const formRef = ref() //表单 Ref
|
||||||
|
|
||||||
|
const formRules = reactive({})
|
||||||
|
/** 查询付费会员协议 */
|
||||||
|
const getPaidMemberAgree = async () => {
|
||||||
|
try {
|
||||||
|
const data = await PaidMemberAgreeApi.getPaidMemberAgree()
|
||||||
|
if(data == null){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
formData.value = data
|
||||||
|
} finally {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const onSubmit = async () => {
|
||||||
|
// 校验表单
|
||||||
|
if (!formRef) return
|
||||||
|
const valid = await formRef.value.validate()
|
||||||
|
if (!valid) return
|
||||||
|
// 提交请求
|
||||||
|
formLoading.value = true
|
||||||
|
try {
|
||||||
|
const data = formData.value as unknown as PaidMemberAgreeVO
|
||||||
|
await PaidMemberAgreeApi.savePaidMemberAgree(data)
|
||||||
|
message.success(t('common.updateSuccess'))
|
||||||
|
dialogVisible.value = false
|
||||||
|
} finally {
|
||||||
|
formLoading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** 初始化 **/
|
||||||
|
onMounted(() => {
|
||||||
|
getPaidMemberAgree()
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.center-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center; /* 水平居中 */
|
||||||
|
/* 如果需要垂直居中,并且父容器允许,可以尝试添加以下行(但通常不是必需的)*/
|
||||||
|
/* align-items: center; */
|
||||||
|
width: 100%; /* 或设置一个具体的宽度 */
|
||||||
|
/* 可能需要添加其他样式来确保容器没有其他默认的 padding 或 margin */
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
</style>
|
@ -102,7 +102,6 @@ watch(
|
|||||||
if (!newVal) {
|
if (!newVal) {
|
||||||
formData.value.paidMemberPrice = false; // 当 openPaidMember 变为 false 时,重置 paidMemberPriceStatus
|
formData.value.paidMemberPrice = false; // 当 openPaidMember 变为 false 时,重置 paidMemberPriceStatus
|
||||||
}
|
}
|
||||||
// 注意:这里不需要处理 newVal 为 true 的情况,因为表单项会根据 v-if 指令的条件渲染
|
|
||||||
},
|
},
|
||||||
{ immediate: true } // 立即执行一次观察者回调,以确保初始状态正确
|
{ immediate: true } // 立即执行一次观察者回调,以确保初始状态正确
|
||||||
);
|
);
|
||||||
|
@ -72,6 +72,7 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode PAID_MEMBER_USER_NOT_OPEN = new ErrorCode(1_004_024_000, "会员未开通");
|
ErrorCode PAID_MEMBER_USER_NOT_OPEN = new ErrorCode(1_004_024_000, "会员未开通");
|
||||||
ErrorCode PAID_MEMBER_USER_PASSED = new ErrorCode(1_004_025_000, "会员已过期");
|
ErrorCode PAID_MEMBER_USER_PASSED = new ErrorCode(1_004_025_000, "会员已过期");
|
||||||
ErrorCode PAID_MEMBER_CONFIG_NOT_EXISTS = new ErrorCode(1_004_026_000, "付费会员配置不存在");
|
ErrorCode PAID_MEMBER_CONFIG_NOT_EXISTS = new ErrorCode(1_004_026_000, "付费会员配置不存在");
|
||||||
|
ErrorCode PAID_MEMBER_AGREE_NOT_EXISTS = new ErrorCode(1_004_027_000, "会员协议不存在");
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,62 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.controller.admin.memberagree;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import javax.validation.*;
|
||||||
|
import javax.servlet.http.*;
|
||||||
|
import java.util.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||||
|
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.memberagree.vo.*;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.memberagree.PaidMemberAgreeDO;
|
||||||
|
import cn.iocoder.yudao.module.member.service.memberagree.PaidMemberAgreeService;
|
||||||
|
|
||||||
|
@Tag(name = "管理后台 - 会员协议")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/member/paid-member-agree")
|
||||||
|
@Validated
|
||||||
|
public class PaidMemberAgreeController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PaidMemberAgreeService paidMemberAgreeService;
|
||||||
|
|
||||||
|
|
||||||
|
@PutMapping("/save")
|
||||||
|
@Operation(summary = "更新会员协议")
|
||||||
|
@PreAuthorize("@ss.hasPermission('member:paid-member-agree:update')")
|
||||||
|
public CommonResult<Boolean> savePaidMemberAgree(@Valid @RequestBody PaidMemberAgreeSaveReqVO updateReqVO) {
|
||||||
|
paidMemberAgreeService.saveAgree(updateReqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/get")
|
||||||
|
@Operation(summary = "获得会员协议")
|
||||||
|
@PreAuthorize("@ss.hasPermission('member:paid-member-agree:query')")
|
||||||
|
public CommonResult<PaidMemberAgreeRespVO> getPaidMemberAgree() {
|
||||||
|
PaidMemberAgreeDO paidMemberAgree = paidMemberAgreeService.getAgree();
|
||||||
|
return success(BeanUtils.toBean(paidMemberAgree, PaidMemberAgreeRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.controller.admin.memberagree.vo;
|
||||||
|
|
||||||
|
import lombok.*;
|
||||||
|
import java.util.*;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 会员协议分页 Request VO")
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
public class PaidMemberAgreePageReqVO extends PageParam {
|
||||||
|
|
||||||
|
@Schema(description = "内容")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
@Schema(description = "创建时间")
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
private LocalDateTime[] createTime;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.controller.admin.memberagree.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.*;
|
||||||
|
import java.util.*;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import com.alibaba.excel.annotation.*;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 会员协议 Response VO")
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class PaidMemberAgreeRespVO {
|
||||||
|
|
||||||
|
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "22863")
|
||||||
|
@ExcelProperty("编号")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@Schema(description = "内容")
|
||||||
|
@ExcelProperty("内容")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
@Schema(description = "创建时间")
|
||||||
|
@ExcelProperty("创建时间")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.controller.admin.memberagree.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.*;
|
||||||
|
import java.util.*;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 会员协议新增/修改 Request VO")
|
||||||
|
@Data
|
||||||
|
public class PaidMemberAgreeSaveReqVO {
|
||||||
|
|
||||||
|
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "22863")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@Schema(description = "内容")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.controller.app.memberagree;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.memberagree.vo.PaidMemberAgreeRespVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.memberagree.PaidMemberAgreeDO;
|
||||||
|
import cn.iocoder.yudao.module.member.service.memberagree.PaidMemberAgreeService;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
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;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
|
@Tag(name = "用户 APP - 用户付费会员协议")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/member/paid-member-agree")
|
||||||
|
@Validated
|
||||||
|
@Slf4j
|
||||||
|
public class AppPaidMemberAgreeController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PaidMemberAgreeService paidMemberAgreeService;
|
||||||
|
|
||||||
|
@GetMapping("/get")
|
||||||
|
@Operation(summary = "获得会员协议")
|
||||||
|
@PreAuthenticated
|
||||||
|
public CommonResult<PaidMemberAgreeRespVO> getPaidMemberAgree() {
|
||||||
|
PaidMemberAgreeDO paidMemberAgree = paidMemberAgreeService.getAgree();
|
||||||
|
return success(BeanUtils.toBean(paidMemberAgree, PaidMemberAgreeRespVO.class));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -6,6 +6,8 @@ import lombok.Data;
|
|||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||||
|
|
||||||
@Schema(description = "用户 APP - 用户个人信息 Response VO")
|
@Schema(description = "用户 APP - 用户个人信息 Response VO")
|
||||||
@ -47,9 +49,9 @@ public class AppMemberUserInfoRespVO {
|
|||||||
@Schema(description = "会员名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "季卡")
|
@Schema(description = "会员名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "季卡")
|
||||||
private String cardName;
|
private String cardName;
|
||||||
|
|
||||||
@Schema(description = "会员名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
private String cardExpirationTime;
|
private LocalDateTime cardExpirationTime;
|
||||||
|
|
||||||
@Schema(description = "用户 App - 会员等级")
|
@Schema(description = "用户 App - 会员等级")
|
||||||
@Data
|
@Data
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.convert.memberagree;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.memberagree.vo.PaidMemberAgreeSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.memberagree.PaidMemberAgreeDO;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 付费会员协议 Convert
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface PaidMemberAgreeConvert {
|
||||||
|
|
||||||
|
PaidMemberAgreeConvert INSTANCE = Mappers.getMapper(PaidMemberAgreeConvert.class);
|
||||||
|
|
||||||
|
PaidMemberAgreeDO convert(PaidMemberAgreeSaveReqVO bean);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.dal.dataobject.memberagree;
|
||||||
|
|
||||||
|
import lombok.*;
|
||||||
|
import java.util.*;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员协议 DO
|
||||||
|
*
|
||||||
|
* @author 管理员
|
||||||
|
*/
|
||||||
|
@TableName("paid_member_agree")
|
||||||
|
@KeySequence("paid_member_agree_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class PaidMemberAgreeDO extends BaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编号
|
||||||
|
*/
|
||||||
|
@TableId
|
||||||
|
private Integer id;
|
||||||
|
/**
|
||||||
|
* 内容
|
||||||
|
*/
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.dal.mysql.memberagree;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.memberagree.PaidMemberAgreeDO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.memberagree.vo.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员协议 Mapper
|
||||||
|
*
|
||||||
|
* @author 管理员
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface PaidMemberAgreeMapper extends BaseMapperX<PaidMemberAgreeDO> {
|
||||||
|
|
||||||
|
default PageResult<PaidMemberAgreeDO> selectPage(PaidMemberAgreePageReqVO reqVO) {
|
||||||
|
return selectPage(reqVO, new LambdaQueryWrapperX<PaidMemberAgreeDO>()
|
||||||
|
.eqIfPresent(PaidMemberAgreeDO::getContent, reqVO.getContent())
|
||||||
|
.betweenIfPresent(PaidMemberAgreeDO::getCreateTime, reqVO.getCreateTime())
|
||||||
|
.orderByDesc(PaidMemberAgreeDO::getId));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,59 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.service.memberagree;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import javax.validation.*;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.memberagree.vo.*;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.memberagree.PaidMemberAgreeDO;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员协议 Service 接口
|
||||||
|
*
|
||||||
|
* @author 管理员
|
||||||
|
*/
|
||||||
|
public interface PaidMemberAgreeService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建会员协议
|
||||||
|
*
|
||||||
|
* @param createReqVO 创建信息
|
||||||
|
* @return 编号
|
||||||
|
*/
|
||||||
|
Integer createPaidMemberAgree(@Valid PaidMemberAgreeSaveReqVO createReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新会员协议
|
||||||
|
*
|
||||||
|
* @param updateReqVO 更新信息
|
||||||
|
*/
|
||||||
|
void updatePaidMemberAgree(@Valid PaidMemberAgreeSaveReqVO updateReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除会员协议
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
*/
|
||||||
|
void deletePaidMemberAgree(Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得会员协议
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
* @return 会员协议
|
||||||
|
*/
|
||||||
|
PaidMemberAgreeDO getPaidMemberAgree(Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得会员协议分页
|
||||||
|
*
|
||||||
|
* @param pageReqVO 分页查询
|
||||||
|
* @return 会员协议分页
|
||||||
|
*/
|
||||||
|
PageResult<PaidMemberAgreeDO> getPaidMemberAgreePage(PaidMemberAgreePageReqVO pageReqVO);
|
||||||
|
|
||||||
|
PaidMemberAgreeDO getAgree();
|
||||||
|
|
||||||
|
void saveAgree(@Valid PaidMemberAgreeSaveReqVO saveReqVO);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,96 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.service.memberagree;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
||||||
|
import cn.iocoder.yudao.module.member.convert.memberagree.PaidMemberAgreeConvert;
|
||||||
|
import cn.iocoder.yudao.module.member.convert.memberconfig.PaidMemberConfigConvert;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.memberconfig.PaidMemberConfigDO;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.memberagree.vo.*;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.memberagree.PaidMemberAgreeDO;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.member.dal.mysql.memberagree.PaidMemberAgreeMapper;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
|
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员协议 Service 实现类
|
||||||
|
*
|
||||||
|
* @author 管理员
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Validated
|
||||||
|
public class PaidMemberAgreeServiceImpl implements PaidMemberAgreeService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PaidMemberAgreeMapper paidMemberAgreeMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer createPaidMemberAgree(PaidMemberAgreeSaveReqVO createReqVO) {
|
||||||
|
// 插入
|
||||||
|
PaidMemberAgreeDO paidMemberAgree = BeanUtils.toBean(createReqVO, PaidMemberAgreeDO.class);
|
||||||
|
paidMemberAgreeMapper.insert(paidMemberAgree);
|
||||||
|
// 返回
|
||||||
|
return paidMemberAgree.getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updatePaidMemberAgree(PaidMemberAgreeSaveReqVO updateReqVO) {
|
||||||
|
// 校验存在
|
||||||
|
validatePaidMemberAgreeExists(updateReqVO.getId());
|
||||||
|
// 更新
|
||||||
|
PaidMemberAgreeDO updateObj = BeanUtils.toBean(updateReqVO, PaidMemberAgreeDO.class);
|
||||||
|
paidMemberAgreeMapper.updateById(updateObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deletePaidMemberAgree(Integer id) {
|
||||||
|
// 校验存在
|
||||||
|
validatePaidMemberAgreeExists(id);
|
||||||
|
// 删除
|
||||||
|
paidMemberAgreeMapper.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validatePaidMemberAgreeExists(Integer id) {
|
||||||
|
if (paidMemberAgreeMapper.selectById(id) == null) {
|
||||||
|
throw exception(PAID_MEMBER_AGREE_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PaidMemberAgreeDO getPaidMemberAgree(Integer id) {
|
||||||
|
return paidMemberAgreeMapper.selectById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<PaidMemberAgreeDO> getPaidMemberAgreePage(PaidMemberAgreePageReqVO pageReqVO) {
|
||||||
|
return paidMemberAgreeMapper.selectPage(pageReqVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PaidMemberAgreeDO getAgree() {
|
||||||
|
List<PaidMemberAgreeDO> list = paidMemberAgreeMapper.selectList();
|
||||||
|
return CollectionUtils.getFirst(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void saveAgree(PaidMemberAgreeSaveReqVO saveReqVO) {
|
||||||
|
//存在,则更新
|
||||||
|
PaidMemberAgreeDO paidMemberAgreeDO = getAgree();
|
||||||
|
if(paidMemberAgreeDO != null){
|
||||||
|
paidMemberAgreeMapper.updateById(PaidMemberAgreeConvert.INSTANCE.convert(saveReqVO).setId(paidMemberAgreeDO.getId()));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//不存在,则进行插入
|
||||||
|
paidMemberAgreeMapper.insert(PaidMemberAgreeConvert.INSTANCE.convert(saveReqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user