app分组充值

This commit is contained in:
seesaw
2024-11-18 15:06:37 +08:00
parent b610a2aefe
commit 31bc529b42
8 changed files with 169 additions and 1 deletions

View File

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.member.controller.admin.group;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupCreateReqVO;
@ -15,6 +16,7 @@ import cn.iocoder.yudao.module.member.convert.group.MemberGroupConvert;
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
import cn.iocoder.yudao.module.member.service.group.MemberGroupService;
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@ -43,6 +45,8 @@ public class MemberGroupController {
@Resource
private MemberGroupService groupService;
@Resource
private MemberUserService userService;
@PostMapping("/create")
@Operation(summary = "创建用户分组")
@ -90,7 +94,16 @@ public class MemberGroupController {
//@PreAuthorize("@ss.hasPermission('member:group:query')")
public CommonResult<PageResult<MemberGroupRespVO>> getGroupPage(@Valid MemberGroupPageReqVO pageVO) {
PageResult<MemberGroupDO> pageResult = groupService.getGroupPage(pageVO);
return success(MemberGroupConvert.INSTANCE.convertPage(pageResult));
PageResult<MemberGroupRespVO> memberGroupRespVOPageResult = MemberGroupConvert.INSTANCE.convertPage(pageResult);
for (MemberGroupRespVO vo : memberGroupRespVOPageResult.getList()){
if(vo.getUserId()!=null){
MemberUserDO user = userService.getUser(vo.getUserId());
if (ObjectUtil.isNotEmpty(user)){
vo.setMobile(user.getMobile());
}
}
}
return success(memberGroupRespVOPageResult);
}
@PostMapping("/addMember")

View File

@ -26,4 +26,7 @@ public class MemberGroupBaseVO {
@InEnum(CommonStatusEnum.class)
private Integer status;
@Schema(description = "管理员Id", example = "1")
private Long userId;
}

View File

@ -19,4 +19,6 @@ public class MemberGroupRespVO extends MemberGroupBaseVO {
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime;
@Schema(description = "管理员手机", example = "1")
private String mobile;
}

View File

@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.member.controller.admin.card.vo.CardRespVO;
import cn.iocoder.yudao.module.member.controller.admin.card.vo.RechargeVO;
import cn.iocoder.yudao.module.member.controller.admin.card.vo.RobotReqVO;
import cn.iocoder.yudao.module.member.controller.app.card.vo.AppCardMonthVO;
import cn.iocoder.yudao.module.member.controller.app.card.vo.AppCardPageReqVO;
@ -149,4 +150,10 @@ public class AppCardController {
redisTemplate.opsForValue().set(reqVO.getIp(), reqVO);
}
@PutMapping("/rechargeByAdmin")
@Operation(summary = "管理充值")
public CommonResult<Boolean> rechargeByAdmin(@RequestBody RechargeVO vo) {
cardService.rechargeByAdmin(vo);
return success(true);
}
}

View File

@ -0,0 +1,129 @@
package cn.iocoder.yudao.module.member.controller.app.group;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.group.vo.*;
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserListVO;
import cn.iocoder.yudao.module.member.convert.group.MemberGroupConvert;
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
import cn.iocoder.yudao.module.member.service.group.MemberGroupService;
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 用户分组")
@RestController
@RequestMapping("/member/group")
@Validated
public class AppMemberGroupController {
@Resource
private MemberGroupService groupService;
@Resource
private MemberUserService userService;
@PostMapping("/create")
@Operation(summary = "创建用户分组")
//@PreAuthorize("@ss.hasPermission('member:group:create')")
public CommonResult<Long> createGroup(@Valid @RequestBody MemberGroupCreateReqVO createReqVO) {
return success(groupService.createGroup(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新用户分组")
//@PreAuthorize("@ss.hasPermission('member:group:update')")
public CommonResult<Boolean> updateGroup(@Valid @RequestBody MemberGroupUpdateReqVO updateReqVO) {
groupService.updateGroup(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除用户分组")
@Parameter(name = "id", description = "编号", required = true)
//@PreAuthorize("@ss.hasPermission('member:group:delete')")
public CommonResult<Boolean> deleteGroup(@RequestParam("id") Long id) {
groupService.deleteGroup(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得用户分组")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('member:group:query')")
public CommonResult<MemberGroupRespVO> getGroup(@RequestParam("id") Long id) {
MemberGroupDO group = groupService.getGroup(id);
return success(MemberGroupConvert.INSTANCE.convert(group));
}
@GetMapping("/list-all-simple")
@Operation(summary = "获取会员分组精简信息列表", description = "只包含被开启的会员分组,主要用于前端的下拉选项")
public CommonResult<List<MemberGroupSimpleRespVO>> getSimpleGroupList() {
// 获用户列表,只要开启状态的
List<MemberGroupDO> list = groupService.getEnableGroupList();
return success(MemberGroupConvert.INSTANCE.convertSimpleList(list));
}
@GetMapping("/page")
@Operation(summary = "获得用户分组分页")
//@PreAuthorize("@ss.hasPermission('member:group:query')")
public CommonResult<PageResult<MemberGroupRespVO>> getGroupPage(@Valid MemberGroupPageReqVO pageVO) {
PageResult<MemberGroupDO> pageResult = groupService.getGroupPage(pageVO);
PageResult<MemberGroupRespVO> memberGroupRespVOPageResult = MemberGroupConvert.INSTANCE.convertPage(pageResult);
for (MemberGroupRespVO vo : memberGroupRespVOPageResult.getList()){
if(vo.getUserId()!=null){
MemberUserDO user = userService.getUser(vo.getUserId());
if (ObjectUtil.isNotEmpty(user)){
vo.setMobile(user.getMobile());
}
}
}
return success(memberGroupRespVOPageResult);
}
@PostMapping("/addMember")
@Operation(summary = "小组添加成员")
//@PreAuthorize("@ss.hasPermission('member:group:create')")
public CommonResult<Long> addMember(@RequestBody MemberGroupVO vo) {
groupService.addMember(vo);
return success(null);
}
@GetMapping("/getMember")
@Operation(summary = "获取小组成员")
public CommonResult<PageResult<MemberUserVO>> getMemberByGroupId(MemberGroupPageVO vo) {
return success(groupService.getMemberByGroupId(vo));
}
@PostMapping("/deleteMember")
@Operation(summary = "小组删除成员")
public CommonResult<Long> deleteMember(@RequestBody MemberGroupVO vo) {
groupService.deleteMember(vo);
return success(null);
}
@PostMapping("/getUserList")
@Operation(summary = "人员列表")
public CommonResult<PageResult<MemberUserDO>> getUserList(@Valid @RequestBody MemberUserListVO vo) {
return success(groupService.getUserList(vo));
}
@GetMapping("/getAdmin")
@Operation(summary = "获取管理列表")
public CommonResult<List<MemberGroupDO>> getAdmin() {
return success(groupService.getAdmin());
}
}

View File

@ -429,6 +429,7 @@ public class DeductionServiceImpl implements DeductionService {
cardDO.setChangeMoney(total);
cardDO.setFlag(CardDO.MINUS);
cardDO.setMoney(newMoney);
cardDO.setType(CostTypeEnum.SHOPPING.getCode());
cardDO.setWxAmount(wxNewMoney);
cardDO.setCashAmount(cashNewMoney);
cardDO.setGiftAmount(giftNewMoney);

View File

@ -117,6 +117,8 @@ public interface MemberGroupService {
PageResult<MemberUserDO> getUserList(MemberUserListVO listVO);
List<MemberGroupDO> getAdmin();
/**
* 获取用户所在组
*/

View File

@ -2,8 +2,10 @@ package cn.iocoder.yudao.module.member.service.group;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.collection.ListUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupCreateReqVO;
import cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupPageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupPageVO;
@ -18,6 +20,7 @@ import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
import cn.iocoder.yudao.module.member.dal.mysql.group.MemberGroupMapper;
import cn.iocoder.yudao.module.member.service.card.CardService;
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@ -155,6 +158,14 @@ public class MemberGroupServiceImpl implements MemberGroupService {
}
@Override
public List<MemberGroupDO> getAdmin() {
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
List<MemberGroupDO> memberGroupDOS = memberGroupMapper.selectList(Wrappers.<MemberGroupDO>lambdaQuery()
.eq(MemberGroupDO::getUserId, loginUserId));
return memberGroupDOS;
}
@Override
public String getGroupNameByUserId(Long userId) {
return memberGroupMapper.getGroupName(userId);