Commit 72d99998 72d99998e11ccf0ea5c8f5f1b86d7e57febb5479 by 鲁二龙

Merge remote-tracking branch 'origin/1.1.1-优化' into 1.1.1-优化

2 parents 36ffbe1b 22a1a6af
Showing 29 changed files with 223 additions and 477 deletions
package com.topdraw.business.module.member.address.domain;
import com.topdraw.business.common.CreateGroup;
import lombok.Data;
import lombok.experimental.Accessors;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
......@@ -32,6 +35,7 @@ public class MemberAddress implements Serializable {
// 会员id
@Column(name = "member_id", nullable = false)
@NotNull(message = "" , groups= {CreateGroup.class})
private Long memberId;
@Transient
......
package com.topdraw.business.module.member.address.rest;
import com.topdraw.annotation.AnonymousAccess;
import com.topdraw.aop.log.Log;
import com.topdraw.business.common.CreateGroup;
import com.topdraw.business.module.member.service.MemberService;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.common.ResultInfo;
import com.topdraw.business.module.member.address.domain.MemberAddress;
import com.topdraw.business.module.member.address.service.MemberAddressService;
import com.topdraw.business.module.member.address.service.dto.MemberAddressQueryCriteria;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.util.Assert;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -21,7 +20,7 @@ import java.util.Objects;
* @author XiangHan
* @date 2021-10-22
*/
@Api(tags = "MemberAddress管理")
@Api(tags = "会员地址管理")
@RestController
@RequestMapping("/ucEngine/api/memberAddress")
@CrossOrigin
......@@ -33,24 +32,19 @@ public class MemberAddressController {
@Autowired
private MemberService memberService;
@GetMapping(value = "/pageMemberAddress")
@ApiOperation("查询MemberAddress")
public ResultInfo pageMemberAddress(MemberAddressQueryCriteria criteria, Pageable pageable) {
return ResultInfo.successPage(MemberAddressService.queryAll(criteria,pageable));
}
@Log("查询指定会员地址")
@GetMapping(value = "/findById/{id}")
@ApiOperation("查询指定MemberAddress")
public ResultInfo findById(@PathVariable(value = "id") Long id) {
return ResultInfo.success(MemberAddressService.findById(id));
@ApiOperation("查询指定会员地址")
public ResultInfo findById(@PathVariable(value = "id") Long resources) {
log.info("MemberAddressController ==>> create ==>> param ==>> [{}]",resources);
return ResultInfo.success(MemberAddressService.findById(resources));
}
@PostMapping(value = "/create")
@ApiOperation("新增MemberAddress")
@AnonymousAccess
public ResultInfo create(@Validated @RequestBody MemberAddress resources) {
log.info("MemberAddressController ==>> create ===>>[{}]",resources);
@Log("查询指定会员地址")
@RequestMapping(value = "/create")
@ApiOperation("新增会员地址")
public ResultInfo create(@Validated(value = {CreateGroup.class}) @RequestBody MemberAddress resources) {
log.info("MemberAddressController ==>> create ==> param ==>> [{}]",resources);
Long memberId = resources.getMemberId();
MemberDTO memberDTO = this.memberService.findById(memberId);
String code = memberDTO.getCode();
......@@ -59,13 +53,11 @@ public class MemberAddressController {
return ResultInfo.success();
}
@PutMapping(value = "/update")
@ApiOperation("修改MemberAddress")
@AnonymousAccess
public ResultInfo update(@Validated @RequestBody MemberAddress resources) {
log.info("MemberAddressController ==>> update ===>>[{}]",resources);
@Log("修改会员地址")
@RequestMapping(value = "/update")
@ApiOperation("修改会员地址")
public ResultInfo update(@Validated(value = {CreateGroup.class}) @RequestBody MemberAddress resources) {
log.info("MemberAddressController ==>> update ==> param ==>> [{}]",resources);
Long memberId = resources.getMemberId();
Integer sequence = resources.getSequence();
Assert.notNull(memberId,"memberId can't be null");
......@@ -80,11 +72,12 @@ public class MemberAddressController {
return ResultInfo.success();
}
@DeleteMapping(value = "/delete/{id}")
@ApiOperation("删除MemberAddress")
@AnonymousAccess
public ResultInfo delete(@PathVariable Long id) {
MemberAddressService.delete(id);
@Log("删除会员地址")
@RequestMapping(value = "/delete/{id}")
@ApiOperation("删除会员地址")
public ResultInfo delete(@PathVariable Long resources) {
log.info("MemberAddressController ==>> delete ==> param ==>> [{}]",resources);
MemberAddressService.delete(resources);
return ResultInfo.success();
}
......
......@@ -14,30 +14,27 @@ import java.util.List;
public interface MemberAddressService {
/**
* 查询数据分页
* @param criteria 条件参数
* @param pageable 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(MemberAddressQueryCriteria criteria, Pageable pageable);
/**
* 查询所有数据不分页
* @param criteria 条件参数
* @return List<MemberAddressDTO>
*/
List<MemberAddressDTO> queryAll(MemberAddressQueryCriteria criteria);
/**
* 根据ID查询
* @param id ID
* @return MemberAddressDTO
*/
MemberAddressDTO findById(Long id);
/**
* 保存会员地址
* @param resources
*/
void create(MemberAddress resources);
/**
* 修改会员地址
* @param resources
*/
void update(MemberAddress resources);
void delete(Long id);
/**
* 通过id删除
* @param resources
*/
void delete(Long resources);
}
......
......@@ -38,17 +38,6 @@ public class MemberAddressServiceImpl implements MemberAddressService {
private MemberAddressMapper MemberAddressMapper;
@Override
public Map<String, Object> queryAll(MemberAddressQueryCriteria criteria, Pageable pageable) {
Page<MemberAddress> page = MemberAddressRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
return PageUtil.toPage(page.map(MemberAddressMapper::toDto));
}
@Override
public List<MemberAddressDTO> queryAll(MemberAddressQueryCriteria criteria) {
return MemberAddressMapper.toDto(MemberAddressRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
}
@Override
public MemberAddressDTO findById(Long id) {
MemberAddress MemberAddress = MemberAddressRepository.findById(id).orElseGet(MemberAddress::new);
ValidationUtil.isNull(MemberAddress.getId(),"MemberAddress","id",id);
......
......@@ -5,6 +5,7 @@ import cn.hutool.core.bean.copier.CopyOptions;
import com.topdraw.util.IdWorker;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
......@@ -13,6 +14,7 @@ import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.Objects;
/**
* @author XiangHan
......@@ -20,12 +22,13 @@ import java.time.LocalDateTime;
*/
public class MemberBuilder {
public static Member build(Integer type,String avatarUrl,String nickname,Integer vip){
public static Member build(Integer type,String avatarUrl,String nickname,int vip){
// todo 原型模式
Member member = new Member();
member.setType(type);
member.setBlackStatus(0L);
member.setGender(-1);
member.setVip(vip==null?0:vip);
member.setVip(vip);
member.setLevel(1);
member.setStatus(1);
member.setPoints(0L);
......@@ -33,9 +36,9 @@ public class MemberBuilder {
member.setExp(0L);
member.setCouponAmount(0L);
member.setDueCouponAmount(0L);
member.setAvatarUrl(avatarUrl);
member.setAvatarUrl(StringUtils.isBlank(avatarUrl)?"":avatarUrl);
member.setCode(IdWorker.generator() + "");
member.setNickname(nickname);
member.setNickname(StringUtils.isBlank(nickname)?"":nickname);
return member;
}
}
......
package com.topdraw.business.module.member.group.repository;
import com.topdraw.business.module.member.group.domain.MemberGroup;
import com.topdraw.business.module.member.group.service.dto.MemberGroupDTO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import java.util.List;
/**
* @author XiangHan
* @date 2021-11-17
*/
public interface MemberGroupRepository extends JpaRepository<MemberGroup, Long>, JpaSpecificationExecutor<MemberGroup> {
List<MemberGroupDTO> findByMemberId(Long memberId);
}
......
package com.topdraw.business.module.member.group.rest;
import com.topdraw.aop.log.Log;
import com.topdraw.common.ResultInfo;
import com.topdraw.business.module.member.group.domain.MemberGroup;
import com.topdraw.business.module.member.group.service.MemberGroupService;
import com.topdraw.business.module.member.group.service.dto.MemberGroupQueryCriteria;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.validation.annotation.Validated;
......@@ -17,41 +19,37 @@ import io.swagger.annotations.*;
@Api(tags = "会员分组管理")
@RestController
@RequestMapping("/ucEngine/api/memberGroup")
@CrossOrigin
@Slf4j
public class MemberGroupController {
@Autowired
private MemberGroupService MemberGroupService;
@GetMapping
@ApiOperation("查询MemberGroup")
public ResultInfo getMemberGroups(MemberGroupQueryCriteria criteria, Pageable pageable) {
return ResultInfo.successPage(MemberGroupService.queryAll(criteria,pageable));
}
@GetMapping(value = "/all")
@ApiOperation("查询所有会员分组")
public ResultInfo getMemberGroups(MemberGroupQueryCriteria criteria) {
return ResultInfo.success(MemberGroupService.queryAll(criteria));
}
@PostMapping
@Log("新增会员分组")
@RequestMapping(value = "/create")
@ApiOperation("新增会员分组")
public ResultInfo create(@Validated @RequestBody MemberGroup resources) {
log.info("MemberGroupController ==>> create ==>> param ==>> [{}]",resources);
MemberGroupService.create(resources);
return ResultInfo.success();
}
@PutMapping
@Log("修改会员分组")
@RequestMapping(value = "/update")
@ApiOperation("修改会员分组")
public ResultInfo update(@Validated @RequestBody MemberGroup resources) {
log.info("MemberGroupController ==>> update ==>> param ==>> [{}]",resources);
MemberGroupService.update(resources);
return ResultInfo.success();
}
@DeleteMapping(value = "/{id}")
@Log("删除会员分组")
@RequestMapping(value = "/{id}")
@ApiOperation("删除会员分组")
public ResultInfo delete(@PathVariable Long id) {
MemberGroupService.delete(id);
public ResultInfo delete(@PathVariable(value = "id") Long resources) {
log.info("MemberGroupController ==>> delete ==>> param ==>> [{}]",resources);
MemberGroupService.delete(resources);
return ResultInfo.success();
}
......
......@@ -2,9 +2,7 @@ package com.topdraw.business.module.member.group.service;
import com.topdraw.business.module.member.group.domain.MemberGroup;
import com.topdraw.business.module.member.group.service.dto.MemberGroupDTO;
import com.topdraw.business.module.member.group.service.dto.MemberGroupQueryCriteria;
import org.springframework.data.domain.Pageable;
import java.util.Map;
import java.util.List;
/**
......@@ -14,19 +12,11 @@ import java.util.List;
public interface MemberGroupService {
/**
* 查询数据分页
* @param criteria 条件参数
* @param pageable 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(MemberGroupQueryCriteria criteria, Pageable pageable);
/**
* 查询所有数据不分页
* @param criteria 条件参数
* @return List<MemberGroupDTO>
*/
List<MemberGroupDTO> queryAll(MemberGroupQueryCriteria criteria);
* 通过会员id获取会员分组列表
* @param memberId
* @return
*/
List<MemberGroupDTO> findByMemberId(Long memberId);
/**
* 根据ID查询
......@@ -35,10 +25,22 @@ public interface MemberGroupService {
*/
MemberGroupDTO findById(Long id);
/**
* 创建会员分组
* @param resources
*/
void create(MemberGroup resources);
/**
* 修改会员分组
* @param resources
*/
void update(MemberGroup resources);
/**
* 删除会员分组
* @param id
*/
void delete(Long id);
}
......
......@@ -5,21 +5,15 @@ import com.topdraw.utils.ValidationUtil;
import com.topdraw.business.module.member.group.repository.MemberGroupRepository;
import com.topdraw.business.module.member.group.service.MemberGroupService;
import com.topdraw.business.module.member.group.service.dto.MemberGroupDTO;
import com.topdraw.business.module.member.group.service.dto.MemberGroupQueryCriteria;
import com.topdraw.business.module.member.group.service.mapper.MemberGroupMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.util.Assert;
import com.topdraw.utils.PageUtil;
import com.topdraw.utils.QueryHelp;
import java.util.List;
import java.util.Map;
/**
* @author XiangHan
......@@ -30,51 +24,44 @@ import java.util.Map;
public class MemberGroupServiceImpl implements MemberGroupService {
@Autowired
private MemberGroupRepository MemberGroupRepository;
private MemberGroupRepository memberGroupRepository;
@Autowired
private MemberGroupMapper MemberGroupMapper;
@Override
public Map<String, Object> queryAll(MemberGroupQueryCriteria criteria, Pageable pageable) {
Page<MemberGroup> page = MemberGroupRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
return PageUtil.toPage(page.map(MemberGroupMapper::toDto));
}
private MemberGroupMapper memberGroupMapper;
@Override
public List<MemberGroupDTO> queryAll(MemberGroupQueryCriteria criteria) {
return MemberGroupMapper.toDto(MemberGroupRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
public List<MemberGroupDTO> findByMemberId(Long memberId) {
return this.memberGroupRepository.findByMemberId(memberId);
}
@Override
public MemberGroupDTO findById(Long id) {
MemberGroup MemberGroup = MemberGroupRepository.findById(id).orElseGet(MemberGroup::new);
ValidationUtil.isNull(MemberGroup.getId(),"MemberGroup","id",id);
return MemberGroupMapper.toDto(MemberGroup);
MemberGroup memberGroup = this.memberGroupRepository.findById(id).orElseGet(MemberGroup::new);
ValidationUtil.isNull(memberGroup.getId(),"MemberGroup","id",id);
return this.memberGroupMapper.toDto(memberGroup);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void create(MemberGroup resources) {
MemberGroupRepository.save(resources);
this.memberGroupRepository.save(resources);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(MemberGroup resources) {
MemberGroup MemberGroup = MemberGroupRepository.findById(resources.getId()).orElseGet(MemberGroup::new);
ValidationUtil.isNull( MemberGroup.getId(),"MemberGroup","id",resources.getId());
MemberGroup.copy(resources);
MemberGroupRepository.save(MemberGroup);
MemberGroup memberGroup = this.memberGroupRepository.findById(resources.getId()).orElseGet(MemberGroup::new);
ValidationUtil.isNull(memberGroup.getId(),"MemberGroup","id",resources.getId());
memberGroup.copy(resources);
this.memberGroupRepository.save(memberGroup);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(Long id) {
Assert.notNull(id, "The given id must not be null!");
MemberGroup MemberGroup = MemberGroupRepository.findById(id).orElseThrow(
MemberGroup MemberGroup = this.memberGroupRepository.findById(id).orElseThrow(
() -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", MemberGroup.class, id), 1));
MemberGroupRepository.delete(MemberGroup);
this.memberGroupRepository.delete(MemberGroup);
}
......
package com.topdraw.business.module.member.level.domain;
import com.topdraw.business.common.UpdateGroup;
import lombok.Data;
import lombok.experimental.Accessors;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
......@@ -23,50 +26,51 @@ import java.io.Serializable;
@Table(name="uc_member_level")
public class MemberLevel implements Serializable {
// 主键
/** 主键 */
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
@NotNull(message = "id can't be null !!" , groups = {UpdateGroup.class})
private Long id;
// 标识
/** 标识 */
@Column(name = "code", nullable = false)
private String code;
// 名称
/** 名称 */
@Column(name = "name", nullable = false)
private String name;
// 状态 0:未启用;1:启用
/** 状态 0:未启用;1:启用 */
@Column(name = "status", nullable = false)
private Integer status;
// 对应成长值
/** 对应成长值 */
@Column(name = "exp_value", nullable = false)
private Long expValue;
// 等级(不可重复,数字越大等级越高)
/** 等级(不可重复,数字越大等级越高) */
@Column(name = "level", nullable = false)
private Integer level;
// 会员徽标
/** 会员徽标 */
@Column(name = "icon_url")
private String iconUrl;
// 描述
/** 描述 */
@Column(name = "description")
private String description;
// 对应任务id,通过此字段可获得该等级所对应的权益
/** 对应任务id,通过此字段可获得该等级所对应的权益 */
@Column(name = "task_id")
private Long taskId;
// 创建时间
/** 创建时间 */
@CreatedDate
@Column(name = "create_time")
private Timestamp createTime;
// 更新时间
/** 更新时间 */
@LastModifiedDate
@Column(name = "update_time")
private Timestamp updateTime;
......
package com.topdraw.business.module.member.level.rest;
import com.topdraw.aop.log.Log;
import com.topdraw.business.common.UpdateGroup;
import com.topdraw.business.module.member.level.domain.MemberLevel;
import com.topdraw.common.ResultInfo;
import com.topdraw.business.module.member.level.service.MemberLevelService;
import com.topdraw.business.module.member.level.service.dto.MemberLevelQueryCriteria;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
......@@ -12,54 +15,30 @@ import io.swagger.annotations.*;
* @author XiangHan
* @date 2021-10-22
*/
@Api(tags = "MemberLevel管理")
@Api(tags = "等级管理")
@RestController
@RequestMapping("/api/MemberLevel")
@RequestMapping("/ucEngine/api/MemberLevel")
@CrossOrigin
@Slf4j
public class MemberLevelController {
@Autowired
private MemberLevelService MemberLevelService;
@GetMapping
@ApiOperation("查询MemberLevel")
public ResultInfo getMemberLevels(MemberLevelQueryCriteria criteria, Pageable pageable) {
return ResultInfo.successPage(MemberLevelService.queryAll(criteria,pageable));
}
@GetMapping(value = "/all")
@ApiOperation("查询所有MemberLevel")
public ResultInfo getMemberLevels(MemberLevelQueryCriteria criteria) {
return ResultInfo.success(MemberLevelService.queryAll(criteria));
}
/*@Log
@PostMapping(value = "/create")
@ApiOperation("新增MemberLevel")
public ResultInfo create(@Validated @RequestBody MemberLevel resources) {
MemberLevelService.create(resources);
return ResultInfo.success();
}
@Log
@PutMapping(value = "/update")
@ApiOperation("修改MemberLevel")
public ResultInfo update(@Validated @RequestBody MemberLevel resources) {
@Log("修改等级")
@RequestMapping(value = "/update")
@ApiOperation("修改等级")
public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody MemberLevel resources) {
log.info("MemberLevelController ==>> update ==>> param ==>> [{}]",resources);
MemberLevelService.update(resources);
return ResultInfo.success();
}
@Log
@DeleteMapping(value = "/delete/{id}")
@ApiOperation("删除MemberLevel")
public ResultInfo delete(@PathVariable Long id) {
MemberLevelService.delete(id);
return ResultInfo.success();
}*/
@Log("根据标识查询")
@GetMapping(value = "/getByCode/{code}")
@ApiOperation(value = "根据标识查询")
public ResultInfo getByCode(@PathVariable String code) {
log.info("MemberLevelController ==>> getByCode ==>> param ==>> [{}]",code);
return ResultInfo.success(MemberLevelService.getByCode(code));
}
}
......
......@@ -2,9 +2,7 @@ package com.topdraw.business.module.member.level.service;
import com.topdraw.business.module.member.level.domain.MemberLevel;
import com.topdraw.business.module.member.level.service.dto.MemberLevelDTO;
import com.topdraw.business.module.member.level.service.dto.MemberLevelQueryCriteria;
import org.springframework.data.domain.Pageable;
import java.util.Map;
import java.util.List;
/**
......@@ -12,22 +10,6 @@ import java.util.List;
* @date 2021-10-22
*/
public interface MemberLevelService {
/**
* 查询数据分页
* @param criteria 条件参数
* @param pageable 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(MemberLevelQueryCriteria criteria, Pageable pageable);
/**
* 查询所有数据不分页
* @param criteria 条件参数
* @return List<MemberLevelDTO>
*/
List<MemberLevelDTO> queryAll(MemberLevelQueryCriteria criteria);
/**
* 根据ID查询
* @param id ID
......@@ -35,12 +17,12 @@ public interface MemberLevelService {
*/
MemberLevelDTO findById(Long id);
void create(MemberLevel resources);
/**
*
* @param resources
*/
void update(MemberLevel resources);
void delete(Long id);
/**
* Code校验
* @param code
......@@ -48,5 +30,11 @@ public interface MemberLevelService {
*/
MemberLevelDTO getByCode(String code);
/**
*
* @param i
* @param status
* @return
*/
List<MemberLevelDTO> findLevelAndStatus(Integer i, Integer status);
}
......
......@@ -38,17 +38,6 @@ public class MemberLevelServiceImpl implements MemberLevelService {
private MemberLevelMapper MemberLevelMapper;
@Override
public Map<String, Object> queryAll(MemberLevelQueryCriteria criteria, Pageable pageable) {
Page<MemberLevel> page = MemberLevelRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
return PageUtil.toPage(page.map(MemberLevelMapper::toDto));
}
@Override
public List<MemberLevelDTO> queryAll(MemberLevelQueryCriteria criteria) {
return MemberLevelMapper.toDto(MemberLevelRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
}
@Override
public MemberLevelDTO findById(Long id) {
MemberLevel MemberLevel = MemberLevelRepository.findById(id).orElseGet(MemberLevel::new);
ValidationUtil.isNull(MemberLevel.getId(),"MemberLevel","id",id);
......@@ -58,13 +47,6 @@ public class MemberLevelServiceImpl implements MemberLevelService {
@Override
@Transactional(rollbackFor = Exception.class)
@AsyncMqSend()
public void create(MemberLevel resources) {
MemberLevelRepository.save(resources);
}
@Override
@Transactional(rollbackFor = Exception.class)
@AsyncMqSend()
public void update(MemberLevel resources) {
MemberLevel MemberLevel = MemberLevelRepository.findById(resources.getId()).orElseGet(MemberLevel::new);
ValidationUtil.isNull( MemberLevel.getId(),"MemberLevel","id",resources.getId());
......@@ -73,17 +55,6 @@ public class MemberLevelServiceImpl implements MemberLevelService {
}
@Override
@Transactional(rollbackFor = Exception.class)
@AsyncMqSend()
public void delete(Long id) {
Assert.notNull(id, "The given id must not be null!");
MemberLevel MemberLevel = MemberLevelRepository.findById(id).orElseThrow(
() -> new EmptyResultDataAccessException(String.format("No %s entity " + "with id %s " + "exists!", MemberLevel.class, id), 1));
MemberLevelRepository.delete(MemberLevel);
}
@Override
public MemberLevelDTO getByCode(String code) {
return StringUtils.isNotEmpty(code) ? MemberLevelMapper.toDto(MemberLevelRepository.findFirstByCode(code).orElseGet(MemberLevel::new))
: new MemberLevelDTO();
......
package com.topdraw.business.module.member.profile;
public interface DoSaveMemberProfileGroup {
}
package com.topdraw.business.module.member.profile;
public interface DoUpdateMemberProfileGroup {
}
package com.topdraw.business.module.member.profile.domain;
import com.topdraw.business.module.member.profile.DoSaveMemberProfileGroup;
import com.topdraw.business.module.member.profile.DoUpdateMemberProfileGroup;
import com.topdraw.business.common.CreateGroup;
import com.topdraw.business.common.UpdateGroup;
import lombok.Data;
import lombok.experimental.Accessors;
import cn.hutool.core.bean.BeanUtil;
......@@ -28,17 +28,17 @@ import java.io.Serializable;
public class MemberProfile implements Serializable {
@Transient
@NotNull(message = "memberCode not be null!!" , groups = CreateGroup.class)
private String memberCode;
// 主键
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
@NotNull(message = "【id】 not be null!!" , groups = DoUpdateMemberProfileGroup.class)
@NotNull(message = "id not be null!!" , groups = UpdateGroup.class)
private Long id;
// 会员id
@NotNull(message = "【memberId】 not be null!!" , groups = DoSaveMemberProfileGroup.class)
@Column(name = "member_id", nullable = false)
private Long memberId;
......@@ -48,11 +48,9 @@ public class MemberProfile implements Serializable {
// 性别 0:女; 1:男 -1:未知
@Column(name = "gender", nullable = false)
@NotNull(message = "【gender】 not be null!!" , groups = {DoSaveMemberProfileGroup.class})
private Integer gender;
// 生日
@NotNull(message = "【memberId】 not be null!!" , groups = DoSaveMemberProfileGroup.class)
@Column(name = "birthday", nullable = false)
private Timestamp birthday;
......@@ -65,7 +63,6 @@ public class MemberProfile implements Serializable {
private String constellation;
// 身份证
@NotNull(message = "【idCard】 not be null!!" , groups = DoSaveMemberProfileGroup.class)
@Column(name = "id_card", nullable = false)
private String idCard;
......
package com.topdraw.business.module.member.profile.rest;
import com.topdraw.annotation.AnonymousAccess;
import com.topdraw.aop.log.Log;
import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO;
import com.topdraw.business.module.member.service.MemberService;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.common.ResultInfo;
import com.topdraw.business.module.member.profile.domain.MemberProfile;
import com.topdraw.business.module.member.profile.service.MemberProfileService;
import com.topdraw.util.Base64Util;
import com.topdraw.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -22,7 +21,7 @@ import java.util.Objects;
* @author XiangHan
* @date 2021-10-22
*/
@Api(tags = "MemberProfile管理")
@Api(tags = "会员基础信息管理")
@RestController
@RequestMapping("/ucEngine/api/memberProfile")
@CrossOrigin
......@@ -34,35 +33,20 @@ public class MemberProfileController {
@Autowired
private MemberService memberService;
/*@GetMapping
@ApiOperation("查询MemberProfile")
public ResultInfo getMemberProfiles(MemberProfileQueryCriteria criteria, Pageable pageable) {
return ResultInfo.successPage(MemberProfileService.queryAll(criteria,pageable));
}
@GetMapping(value = "/all")
@ApiOperation("查询所有MemberProfile")
public ResultInfo getMemberProfiles(MemberProfileQueryCriteria criteria) {
return ResultInfo.success(MemberProfileService.queryAll(criteria));
}*/
@PostMapping(value = "/create")
@ApiOperation("新增MemberProfile")
@AnonymousAccess
@Log("新增会员基础信息")
@RequestMapping(value = "/create")
@ApiOperation("新增会员基础信息")
public ResultInfo create(@Validated @RequestBody MemberProfile resources) {
log.info("MemberProfileServiceImpl ==>> create ==>> resources ===>> [{}]",resources);
String realname = resources.getRealname();
log.info("MemberProfileController ==>> create ==>> resources ===>> [{}]",resources);
MemberProfileService.create(resources);
return ResultInfo.success();
}
@PutMapping(value = "/update")
@ApiOperation("修改MemberProfile")
@AnonymousAccess
@Log("修改会员基础信息")
@RequestMapping(value = "/update")
@ApiOperation("修改会员基础信息")
public ResultInfo update(@Validated @RequestBody MemberProfile resources) {
log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources);
log.info("MemberProfileController ==>> update ==>> resources ===>> [{}]",resources);
Long memberId = resources.getMemberId();
Assert.notNull(memberId,"memberId can't be null");
MemberDTO memberDTO = this.memberService.findById(memberId);
......@@ -83,19 +67,21 @@ public class MemberProfileController {
return ResultInfo.success();
}
@PutMapping
@ApiOperation("修改MemberProfile")
@AnonymousAccess
@Log("修改会员基础信息")
@RequestMapping(value = "/updateMemberProfileAndMember")
@ApiOperation("修改会员基础信息")
public ResultInfo updateMemberProfileAndMember(@Validated @RequestBody MemberProfile resources) {
log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources);
log.info("MemberProfileController ==>> updateMemberProfileAndMember ==>> resources ===>> [{}]",resources);
this.MemberProfileService.updateMemberProfileAndMember(resources);
return ResultInfo.success();
}
@DeleteMapping(value = "/delete/{id}")
@ApiOperation("删除MemberProfile")
public ResultInfo delete(@PathVariable Long id) {
MemberProfileService.delete(id);
@Log("删除会员基础信息")
@RequestMapping(value = "/delete/{id}")
@ApiOperation("删除会员基础信息")
public ResultInfo delete(@PathVariable Long resources) {
log.info("MemberProfileController ==>> delete ==>> resources ===>> [{}]",resources);
MemberProfileService.delete(resources);
return ResultInfo.success();
}
......
......@@ -14,36 +14,48 @@ import java.util.List;
public interface MemberProfileService {
/**
* 查询数据分页
* @param criteria 条件参数
* @param pageable 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(MemberProfileQueryCriteria criteria, Pageable pageable);
/**
* 查询所有数据不分页
* @param criteria 条件参数
* @return List<MemberProfileDTO>
*/
List<MemberProfileDTO> queryAll(MemberProfileQueryCriteria criteria);
/**
* 根据ID查询
* @param id ID
* @return MemberProfileDTO
*/
MemberProfileDTO findById(Long id);
/**
* 保存
* @param resources 会员基本信息
* @return
*/
MemberProfile create(MemberProfile resources);
/**
* 保存默认会员基本信息
* @param resources
* @return
*/
MemberProfile createDefault(MemberProfile resources);
/**
*
* @param resources
*/
void update(MemberProfile resources);
/**
*
* @param id
*/
void delete(Long id);
/**
*
* @param memberId
* @return
*/
MemberProfileDTO findByMemberId(Long memberId);
/**
*
* @param resources
*/
void updateMemberProfileAndMember(MemberProfile resources);
}
......
......@@ -43,27 +43,13 @@ public class MemberProfileServiceImpl implements MemberProfileService {
@Autowired
private MemberProfileRepository MemberProfileRepository;
@Autowired
private MemberRepository memberRepository;
@Autowired
private MemberProfileMapper MemberProfileMapper;
@Autowired
private MemberService memberService;
@Override
public Map<String, Object> queryAll(MemberProfileQueryCriteria criteria, Pageable pageable) {
Page<MemberProfile> page = MemberProfileRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
return PageUtil.toPage(page.map(MemberProfileMapper::toDto));
}
@Override
public List<MemberProfileDTO> queryAll(MemberProfileQueryCriteria criteria) {
return MemberProfileMapper.toDto(MemberProfileRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
}
@Override
public MemberProfileDTO findById(Long id) {
MemberProfile MemberProfile = MemberProfileRepository.findById(id).orElseGet(MemberProfile::new);
......@@ -82,10 +68,6 @@ public class MemberProfileServiceImpl implements MemberProfileService {
@Override
public MemberProfile createDefault(MemberProfile resources) {
Long memberId = resources.getMemberId();
String realname = resources.getRealname();
Integer gender = resources.getGender();
MemberProfile memberProfile = MemberProfileBuild.build();
MemberProfile memberProfile1 = this.MemberProfileRepository.save(memberProfile);
return memberProfile1;
......
package com.topdraw.business.module.member.relatedinfo.rest;
import com.topdraw.annotation.AnonymousAccess;
import com.topdraw.aop.log.Log;
import com.topdraw.business.module.member.relatedinfo.domain.UpdateGroup;
import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO;
import com.topdraw.business.module.member.service.MemberService;
......@@ -8,63 +8,55 @@ import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.common.ResultInfo;
import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo;
import com.topdraw.business.module.member.relatedinfo.service.MemberRelatedInfoService;
import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoQueryCriteria;
import com.topdraw.exception.BadRequestException;
import com.topdraw.util.Base64Util;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import java.util.Base64;
import java.util.Objects;
/**
* @author XiangHan
* @date 2021-10-22
*/
@Slf4j
@Api(tags = "MemberRelatedInfo管理")
@Api(tags = "相关人员管理")
@RestController
@RequestMapping("/ucEngine/api/memberRelatedInfo")
@CrossOrigin
@Slf4j
public class MemberRelatedInfoController {
@Autowired
private MemberRelatedInfoService MemberRelatedInfoService;
@Autowired
private MemberService memberService;
@Autowired
private MemberRelatedInfoService memberRelatedInfoService;
@GetMapping(value = "/pageMemberRelatedInfos")
@ApiOperation("查询MemberRelatedInfo")
public ResultInfo pageMemberRelatedInfos(@Validated MemberRelatedInfoQueryCriteria criteria, Pageable pageable) {
return ResultInfo.successPage(MemberRelatedInfoService.queryAll(criteria,pageable));
}
@PostMapping(value = "/create")
@ApiOperation("新增MemberRelatedInfo")
@AnonymousAccess
@Log("新增相关人员")
@RequestMapping(value = "/create")
@ApiOperation("新增相关人员")
public ResultInfo create(@Validated @RequestBody MemberRelatedInfo resources) {
log.info("MemberRelatedInfoController ==>> create ==>> resources ===>> [{}]",resources);
String name = resources.getName();
if (StringUtils.hasText(name)) {
String nickNameEncode = Base64Util.encode(name);
resources.setName(nickNameEncode);
}
MemberRelatedInfoService.create(resources);
this.memberRelatedInfoService.create(resources);
return ResultInfo.success();
}
@PutMapping(value = "/update")
@ApiOperation("修改MemberRelatedInfo")
@AnonymousAccess
@Log("修改相关人员")
@RequestMapping(value = "/update")
@ApiOperation("修改相关人员")
public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody MemberRelatedInfo resources) {
log.info("Param ===> resources ===> [{}]",resources);
log.info("MemberRelatedInfoController ==>> update ==>> resources ===>> [{}]",resources);
String name = resources.getName();
if (StringUtils.hasText(name)) {
......@@ -73,7 +65,7 @@ public class MemberRelatedInfoController {
}
Long id = resources.getId();
MemberRelatedInfoDTO memberRelatedInfoDTO = this.MemberRelatedInfoService.findById(id);
MemberRelatedInfoDTO memberRelatedInfoDTO = this.memberRelatedInfoService.findById(id);
if (memberRelatedInfoDTO.getId() != null) {
Long memberId = memberRelatedInfoDTO.getMemberId();
if (Objects.isNull(memberId)) {
......@@ -86,24 +78,25 @@ public class MemberRelatedInfoController {
String code = memberDTO.getCode();
Assert.notNull(code,"code can't be null");
resources.setMemberCode(code);
MemberRelatedInfoService.update(resources);
this.memberRelatedInfoService.update(resources);
}
}
return ResultInfo.success();
}
@Log("查询指定相关人员")
@GetMapping(value = "/findById/{id}")
@ApiOperation("查询指定MemberRelatedInfo")
@ApiOperation("查询指定相关人员")
public ResultInfo findById(@PathVariable("id") Long id) {
return ResultInfo.success(MemberRelatedInfoService.findById(id));
return ResultInfo.success(this.memberRelatedInfoService.findById(id));
}
@DeleteMapping(value = "/delete/{id}")
@ApiOperation("删除MemberRelatedInfo")
@AnonymousAccess
public ResultInfo delete(@PathVariable Long id) {
MemberRelatedInfoService.delete(id);
@Log("删除相关人员")
@RequestMapping(value = "/delete/{id}")
@ApiOperation("删除相关人员")
public ResultInfo delete(@PathVariable(value = "id") Long id) {
this.memberRelatedInfoService.delete(id);
return ResultInfo.success();
}
......
......@@ -2,10 +2,6 @@ package com.topdraw.business.module.member.relatedinfo.service;
import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo;
import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoDTO;
import com.topdraw.business.module.member.relatedinfo.service.dto.MemberRelatedInfoQueryCriteria;
import org.springframework.data.domain.Pageable;
import java.util.Map;
import java.util.List;
/**
* @author XiangHan
......@@ -14,21 +10,6 @@ import java.util.List;
public interface MemberRelatedInfoService {
/**
* 查询数据分页
* @param criteria 条件参数
* @param pageable 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(MemberRelatedInfoQueryCriteria criteria, Pageable pageable);
/**
* 查询所有数据不分页
* @param criteria 条件参数
* @return List<MemberRelatedInfoDTO>
*/
List<MemberRelatedInfoDTO> queryAll(MemberRelatedInfoQueryCriteria criteria);
/**
* 根据ID查询
* @param id ID
* @return MemberRelatedInfoDTO
......
......@@ -37,17 +37,6 @@ public class MemberRelatedInfoServiceImpl implements MemberRelatedInfoService {
private MemberRelatedInfoMapper MemberRelatedInfoMapper;
@Override
public Map<String, Object> queryAll(MemberRelatedInfoQueryCriteria criteria, Pageable pageable) {
Page<MemberRelatedInfo> page = MemberRelatedInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
return PageUtil.toPage(page.map(MemberRelatedInfoMapper::toDto));
}
@Override
public List<MemberRelatedInfoDTO> queryAll(MemberRelatedInfoQueryCriteria criteria) {
return MemberRelatedInfoMapper.toDto(MemberRelatedInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
}
@Override
public MemberRelatedInfoDTO findById(Long id) {
MemberRelatedInfo MemberRelatedInfo = MemberRelatedInfoRepository.findById(id).orElseGet(MemberRelatedInfo::new);
ValidationUtil.isNull(MemberRelatedInfo.getId(),"MemberRelatedInfo","id",id);
......
......@@ -53,7 +53,7 @@ public class MemberController {
}
@Log("为大屏账户创建会员")
@PostMapping(value = "/createMemberByUserTv")
@RequestMapping(value = "/createMemberByUserTv")
@ApiOperation("为大屏账户创建会员")
public ResultInfo createMemberByUserTv(@Validated(value = {CreateGroup.class}) @RequestBody UserTv resources) {
......@@ -69,7 +69,7 @@ public class MemberController {
}
@Log("新增会员")
@PostMapping(value = "/create")
@RequestMapping(value = "/create")
@ApiOperation("新增会员")
public ResultInfo create(@Validated @RequestBody Member resources) {
log.info("member ==>> create ==>> param ==>> [{}]",resources);
......@@ -81,9 +81,9 @@ public class MemberController {
}
@Log("手动修改vip")
@PostMapping(value = "/doUpdateVip")
@RequestMapping(value = "/doUpdateVip")
@ApiOperation("手动修改vip")
public ResultInfo doUpdateVip(@Validated @RequestBody Member resources) {
public ResultInfo doUpdateVipByCode(@Validated @RequestBody Member resources) {
// TODO mall-service需要修改
log.info("member ==>> create ==>> param ==>> [{}]",resources);
memberService.update(resources);
......@@ -91,7 +91,7 @@ public class MemberController {
}
@Log("修改会员")
@PutMapping(value = "/update")
@RequestMapping(value = "/update")
@ApiOperation("修改会员")
public ResultInfo update(@Validated(value = {UpdateGroup.class}) @RequestBody Member resources) {
Long memberId = resources.getId();
......
package com.topdraw.business.module.member.viphistory.rest;
import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory;
import com.topdraw.business.module.member.viphistory.service.MemberVipHistoryService;
import com.topdraw.business.module.member.viphistory.service.dto.MemberVipHistoryQueryCriteria;
import com.topdraw.common.ResultInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* @author luerlong
* @date 2021-12-10
*/
@Api(tags = "MemberVipHistory管理")
@RestController
@RequestMapping("/api/memberVipHistory")
public class MemberVipHistoryController {
@Autowired
private MemberVipHistoryService memberVipHistoryService;
@GetMapping
@ApiOperation("查询MemberVipHistory")
public ResultInfo getMemberVipHistorys(MemberVipHistoryQueryCriteria criteria, Pageable pageable) {
return ResultInfo.successPage(memberVipHistoryService.queryAll(criteria,pageable));
}
@GetMapping(value = "/all")
@ApiOperation("查询所有MemberVipHistory")
public ResultInfo getMemberVipHistorys(MemberVipHistoryQueryCriteria criteria) {
return ResultInfo.success(memberVipHistoryService.queryAll(criteria));
}
@PostMapping
@ApiOperation("新增MemberVipHistory")
public ResultInfo create(@Validated @RequestBody MemberVipHistory resources) {
memberVipHistoryService.create(resources);
return ResultInfo.success();
}
@PutMapping
@ApiOperation("修改MemberVipHistory")
public ResultInfo update(@Validated @RequestBody MemberVipHistory resources) {
memberVipHistoryService.update(resources);
return ResultInfo.success();
}
@DeleteMapping(value = "/{id}")
@ApiOperation("删除MemberVipHistory")
public ResultInfo delete(@PathVariable Long id) {
memberVipHistoryService.delete(id);
return ResultInfo.success();
}
}
......@@ -646,9 +646,7 @@ public class TaskOperationServiceImpl implements TaskOperationService {
* @return
*/
private List<MemberGroupDTO> findGroupByMemberId(Long memberId) {
MemberGroupQueryCriteria memberGroupQueryCriteria = new MemberGroupQueryCriteria();
memberGroupQueryCriteria.setMemberId(memberId);
return this.memberGroupService.queryAll(memberGroupQueryCriteria);
return this.memberGroupService.findByMemberId(memberId);
}
/**
......
package com.topdraw.schedule;
import com.topdraw.business.process.service.PointsOperationService;
import org.springframework.beans.factory.annotation.Autowired;
/**
* 积分台账
*/
//@Component
//@Slf4j
//@EnableScheduling
public class ScheduledTask {
@Autowired
PointsOperationService pointsOperationService;
// @Scheduled(cron = "0/59 59 23 * * ? ")
/**
* 清理已过期的积分
*/
// @Scheduled(cron = "0 0/1 * * * ? ")
public void cleanValidAvailablePoints(){
// this.pointsOperationService.cleanInvalidAvailablePoints();
}
}
......@@ -18,15 +18,6 @@ public class MemberAddressControllerTest extends BaseTest {
MemberAddressController memberAddressController;
@Test
public void pageMemberAddress(){
MemberAddressQueryCriteria memberQueryCriteria = new MemberAddressQueryCriteria();
memberQueryCriteria.setMemberId(1L);
Pageable pageable = PageRequest.of(0,20);
ResultInfo byId = this.memberAddressController.pageMemberAddress(memberQueryCriteria,pageable);
LOG.info("===>>>"+byId);
}
@Test
public void update(){
MemberAddress memberAddress = new MemberAddress();
memberAddress.setId(1L);
......
......@@ -24,7 +24,7 @@ public class MemberControllerTest extends BaseTest {
member.setId(5L);
member.setVip(4);
String s = JSON.toJSONString(member);
ResultInfo byId = this.memberController.doUpdateVip(member);
ResultInfo byId = this.memberController.doUpdateVipByCode(member);
LOG.info("===>>>"+byId);
}
......
......@@ -21,14 +21,6 @@ public class MemberRelatedInfoControllerTest extends BaseTest {
MemberRelatedInfoController memberRelatedInfoController;
@Test
public void getMembers(){
MemberRelatedInfoQueryCriteria memberQueryCriteria = new MemberRelatedInfoQueryCriteria();
Pageable pageable = PageRequest.of(0,20);
ResultInfo byId = this.memberRelatedInfoController.pageMemberRelatedInfos(memberQueryCriteria,pageable);
LOG.info("===>>>"+byId);
}
@Test
public void update(){
MemberRelatedInfo member = new MemberRelatedInfo();
member.setId(15L);
......