feat:用户配置
This commit is contained in:
1 parent
1c4d6b64ba
commit
9055bb29cf
11 files changed
+120
-11
No files matched your search
+1
@@ -17,6 +17,7 @@ public enum MemberRecentTagEnum {
|
|||||||
|
|
||||||
TRUE_PERSON_AUTH("1", "真人认证"),
|
TRUE_PERSON_AUTH("1", "真人认证"),
|
||||||
NEW_PERSON("2", "新人"),
|
NEW_PERSON("2", "新人"),
|
||||||
|
HOME_RECOMMEND("3", "首页推荐"),
|
||||||
;
|
;
|
||||||
private final String type;
|
private final String type;
|
||||||
private final String description;
|
private final String description;
|
||||||
|
|||||||
+36
@@ -0,0 +1,36 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.controller.admin.user;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.app.user.vo.recentcfg.MemberRecentCfgReqVo;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentCfgDO;
|
||||||
|
import cn.iocoder.yudao.module.member.service.user.MemberRecentCfgService;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
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 = "管理后台 - 用户朋友圈配置")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/member/recent-cfg")
|
||||||
|
@Validated
|
||||||
|
@Slf4j
|
||||||
|
public class MemberRecentCfgController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MemberRecentCfgService recentCfgService;
|
||||||
|
|
||||||
|
@PostMapping("/create-or-update")
|
||||||
|
@Operation(summary = "创建或更新配置")
|
||||||
|
public CommonResult<MemberRecentCfgDO> createOrUpdate(@RequestBody MemberRecentCfgReqVo dto) {
|
||||||
|
return success(recentCfgService.createOrUpdate(dto));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+23
-2
@@ -1,6 +1,7 @@
|
|||||||
package cn.iocoder.yudao.module.member.controller.admin.user;
|
package cn.iocoder.yudao.module.member.controller.admin.user;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.user.vo.*;
|
import cn.iocoder.yudao.module.member.controller.admin.user.vo.*;
|
||||||
@@ -8,6 +9,7 @@ import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
|
|||||||
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.tag.MemberTagDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.tag.MemberTagDO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentCfgDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentTagDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentTagDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.mysql.user.MemberRecentTagMapper;
|
import cn.iocoder.yudao.module.member.dal.mysql.user.MemberRecentTagMapper;
|
||||||
@@ -16,6 +18,7 @@ import cn.iocoder.yudao.module.member.service.group.MemberGroupService;
|
|||||||
import cn.iocoder.yudao.module.member.service.level.MemberLevelService;
|
import cn.iocoder.yudao.module.member.service.level.MemberLevelService;
|
||||||
import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService;
|
import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService;
|
||||||
import cn.iocoder.yudao.module.member.service.tag.MemberTagService;
|
import cn.iocoder.yudao.module.member.service.tag.MemberTagService;
|
||||||
|
import cn.iocoder.yudao.module.member.service.user.MemberRecentCfgService;
|
||||||
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
|
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
@@ -55,6 +58,8 @@ public class MemberUserController {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private MemberRecentTagMapper memberRecentTagMapper;
|
private MemberRecentTagMapper memberRecentTagMapper;
|
||||||
|
@Resource
|
||||||
|
private MemberRecentCfgService memberRecentCfgService;
|
||||||
|
|
||||||
@PutMapping("/update")
|
@PutMapping("/update")
|
||||||
@Operation(summary = "更新会员用户")
|
@Operation(summary = "更新会员用户")
|
||||||
@@ -87,7 +92,21 @@ public class MemberUserController {
|
|||||||
@PreAuthorize("@ss.hasPermission('member:user:query')")
|
@PreAuthorize("@ss.hasPermission('member:user:query')")
|
||||||
public CommonResult<MemberUserRespVO> getUser(@RequestParam("id") Long id) {
|
public CommonResult<MemberUserRespVO> getUser(@RequestParam("id") Long id) {
|
||||||
MemberUserDO user = memberUserService.getUser(id);
|
MemberUserDO user = memberUserService.getUser(id);
|
||||||
return success(MemberUserConvert.INSTANCE.convert03(user));
|
MemberUserRespVO result = MemberUserConvert.INSTANCE.convert03(user);
|
||||||
|
// 查询用户tag
|
||||||
|
if (ObjectUtil.isNotEmpty(result)) {
|
||||||
|
List<MemberRecentTagDO> memberRecentTags = memberRecentTagMapper.getByMemberId(result.getId());
|
||||||
|
if (ObjectUtil.isNotEmpty(memberRecentTags)) {
|
||||||
|
List<MemberUserRespVO.MemberTag> tags = memberRecentTags.stream().map(v -> {
|
||||||
|
MemberUserRespVO.MemberTag entity = new MemberUserRespVO.MemberTag();
|
||||||
|
entity.setTagBizType(v.getTagBizType());
|
||||||
|
entity.setTagTitle(v.getTagTitle());
|
||||||
|
return entity;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
result.setMemberTagList(tags);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return success(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
@@ -111,7 +130,9 @@ public class MemberUserController {
|
|||||||
List<MemberGroupDO> groups = memberGroupService.getGroupList(convertSet(pageResult.getList(), MemberUserDO::getGroupId));
|
List<MemberGroupDO> groups = memberGroupService.getGroupList(convertSet(pageResult.getList(), MemberUserDO::getGroupId));
|
||||||
// 处理用户朋友圈的TAG
|
// 处理用户朋友圈的TAG
|
||||||
List<MemberRecentTagDO> memberRecentTags = memberRecentTagMapper.getByIds(convertSet(pageResult.getList(), MemberUserDO::getId));
|
List<MemberRecentTagDO> memberRecentTags = memberRecentTagMapper.getByIds(convertSet(pageResult.getList(), MemberUserDO::getId));
|
||||||
return success(MemberUserConvert.INSTANCE.convertPage(pageResult, tags,memberRecentTags, levels, groups));
|
// 查询用户配置
|
||||||
|
List<MemberRecentCfgDO> memberCfgList = memberRecentCfgService.getByMemberIds(convertSet(pageResult.getList(), MemberUserDO::getId));
|
||||||
|
return success(MemberUserConvert.INSTANCE.convertPage(pageResult, tags, memberRecentTags, levels, groups, memberCfgList));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
+4
@@ -1,6 +1,7 @@
|
|||||||
package cn.iocoder.yudao.module.member.controller.admin.user.vo;
|
package cn.iocoder.yudao.module.member.controller.admin.user.vo;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.recent.vo.RecentPageResVo;
|
import cn.iocoder.yudao.module.member.controller.admin.recent.vo.RecentPageResVo;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentCfgDO;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
@@ -53,6 +54,9 @@ public class MemberUserRespVO extends MemberUserBaseVO {
|
|||||||
@Schema(description = "用户tag")
|
@Schema(description = "用户tag")
|
||||||
private List<MemberUserRespVO.MemberTag> memberTagList;
|
private List<MemberUserRespVO.MemberTag> memberTagList;
|
||||||
|
|
||||||
|
@Schema(description = "朋友圈相关配置")
|
||||||
|
private MemberRecentCfgDO recentCfg;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class MemberTag {
|
public static class MemberTag {
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -27,7 +27,7 @@ public class AppMemberRecentCfgController {
|
|||||||
|
|
||||||
@PostMapping("/create-or-update")
|
@PostMapping("/create-or-update")
|
||||||
@Operation(summary = "创建或更新配置")
|
@Operation(summary = "创建或更新配置")
|
||||||
public CommonResult<MemberRecentCfgDO> getUserInfo(@RequestBody MemberRecentCfgReqVo dto) {
|
public CommonResult<MemberRecentCfgDO> createOrUpdate(@RequestBody MemberRecentCfgReqVo dto) {
|
||||||
dto.setMemberId(getLoginUserId());
|
dto.setMemberId(getLoginUserId());
|
||||||
return success(recentCfgService.createOrUpdate(dto));
|
return success(recentCfgService.createOrUpdate(dto));
|
||||||
}
|
}
|
||||||
|
|||||||
+4
@@ -16,6 +16,10 @@ public class MemberRecentCfgReqVo {
|
|||||||
@Schema(description = "用户id")
|
@Schema(description = "用户id")
|
||||||
private Long memberId;
|
private Long memberId;
|
||||||
|
|
||||||
|
@NotNull(message = "是否推送不能为空")
|
||||||
|
@Schema(description = "是否推送")
|
||||||
|
private Boolean isPush;
|
||||||
|
|
||||||
@NotNull(message = "首页隐身不能为空")
|
@NotNull(message = "首页隐身不能为空")
|
||||||
@Schema(description = "首页隐身")
|
@Schema(description = "首页隐身")
|
||||||
private Boolean homeHide;
|
private Boolean homeHide;
|
||||||
|
|||||||
+13
-1
@@ -10,6 +10,7 @@ import cn.iocoder.yudao.module.member.convert.address.AddressConvert;
|
|||||||
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.tag.MemberTagDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.tag.MemberTagDO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentCfgDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentTagDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentTagDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
@@ -54,18 +55,29 @@ public interface MemberUserConvert {
|
|||||||
List<MemberTagDO> tags,
|
List<MemberTagDO> tags,
|
||||||
List<MemberRecentTagDO> memberRecentTags,
|
List<MemberRecentTagDO> memberRecentTags,
|
||||||
List<MemberLevelDO> levels,
|
List<MemberLevelDO> levels,
|
||||||
List<MemberGroupDO> groups) {
|
List<MemberGroupDO> groups,
|
||||||
|
List<MemberRecentCfgDO> memberCfgList
|
||||||
|
) {
|
||||||
PageResult<MemberUserRespVO> result = convertPage(pageResult);
|
PageResult<MemberUserRespVO> result = convertPage(pageResult);
|
||||||
// 处理关联数据
|
// 处理关联数据
|
||||||
Map<Long, String> tagMap = convertMap(tags, MemberTagDO::getId, MemberTagDO::getName);
|
Map<Long, String> tagMap = convertMap(tags, MemberTagDO::getId, MemberTagDO::getName);
|
||||||
Map<Long, String> levelMap = convertMap(levels, MemberLevelDO::getId, MemberLevelDO::getName);
|
Map<Long, String> levelMap = convertMap(levels, MemberLevelDO::getId, MemberLevelDO::getName);
|
||||||
Map<Long, String> groupMap = convertMap(groups, MemberGroupDO::getId, MemberGroupDO::getName);
|
Map<Long, String> groupMap = convertMap(groups, MemberGroupDO::getId, MemberGroupDO::getName);
|
||||||
|
Map<Long, MemberRecentCfgDO> memberCfgMap = convertMap(memberCfgList, MemberRecentCfgDO::getMemberId);
|
||||||
// 填充关联数据
|
// 填充关联数据
|
||||||
result.getList().forEach(user -> {
|
result.getList().forEach(user -> {
|
||||||
user.setTagNames(convertList(user.getTagIds(), tagMap::get));
|
user.setTagNames(convertList(user.getTagIds(), tagMap::get));
|
||||||
user.setLevelName(levelMap.get(user.getLevelId()));
|
user.setLevelName(levelMap.get(user.getLevelId()));
|
||||||
user.setGroupName(groupMap.get(user.getGroupId()));
|
user.setGroupName(groupMap.get(user.getGroupId()));
|
||||||
user.setMemberTagList(new ArrayList<>());
|
user.setMemberTagList(new ArrayList<>());
|
||||||
|
|
||||||
|
MemberRecentCfgDO cfg = memberCfgMap.get(user.getId());
|
||||||
|
if (ObjectUtil.isEmpty(cfg)) {
|
||||||
|
user.setRecentCfg(MemberRecentCfgDO.builder().isPush(false).homeHide(false).privacySecure(false).shortNote(false).build());
|
||||||
|
} else {
|
||||||
|
user.setRecentCfg(cfg);
|
||||||
|
}
|
||||||
|
|
||||||
// 处理朋友圈TAG
|
// 处理朋友圈TAG
|
||||||
List<MemberRecentTagDO> targetTags = memberRecentTags.stream().filter(v -> ObjectUtil.equals(v.getMemberId(), user.getId())).collect(Collectors.toList());
|
List<MemberRecentTagDO> targetTags = memberRecentTags.stream().filter(v -> ObjectUtil.equals(v.getMemberId(), user.getId())).collect(Collectors.toList());
|
||||||
if (ObjectUtil.isNotEmpty(targetTags)) {
|
if (ObjectUtil.isNotEmpty(targetTags)) {
|
||||||
|
|||||||
+5
@@ -30,6 +30,11 @@ public class MemberRecentCfgDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
private Long memberId;
|
private Long memberId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送开关
|
||||||
|
*/
|
||||||
|
private Boolean isPush;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 首页隐身
|
* 首页隐身
|
||||||
*/
|
*/
|
||||||
|
|||||||
+8
-2
@@ -5,8 +5,8 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentTagDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentTagDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 朋友圈用户tag Mapper
|
* 朋友圈用户tag Mapper
|
||||||
@@ -14,10 +14,16 @@ import java.util.Set;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface MemberRecentTagMapper extends BaseMapperX<MemberRecentTagDO> {
|
public interface MemberRecentTagMapper extends BaseMapperX<MemberRecentTagDO> {
|
||||||
|
|
||||||
default List<MemberRecentTagDO> getByIds(Set<Long> memberIds) {
|
default List<MemberRecentTagDO> getByIds(Collection<Long> memberIds) {
|
||||||
return selectList(new LambdaQueryWrapperX<MemberRecentTagDO>()
|
return selectList(new LambdaQueryWrapperX<MemberRecentTagDO>()
|
||||||
.in(MemberRecentTagDO::getMemberId, memberIds)
|
.in(MemberRecentTagDO::getMemberId, memberIds)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default List<MemberRecentTagDO> getByMemberId(Long memberId) {
|
||||||
|
return selectList(new LambdaQueryWrapperX<MemberRecentTagDO>()
|
||||||
|
.eq(MemberRecentTagDO::getMemberId, memberId)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
+6
-2
@@ -4,11 +4,17 @@ package cn.iocoder.yudao.module.member.service.user;
|
|||||||
import cn.iocoder.yudao.module.member.controller.app.user.vo.recentcfg.MemberRecentCfgReqVo;
|
import cn.iocoder.yudao.module.member.controller.app.user.vo.recentcfg.MemberRecentCfgReqVo;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentCfgDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberRecentCfgDO;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户朋友圈相关配置 Service 接口
|
* 用户朋友圈相关配置 Service 接口
|
||||||
*/
|
*/
|
||||||
public interface MemberRecentCfgService {
|
public interface MemberRecentCfgService {
|
||||||
|
|
||||||
|
List<MemberRecentCfgDO> getByMemberIds(Collection<Long> memberIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建或新增配置
|
* 创建或新增配置
|
||||||
*/
|
*/
|
||||||
@@ -23,6 +29,4 @@ public interface MemberRecentCfgService {
|
|||||||
* 删除配置
|
* 删除配置
|
||||||
*/
|
*/
|
||||||
int del(Long menberId);
|
int del(Long menberId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
+19
-3
@@ -12,6 +12,11 @@ import javax.annotation.Resource;
|
|||||||
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户朋友圈相关配置 Service 实现类
|
* 用户朋友圈相关配置 Service 实现类
|
||||||
@@ -25,14 +30,25 @@ public class MemberRecentCfgServiceImpl implements MemberRecentCfgService {
|
|||||||
@Resource
|
@Resource
|
||||||
private RecentCfgMapper recentCfgMapper;
|
private RecentCfgMapper recentCfgMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MemberRecentCfgDO> getByMemberIds(Collection<Long> memberIds) {
|
||||||
|
if (ObjectUtil.isEmpty(memberIds)) return new ArrayList<>();
|
||||||
|
return recentCfgMapper.selectList(new LambdaQueryWrapperX<MemberRecentCfgDO>()
|
||||||
|
.in(MemberRecentCfgDO::getMemberId, memberIds)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建或新增配置
|
* 创建或新增配置
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public MemberRecentCfgDO createOrUpdate(MemberRecentCfgReqVo dto) {
|
public MemberRecentCfgDO createOrUpdate(MemberRecentCfgReqVo dto) {
|
||||||
MemberRecentCfgDO detail = recentCfgMapper.selectOne(new LambdaQueryWrapperX<MemberRecentCfgDO>()
|
MemberRecentCfgDO detail = null;
|
||||||
.eq(MemberRecentCfgDO::getMemberId, dto.getMemberId())
|
if (ObjectUtil.isNotEmpty(dto.getMemberId())) {
|
||||||
);
|
detail = recentCfgMapper.selectOne(new LambdaQueryWrapperX<MemberRecentCfgDO>()
|
||||||
|
.eq(MemberRecentCfgDO::getMemberId, dto.getMemberId())
|
||||||
|
);
|
||||||
|
}
|
||||||
MemberRecentCfgDO entity = BeanUtil.toBean(dto, MemberRecentCfgDO.class);
|
MemberRecentCfgDO entity = BeanUtil.toBean(dto, MemberRecentCfgDO.class);
|
||||||
if (ObjectUtil.isEmpty(detail)) {
|
if (ObjectUtil.isEmpty(detail)) {
|
||||||
recentCfgMapper.insert(entity);
|
recentCfgMapper.insert(entity);
|
||||||
|
|||||||
Reference in new issue
Block a user