代码优化
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
package com.starry.admin.modules.personnel.controller;
|
||||
|
||||
import com.starry.admin.modules.personnel.module.entity.PlayBalanceDetailsInfoEntity;
|
||||
import com.starry.admin.modules.personnel.module.vo.PlayBalanceDetailsQueryVo;
|
||||
import com.starry.admin.modules.personnel.service.IPlayBalanceDetailsInfoService;
|
||||
import com.starry.common.annotation.Log;
|
||||
import com.starry.common.enums.BusinessType;
|
||||
import com.starry.common.result.R;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 余额明细Controller
|
||||
*
|
||||
* @author admin
|
||||
* @since 2024-04-30
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/balance/details")
|
||||
public class PlayBalanceDetailsInfoController {
|
||||
@Resource
|
||||
private IPlayBalanceDetailsInfoService playBalanceDetailsInfoService;
|
||||
|
||||
|
||||
/**
|
||||
* 查询余额明细列表
|
||||
*/
|
||||
@PostMapping("/listByPage")
|
||||
public R list(@Validated @RequestBody PlayBalanceDetailsQueryVo vo) {
|
||||
return R.ok(playBalanceDetailsInfoService.selectByPage(vo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取余额明细详细信息
|
||||
*/
|
||||
@GetMapping(value = "/{id}")
|
||||
public R getInfo(@PathVariable("id") String id) {
|
||||
return R.ok(playBalanceDetailsInfoService.selectPlayBalanceDetailsInfoById(id));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 修改余额明细
|
||||
*/
|
||||
//@PreAuthorize("@customSs.hasPermission('balance:details:update')")
|
||||
@Log(title = "余额明细", businessType = BusinessType.UPDATE)
|
||||
@PostMapping(value = "/update/{id}")
|
||||
public R update(@PathVariable String id, @RequestBody PlayBalanceDetailsInfoEntity playBalanceDetailsInfo) {
|
||||
playBalanceDetailsInfo.setId(id);
|
||||
boolean success = playBalanceDetailsInfoService.update(playBalanceDetailsInfo);
|
||||
if (success) {
|
||||
return R.ok();
|
||||
}
|
||||
return R.error("修改失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除余额明细
|
||||
*/
|
||||
//@PreAuthorize("@customSs.hasPermission('balance:details:delete')")
|
||||
@Log(title = "余额明细", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R remove(@PathVariable String[] ids) {
|
||||
return R.ok(playBalanceDetailsInfoService.deletePlayBalanceDetailsInfoByIds(ids));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.starry.admin.modules.personnel.mapper;
|
||||
|
||||
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.starry.admin.modules.personnel.module.entity.PlayBalanceDetailsInfoEntity;
|
||||
|
||||
/**
|
||||
* 余额明细Mapper接口
|
||||
*
|
||||
* @author admin
|
||||
* @since 2024-04-30
|
||||
*/
|
||||
public interface PlayBalanceDetailsInfoMapper extends MPJBaseMapper<PlayBalanceDetailsInfoEntity> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
package com.starry.admin.modules.personnel.module.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.starry.common.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 余额明细对象 play_balance_details_info
|
||||
*
|
||||
* @author admin
|
||||
* @since 2024-04-30
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("play_balance_details_info")
|
||||
public class PlayBalanceDetailsInfoEntity extends BaseEntity<PlayBalanceDetailsInfoEntity> {
|
||||
|
||||
|
||||
/**
|
||||
* UUID
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 租户ID
|
||||
*/
|
||||
private String tenantId;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 用户类型[0:陪聊;1:顾客]
|
||||
*/
|
||||
private String userType;
|
||||
|
||||
/**
|
||||
* 操作前余额
|
||||
*/
|
||||
private BigDecimal balanceBeforeOperation;
|
||||
|
||||
/**
|
||||
* 操作后余额
|
||||
*/
|
||||
private BigDecimal balanceAfterOperation;
|
||||
|
||||
|
||||
/**
|
||||
* 操作类型(0:充值;1:消费;2:服务)
|
||||
*/
|
||||
private String operationType;
|
||||
|
||||
/**
|
||||
* 操作动作
|
||||
*/
|
||||
private String operationAction;
|
||||
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private LocalDateTime operationTime;
|
||||
|
||||
/**
|
||||
* 操作金额
|
||||
*/
|
||||
private BigDecimal balanceMoney;
|
||||
|
||||
/**
|
||||
* 赠送金额
|
||||
*/
|
||||
private BigDecimal giftAmount;
|
||||
|
||||
/**
|
||||
* 支付金额
|
||||
*/
|
||||
private BigDecimal paymentAmount;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
private String orderId;
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.starry.admin.modules.personnel.module.vo;
|
||||
|
||||
import com.starry.common.domain.BasePageEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分页查询余额明细
|
||||
*
|
||||
* @author admin
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class PlayBalanceDetailsQueryVo extends BasePageEntity {
|
||||
|
||||
/**
|
||||
* 店员昵称
|
||||
*/
|
||||
private String nickname;
|
||||
|
||||
/**
|
||||
* 操作类型(0:充值;1:消费;2:服务)
|
||||
*/
|
||||
private String operationType;
|
||||
|
||||
/**
|
||||
* 支付方式,0:余额支付,1:微信支付,2:支付宝支付
|
||||
*/
|
||||
private String payMethod;
|
||||
|
||||
private String userType = "1";
|
||||
|
||||
private List<String> operationTime;
|
||||
|
||||
private String userId;
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
package com.starry.admin.modules.personnel.module.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 余额明细查询对象
|
||||
*
|
||||
* @author admin
|
||||
*/
|
||||
@Data
|
||||
public class PlayBalanceDetailsReturnVo {
|
||||
|
||||
/**
|
||||
* UUID
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 操作前余额
|
||||
*/
|
||||
private BigDecimal balanceBeforeOperation;
|
||||
|
||||
/**
|
||||
* 操作后余额
|
||||
*/
|
||||
private BigDecimal balanceAfterOperation;
|
||||
|
||||
/**
|
||||
* 操作类型(0:充值;1:消费;2:服务)
|
||||
*/
|
||||
private String operationType;
|
||||
|
||||
/**
|
||||
* 操作动作
|
||||
*/
|
||||
private String operationAction;
|
||||
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
private Date operationTime;
|
||||
|
||||
/**
|
||||
* 操作金额
|
||||
*/
|
||||
private BigDecimal balanceMoney;
|
||||
|
||||
/**
|
||||
* 支付方式,0:余额支付,1:微信支付,2:支付宝支付
|
||||
*/
|
||||
private String payMethod;
|
||||
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
private String orderNo;
|
||||
|
||||
|
||||
/**
|
||||
* 订单金额
|
||||
*/
|
||||
private BigDecimal orderMoney;
|
||||
|
||||
|
||||
/**
|
||||
* 赠送金额
|
||||
*/
|
||||
private BigDecimal giftAmount;
|
||||
|
||||
|
||||
/**
|
||||
* 订单最终金额
|
||||
*/
|
||||
private BigDecimal finalAmount;
|
||||
|
||||
/**
|
||||
* 订单备注
|
||||
*/
|
||||
private String orderRemark;
|
||||
|
||||
|
||||
/**
|
||||
* 顾客Id
|
||||
*/
|
||||
private String customId;
|
||||
|
||||
/**
|
||||
* 顾客昵称
|
||||
*/
|
||||
private String customNickname;
|
||||
|
||||
/**
|
||||
* 顾客头像
|
||||
*/
|
||||
private String customAvatar;
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.starry.admin.modules.personnel.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.starry.admin.modules.personnel.module.entity.PlayBalanceDetailsInfoEntity;
|
||||
import com.starry.admin.modules.personnel.module.vo.PlayBalanceDetailsQueryVo;
|
||||
import com.starry.admin.modules.personnel.module.vo.PlayBalanceDetailsReturnVo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 余额明细Service接口
|
||||
*
|
||||
* @author admin
|
||||
* @since 2024-04-30
|
||||
*/
|
||||
public interface IPlayBalanceDetailsInfoService extends IService<PlayBalanceDetailsInfoEntity> {
|
||||
|
||||
|
||||
/**
|
||||
* 查询余额明细
|
||||
*
|
||||
* @param id 余额明细主键
|
||||
* @return 余额明细
|
||||
*/
|
||||
PlayBalanceDetailsInfoEntity selectPlayBalanceDetailsInfoById(String id);
|
||||
|
||||
|
||||
/**
|
||||
* 查询余额明细列表
|
||||
*
|
||||
* @param vo 余额明细查询对象
|
||||
* @return 余额明细集合
|
||||
*/
|
||||
IPage<PlayBalanceDetailsReturnVo> selectByPage(PlayBalanceDetailsQueryVo vo);
|
||||
|
||||
|
||||
/**
|
||||
* 查询余额明细列表
|
||||
*
|
||||
* @param playBalanceDetailsInfo 余额明细
|
||||
* @return 余额明细集合
|
||||
*/
|
||||
IPage<PlayBalanceDetailsInfoEntity> selectPlayBalanceDetailsInfoByPage(PlayBalanceDetailsInfoEntity playBalanceDetailsInfo);
|
||||
|
||||
|
||||
/**
|
||||
* 新增余额明细信息
|
||||
*
|
||||
* @param userType 用户类型[0:陪聊;1:顾客]
|
||||
* @param userId 用户ID
|
||||
* @param balanceBeforeOperation 操作前余额
|
||||
* @param balanceAfterOperation 操作后余额
|
||||
* @param operationType 操作类型(0:充值;1:消费,2:服务;3:退款)
|
||||
* @param operationAction 操作动作
|
||||
* @param balanceMoney 操作金额
|
||||
* @param giftAmount 赠送金额
|
||||
* @param orderId 订单ID
|
||||
*/
|
||||
void insertBalanceDetailsInfo(String userType, String userId, BigDecimal balanceBeforeOperation, BigDecimal balanceAfterOperation, String operationType, String operationAction, BigDecimal balanceMoney, BigDecimal giftAmount, String orderId);
|
||||
|
||||
/**
|
||||
* 新增余额明细
|
||||
*
|
||||
* @param playBalanceDetailsInfo 余额明细
|
||||
* @return 结果
|
||||
*/
|
||||
boolean create(PlayBalanceDetailsInfoEntity playBalanceDetailsInfo);
|
||||
|
||||
/**
|
||||
* 修改余额明细
|
||||
*
|
||||
* @param playBalanceDetailsInfo 余额明细
|
||||
* @return 结果
|
||||
*/
|
||||
boolean update(PlayBalanceDetailsInfoEntity playBalanceDetailsInfo);
|
||||
|
||||
/**
|
||||
* 批量删除余额明细
|
||||
*
|
||||
* @param ids 需要删除的余额明细主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
int deletePlayBalanceDetailsInfoByIds(String[] ids);
|
||||
|
||||
/**
|
||||
* 删除余额明细信息
|
||||
*
|
||||
* @param id 余额明细主键
|
||||
* @return 结果
|
||||
*/
|
||||
int deletePlayBalanceDetailsInfoById(String id);
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
package com.starry.admin.modules.personnel.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity;
|
||||
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
|
||||
import com.starry.admin.modules.order.service.IPlayOrderInfoService;
|
||||
import com.starry.admin.modules.personnel.mapper.PlayBalanceDetailsInfoMapper;
|
||||
import com.starry.admin.modules.personnel.module.entity.PlayBalanceDetailsInfoEntity;
|
||||
import com.starry.admin.modules.personnel.module.vo.PlayBalanceDetailsQueryVo;
|
||||
import com.starry.admin.modules.personnel.module.vo.PlayBalanceDetailsReturnVo;
|
||||
import com.starry.admin.modules.personnel.service.IPlayBalanceDetailsInfoService;
|
||||
import com.starry.common.utils.IdUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* 余额明细Service业务层处理
|
||||
*
|
||||
* @author admin
|
||||
* @since 2024-04-30
|
||||
*/
|
||||
@Service
|
||||
public class PlayBalanceDetailsInfoServiceImpl extends ServiceImpl<PlayBalanceDetailsInfoMapper, PlayBalanceDetailsInfoEntity> implements IPlayBalanceDetailsInfoService {
|
||||
@Resource
|
||||
private PlayBalanceDetailsInfoMapper playBalanceDetailsInfoMapper;
|
||||
|
||||
@Resource
|
||||
private IPlayOrderInfoService playOrderInfoService;
|
||||
|
||||
/**
|
||||
* 查询余额明细
|
||||
*
|
||||
* @param id 余额明细主键
|
||||
* @return 余额明细
|
||||
*/
|
||||
@Override
|
||||
public PlayBalanceDetailsInfoEntity selectPlayBalanceDetailsInfoById(String id) {
|
||||
return this.baseMapper.selectById(id);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public IPage<PlayBalanceDetailsReturnVo> selectByPage(PlayBalanceDetailsQueryVo vo) {
|
||||
MPJLambdaWrapper<PlayBalanceDetailsInfoEntity> lambdaQueryWrapper = new MPJLambdaWrapper<PlayBalanceDetailsInfoEntity>()
|
||||
//查询主表全部字段
|
||||
.selectAll(PlayBalanceDetailsInfoEntity.class)
|
||||
//查询顾客表
|
||||
.selectAs(PlayCustomUserInfoEntity::getId, "customId").selectAs(PlayCustomUserInfoEntity::getNickname, "customNickname").selectAs(PlayCustomUserInfoEntity::getAvatar, "customAvatar")
|
||||
//查询订单表
|
||||
// .selectAs(PlayOrderInfoEntity::getId, "orderId").selectAs(PlayOrderInfoEntity::getOrderNo, "orderNo").selectAs(PlayOrderInfoEntity::getPayMethod,"payMethod")
|
||||
.selectAll(PlayOrderInfoEntity.class)
|
||||
.leftJoin(PlayOrderInfoEntity.class, PlayOrderInfoEntity::getId, PlayBalanceDetailsInfoEntity::getOrderId)
|
||||
.leftJoin(PlayCustomUserInfoEntity.class, PlayCustomUserInfoEntity::getId, PlayBalanceDetailsInfoEntity::getUserId);
|
||||
|
||||
|
||||
if (StrUtil.isNotBlank(vo.getPayMethod())) {
|
||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getPayMethod, vo.getPayMethod());
|
||||
}
|
||||
if (StrUtil.isNotBlank(vo.getOperationType())) {
|
||||
lambdaQueryWrapper.eq(PlayBalanceDetailsInfoEntity::getOperationType, vo.getOperationType());
|
||||
}
|
||||
if (StrUtil.isNotBlank(vo.getUserType())) {
|
||||
lambdaQueryWrapper.eq(PlayBalanceDetailsInfoEntity::getUserType, vo.getUserType());
|
||||
}
|
||||
if (StrUtil.isNotBlank(vo.getNickname())) {
|
||||
lambdaQueryWrapper.like(PlayCustomUserInfoEntity::getNickname, vo.getNickname());
|
||||
}
|
||||
if (StrUtil.isNotBlank(vo.getUserId())) {
|
||||
lambdaQueryWrapper.like(PlayBalanceDetailsInfoEntity::getUserId, vo.getUserId());
|
||||
}
|
||||
|
||||
if (!vo.getOperationTime().isEmpty()) {
|
||||
lambdaQueryWrapper.between(PlayBalanceDetailsInfoEntity::getOperationTime, vo.getOperationTime().get(0), vo.getOperationTime().get(1));
|
||||
}
|
||||
lambdaQueryWrapper.orderByDesc(PlayBalanceDetailsInfoEntity::getOperationTime);
|
||||
return this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayBalanceDetailsReturnVo.class, lambdaQueryWrapper);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询余额明细列表
|
||||
*
|
||||
* @param playBalanceDetailsInfo 余额明细
|
||||
* @return 余额明细
|
||||
*/
|
||||
@Override
|
||||
public IPage<PlayBalanceDetailsInfoEntity> selectPlayBalanceDetailsInfoByPage(PlayBalanceDetailsInfoEntity playBalanceDetailsInfo) {
|
||||
Page<PlayBalanceDetailsInfoEntity> page = new Page<>(1, 10);
|
||||
return this.baseMapper.selectPage(page, new LambdaQueryWrapper<>());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void insertBalanceDetailsInfo(String userType, String userId, BigDecimal balanceBeforeOperation, BigDecimal balanceAfterOperation, String operationType, String operationAction, BigDecimal balanceMoney, BigDecimal giftAmount, String orderId) {
|
||||
PlayOrderInfoEntity orderInfo = playOrderInfoService.selectOrderInfoById(orderId);
|
||||
PlayBalanceDetailsInfoEntity entity = new PlayBalanceDetailsInfoEntity();
|
||||
entity.setId(IdUtils.getUuid());
|
||||
entity.setUserType(userType);
|
||||
entity.setUserId(userId);
|
||||
entity.setBalanceBeforeOperation(balanceBeforeOperation);
|
||||
entity.setBalanceAfterOperation(balanceAfterOperation);
|
||||
entity.setOperationType(operationType);
|
||||
entity.setBalanceMoney(balanceMoney);
|
||||
entity.setGiftAmount(giftAmount);
|
||||
entity.setPaymentAmount(orderInfo == null ? balanceMoney : orderInfo.getFinalAmount());
|
||||
entity.setOperationTime(LocalDateTime.now());
|
||||
entity.setOrderId(orderId);
|
||||
this.baseMapper.insert(entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增余额明细
|
||||
*
|
||||
* @param playBalanceDetailsInfo 余额明细
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public boolean create(PlayBalanceDetailsInfoEntity playBalanceDetailsInfo) {
|
||||
if (StrUtil.isBlankIfStr(playBalanceDetailsInfo.getId())) {
|
||||
playBalanceDetailsInfo.setId(IdUtils.getUuid());
|
||||
}
|
||||
return save(playBalanceDetailsInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改余额明细
|
||||
*
|
||||
* @param playBalanceDetailsInfo 余额明细
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public boolean update(PlayBalanceDetailsInfoEntity playBalanceDetailsInfo) {
|
||||
return updateById(playBalanceDetailsInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除余额明细
|
||||
*
|
||||
* @param ids 需要删除的余额明细主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deletePlayBalanceDetailsInfoByIds(String[] ids) {
|
||||
return playBalanceDetailsInfoMapper.deleteBatchIds(Arrays.asList(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除余额明细信息
|
||||
*
|
||||
* @param id 余额明细主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deletePlayBalanceDetailsInfoById(String id) {
|
||||
return playBalanceDetailsInfoMapper.deleteById(id);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user