个人取款 及记录查询
This commit is contained in:
parent
06a083c91a
commit
1e2ad095b5
|
|
@ -1,15 +1,19 @@
|
||||||
package com.bonus.canteen.core.account.controller;
|
package com.bonus.canteen.core.account.controller;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
|
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
||||||
import com.bonus.canteen.core.account.domain.AccInfo;
|
import com.bonus.canteen.core.account.domain.AccInfo;
|
||||||
import com.bonus.canteen.core.account.domain.param.*;
|
import com.bonus.canteen.core.account.domain.param.*;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccInfoDetailsVO;
|
import com.bonus.canteen.core.account.domain.vo.AccInfoDetailsVO;
|
||||||
|
|
||||||
import com.bonus.canteen.core.account.service.AccOperationHistoryService;
|
import com.bonus.canteen.core.account.service.AccOperationHistoryService;
|
||||||
|
import com.bonus.common.core.exception.ServiceException;
|
||||||
import com.bonus.common.log.enums.OperaType;
|
import com.bonus.common.log.enums.OperaType;
|
||||||
|
import com.bonus.common.security.utils.SecurityUtils;
|
||||||
import com.bonus.system.api.domain.SysUser;
|
import com.bonus.system.api.domain.SysUser;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
|
@ -194,10 +198,44 @@ public class AccInfoController extends BaseController {
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("单人取钱")
|
||||||
|
@PostMapping("/withdraw")
|
||||||
|
public AjaxResult individualAccWithdraw(@RequestBody @Valid AccWithdrawParam param) {
|
||||||
|
this.accInfoService.individualAccWithdraw(param);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation("离职清空余额(个人钱包和补贴钱包)")
|
@ApiOperation("离职清空余额(个人钱包和补贴钱包)")
|
||||||
@PostMapping({"/leave/clear"})
|
@PostMapping({"/leave/clear"})
|
||||||
public AjaxResult individualAccLeaveClear(@RequestBody @Valid AccLeaveClearParam param) {
|
public AjaxResult individualAccLeaveClear(@RequestBody @Valid AccLeaveClearParam param) {
|
||||||
this.accInfoService.individualAccLeaveClear(param);
|
this.accInfoService.individualAccLeaveClear(param);
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("个人钱包操作记录")
|
||||||
|
@PostMapping({"/wallet/history"})
|
||||||
|
public TableDataInfo queryAccPersonalWalOperationAddList(@RequestBody AccWalletOperationQueryParam request) {
|
||||||
|
if(Objects.isNull(request)) {
|
||||||
|
throw new ServiceException("请求参数为空");
|
||||||
|
}
|
||||||
|
if(Objects.isNull(request.getTradeType())) {
|
||||||
|
throw new ServiceException("交易类型为空");
|
||||||
|
}
|
||||||
|
startPage();
|
||||||
|
return getDataTable(accInfoService.queryAccPersonalWalOperationAddList(request));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("手机端个人钱包操作记录")
|
||||||
|
@PostMapping({"/mobile/wallet/history"})
|
||||||
|
public TableDataInfo queryAccPersonalWalOperationAddListForMobile(@RequestBody AccWalletOperationQueryParam request) {
|
||||||
|
if(Objects.isNull(request)) {
|
||||||
|
throw new ServiceException("请求参数为空");
|
||||||
|
}
|
||||||
|
if(Objects.isNull(request.getTradeType())) {
|
||||||
|
throw new ServiceException("交易类型为空");
|
||||||
|
}
|
||||||
|
startPage();
|
||||||
|
request.setUserId(SecurityUtils.getUserId());
|
||||||
|
return getDataTable(accInfoService.queryAccPersonalWalOperationAddList(request));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ public class AccSubsidyController extends BaseController {
|
||||||
|
|
||||||
@ApiOperation("补贴记录")
|
@ApiOperation("补贴记录")
|
||||||
@PostMapping({"/add/history"})
|
@PostMapping({"/add/history"})
|
||||||
public TableDataInfo queryAccSubOperationAddList(@RequestBody AccSubOperationQueryParam request) {
|
public TableDataInfo queryAccSubOperationAddList(@RequestBody AccWalletOperationQueryParam request) {
|
||||||
startPage();
|
startPage();
|
||||||
request.setTradeType(AccTradeTypeEnum.SUBSIDY.getKey());
|
request.setTradeType(AccTradeTypeEnum.SUBSIDY.getKey());
|
||||||
return getDataTable(accSubService.queryAccSubOperationList(request));
|
return getDataTable(accSubService.queryAccSubOperationList(request));
|
||||||
|
|
@ -73,7 +73,7 @@ public class AccSubsidyController extends BaseController {
|
||||||
|
|
||||||
@ApiOperation("补贴清空记录")
|
@ApiOperation("补贴清空记录")
|
||||||
@PostMapping({"/clear/history"})
|
@PostMapping({"/clear/history"})
|
||||||
public TableDataInfo queryAccSubOperationClearList(@RequestBody AccSubOperationQueryParam request) {
|
public TableDataInfo queryAccSubOperationClearList(@RequestBody AccWalletOperationQueryParam request) {
|
||||||
startPage();
|
startPage();
|
||||||
request.setTradeType(AccTradeTypeEnum.CLEAR.getKey());
|
request.setTradeType(AccTradeTypeEnum.CLEAR.getKey());
|
||||||
return getDataTable(accSubService.queryAccSubOperationList(request));
|
return getDataTable(accSubService.queryAccSubOperationList(request));
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class AccSubOperationQueryParam extends BaseEntity {
|
public class AccWalletOperationQueryParam extends BaseEntity {
|
||||||
@ApiModelProperty("查询组织id集合")
|
@ApiModelProperty("查询组织id集合")
|
||||||
private List<Long> deptIds;
|
private List<Long> deptIds;
|
||||||
@ApiModelProperty("开始时间")
|
@ApiModelProperty("开始时间")
|
||||||
|
|
@ -20,12 +20,12 @@ public class AccSubOperationQueryParam extends BaseEntity {
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private LocalDateTime endDateTime;
|
private LocalDateTime endDateTime;
|
||||||
@ApiModelProperty("交易类型")
|
@ApiModelProperty("交易类型")
|
||||||
@JsonIgnore
|
|
||||||
private Integer tradeType;
|
private Integer tradeType;
|
||||||
private String searchValue;
|
private String searchValue;
|
||||||
private String createBy;
|
private String createBy;
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
public AccSubOperationQueryParam() {
|
public AccWalletOperationQueryParam() {
|
||||||
this.endDateTime = LocalDateTime.now().plusDays(7);
|
this.endDateTime = LocalDateTime.now().plusDays(7);
|
||||||
this.startDateTime = LocalDateTime.now().minusDays(7);
|
this.startDateTime = LocalDateTime.now().minusDays(7);
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.bonus.canteen.core.account.domain.param;
|
||||||
|
|
||||||
|
import com.bonus.common.core.web.domain.BaseEntity;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.Max;
|
||||||
|
import javax.validation.constraints.Min;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class AccWithdrawParam extends BaseEntity {
|
||||||
|
@ApiModelProperty(value = "用户编号")
|
||||||
|
private @NotNull(
|
||||||
|
message = "用户编号不能为空"
|
||||||
|
) Long userId;
|
||||||
|
@ApiModelProperty(
|
||||||
|
value = "提现金额/分"
|
||||||
|
)
|
||||||
|
private @NotNull(
|
||||||
|
message = "提现金额不能为空"
|
||||||
|
) @Min(
|
||||||
|
value = 0L,
|
||||||
|
message = "提现不能小于0"
|
||||||
|
) BigDecimal amount;
|
||||||
|
}
|
||||||
|
|
@ -10,7 +10,7 @@ import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class AccSubOperationListVO {
|
public class AccOperationListVO {
|
||||||
@ApiModelProperty("补贴时间")
|
@ApiModelProperty("补贴时间")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private LocalDateTime tradeTime;
|
private LocalDateTime tradeTime;
|
||||||
|
|
@ -26,17 +26,17 @@ public class AccSubOperationListVO {
|
||||||
private Integer userType;
|
private Integer userType;
|
||||||
@ApiModelProperty("用户类别(展示)")
|
@ApiModelProperty("用户类别(展示)")
|
||||||
private String userTypeName;
|
private String userTypeName;
|
||||||
@ApiModelProperty("补贴金额")
|
@ApiModelProperty("金额")
|
||||||
private BigDecimal amount;
|
private BigDecimal amount;
|
||||||
@ApiModelProperty("补贴后补贴钱包余额")
|
@ApiModelProperty("钱包余额")
|
||||||
private BigDecimal walletBal;
|
private BigDecimal walletBal;
|
||||||
@ApiModelProperty("补贴记录交易状态")
|
@ApiModelProperty("交易状态")
|
||||||
private Integer tradeState;
|
private Integer tradeState;
|
||||||
@ApiModelProperty("充值结果名称")
|
@ApiModelProperty("结果名称")
|
||||||
private String tradeStateName;
|
private String tradeStateName;
|
||||||
@ApiModelProperty("操作员")
|
@ApiModelProperty("操作员")
|
||||||
private String createBy;
|
private String createBy;
|
||||||
@ApiModelProperty("补贴订单号")
|
@ApiModelProperty("交易单号")
|
||||||
private Long tradeId;
|
private Long tradeId;
|
||||||
|
|
||||||
public String getTradeStateName() {
|
public String getTradeStateName() {
|
||||||
|
|
@ -3,8 +3,8 @@ package com.bonus.canteen.core.account.mapper;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.bonus.canteen.core.account.domain.AccTrade;
|
import com.bonus.canteen.core.account.domain.AccTrade;
|
||||||
import com.bonus.canteen.core.account.domain.bo.TradeAndWallerInfo;
|
import com.bonus.canteen.core.account.domain.bo.TradeAndWallerInfo;
|
||||||
import com.bonus.canteen.core.account.domain.param.AccSubOperationQueryParam;
|
import com.bonus.canteen.core.account.domain.param.AccWalletOperationQueryParam;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccSubOperationListVO;
|
import com.bonus.canteen.core.account.domain.vo.AccOperationListVO;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccTradeVo;
|
import com.bonus.canteen.core.account.domain.vo.AccTradeVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
|
@ -69,8 +69,8 @@ public interface AccTradeMapper {
|
||||||
*/
|
*/
|
||||||
public int deleteAccTradeByTradeIds(Long[] tradeIds);
|
public int deleteAccTradeByTradeIds(Long[] tradeIds);
|
||||||
|
|
||||||
List<AccSubOperationListVO> queryAccSubOperationList(@Param("param") AccSubOperationQueryParam param,
|
List<AccOperationListVO> queryAccOperationList(@Param("param") AccWalletOperationQueryParam param,
|
||||||
@Param("encryptedSearchValue") String encryptedSearchValue);
|
@Param("encryptedSearchValue") String encryptedSearchValue);
|
||||||
|
|
||||||
List<TradeAndWallerInfo> queryTradeAndWallerInfoByOrderNo(@Param("orderNo") String orderNo,
|
List<TradeAndWallerInfo> queryTradeAndWallerInfoByOrderNo(@Param("orderNo") String orderNo,
|
||||||
@Param("accTradeType") Integer accTradeType);
|
@Param("accTradeType") Integer accTradeType);
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,8 @@ package com.bonus.canteen.core.account.service;
|
||||||
|
|
||||||
import com.bonus.canteen.core.account.domain.param.*;
|
import com.bonus.canteen.core.account.domain.param.*;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccBatchOperationWalletPreCheckVO;
|
import com.bonus.canteen.core.account.domain.vo.AccBatchOperationWalletPreCheckVO;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccSubOperationListVO;
|
import com.bonus.canteen.core.account.domain.vo.AccOperationListVO;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface AccSubService {
|
public interface AccSubService {
|
||||||
|
|
@ -20,6 +19,6 @@ public interface AccSubService {
|
||||||
|
|
||||||
AccBatchOperationWalletPreCheckVO batchOperationWalletClearCheck(AccSubsidyBatchClearParam param);
|
AccBatchOperationWalletPreCheckVO batchOperationWalletClearCheck(AccSubsidyBatchClearParam param);
|
||||||
|
|
||||||
List<AccSubOperationListVO> queryAccSubOperationList(AccSubOperationQueryParam param);
|
List<AccOperationListVO> queryAccSubOperationList(AccWalletOperationQueryParam param);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,12 @@ package com.bonus.canteen.core.account.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.bonus.canteen.core.account.domain.AccInfo;
|
import com.bonus.canteen.core.account.domain.AccInfo;
|
||||||
import com.bonus.canteen.core.account.domain.AccInfoVo;
|
|
||||||
import com.bonus.canteen.core.account.domain.WalletBalanceVO;
|
import com.bonus.canteen.core.account.domain.WalletBalanceVO;
|
||||||
import com.bonus.canteen.core.account.domain.param.*;
|
import com.bonus.canteen.core.account.domain.param.*;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccInfoDetailsVO;
|
import com.bonus.canteen.core.account.domain.vo.AccInfoDetailsVO;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccInfoInvalidSumVO;
|
import com.bonus.canteen.core.account.domain.vo.AccInfoInvalidSumVO;
|
||||||
|
import com.bonus.canteen.core.account.domain.vo.AccOperationListVO;
|
||||||
import com.bonus.system.api.domain.SysUser;
|
import com.bonus.system.api.domain.SysUser;
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 账户资料Service接口
|
* 账户资料Service接口
|
||||||
|
|
@ -73,5 +72,7 @@ public interface IAccInfoService {
|
||||||
AccInfoDetailsVO queryAccInfoByUserId(Long userId);
|
AccInfoDetailsVO queryAccInfoByUserId(Long userId);
|
||||||
void checkAccStatus(AccInfoDetailsVO accInfoVO);
|
void checkAccStatus(AccInfoDetailsVO accInfoVO);
|
||||||
void individualAccRecharge(AccRechargeParam param);
|
void individualAccRecharge(AccRechargeParam param);
|
||||||
|
void individualAccWithdraw(AccWithdrawParam param);
|
||||||
void individualAccLeaveClear(AccLeaveClearParam param);
|
void individualAccLeaveClear(AccLeaveClearParam param);
|
||||||
|
List<AccOperationListVO> queryAccPersonalWalOperationAddList(AccWalletOperationQueryParam param);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@ package com.bonus.canteen.core.account.service;
|
||||||
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
||||||
import com.bonus.canteen.core.account.domain.AccTrade;
|
import com.bonus.canteen.core.account.domain.AccTrade;
|
||||||
import com.bonus.canteen.core.account.domain.bo.TradeAndWallerInfo;
|
import com.bonus.canteen.core.account.domain.bo.TradeAndWallerInfo;
|
||||||
import com.bonus.canteen.core.account.domain.param.AccSubOperationQueryParam;
|
import com.bonus.canteen.core.account.domain.param.AccWalletOperationQueryParam;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccSubOperationListVO;
|
import com.bonus.canteen.core.account.domain.vo.AccOperationListVO;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccTradeVo;
|
import com.bonus.canteen.core.account.domain.vo.AccTradeVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -70,7 +70,7 @@ public interface IAccTradeService {
|
||||||
*/
|
*/
|
||||||
public int deleteAccTradeByTradeId(Long tradeId);
|
public int deleteAccTradeByTradeId(Long tradeId);
|
||||||
|
|
||||||
List<AccSubOperationListVO> queryAccSubOperationList(AccSubOperationQueryParam param);
|
List<AccOperationListVO> queryAccOperationList(AccWalletOperationQueryParam param);
|
||||||
|
|
||||||
List<TradeAndWallerInfo> queryTradeAndWallerInfoByOrderNo(String orderNo, AccTradeTypeEnum accTradeTypeEnum);
|
List<TradeAndWallerInfo> queryTradeAndWallerInfoByOrderNo(String orderNo, AccTradeTypeEnum accTradeTypeEnum);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,15 +13,15 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
||||||
import com.bonus.canteen.core.account.constants.AccWalletIdEnum;
|
import com.bonus.canteen.core.account.constants.AccWalletIdEnum;
|
||||||
import com.bonus.canteen.core.account.constants.AccStatusEnum;
|
import com.bonus.canteen.core.account.constants.AccStatusEnum;
|
||||||
import com.bonus.canteen.core.account.constants.WalletBalanceOperationEnum;
|
|
||||||
import com.bonus.canteen.core.account.domain.*;
|
import com.bonus.canteen.core.account.domain.*;
|
||||||
import com.bonus.canteen.core.account.domain.bo.WalletBalanceOperation;
|
|
||||||
import com.bonus.canteen.core.account.domain.param.*;
|
import com.bonus.canteen.core.account.domain.param.*;
|
||||||
|
import com.bonus.canteen.core.account.domain.vo.AccOperationListVO;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccWalletInfoVO;
|
import com.bonus.canteen.core.account.domain.vo.AccWalletInfoVO;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccInfoDetailsVO;
|
import com.bonus.canteen.core.account.domain.vo.AccInfoDetailsVO;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccInfoInvalidSumVO;
|
import com.bonus.canteen.core.account.domain.vo.AccInfoInvalidSumVO;
|
||||||
import com.bonus.canteen.core.account.mq.AccMqSender;
|
import com.bonus.canteen.core.account.mq.AccMqSender;
|
||||||
import com.bonus.canteen.core.account.service.AccOperationHistoryService;
|
import com.bonus.canteen.core.account.service.AccOperationHistoryService;
|
||||||
|
import com.bonus.canteen.core.account.service.IAccTradeService;
|
||||||
import com.bonus.canteen.core.account.service.IAccWalletInfoService;
|
import com.bonus.canteen.core.account.service.IAccWalletInfoService;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -30,7 +30,6 @@ import cn.hutool.json.JSONUtil;
|
||||||
import com.bonus.canteen.core.account.domain.AccInfoVo;
|
import com.bonus.canteen.core.account.domain.AccInfoVo;
|
||||||
import com.bonus.canteen.core.account.domain.AccWalletInfo;
|
import com.bonus.canteen.core.account.domain.AccWalletInfo;
|
||||||
import com.bonus.canteen.core.account.domain.WalletBalanceVO;
|
import com.bonus.canteen.core.account.domain.WalletBalanceVO;
|
||||||
import com.bonus.canteen.core.account.utils.AccRedisUtils;
|
|
||||||
import com.bonus.canteen.core.common.utils.MqUtil;
|
import com.bonus.canteen.core.common.utils.MqUtil;
|
||||||
import com.bonus.canteen.core.pay.constants.PayChannelEnum;
|
import com.bonus.canteen.core.pay.constants.PayChannelEnum;
|
||||||
import com.bonus.canteen.core.pay.constants.PayTypeEnum;
|
import com.bonus.canteen.core.pay.constants.PayTypeEnum;
|
||||||
|
|
@ -46,7 +45,6 @@ import com.bonus.system.api.domain.SysUser;
|
||||||
import com.bonus.common.houqin.utils.SM4EncryptUtils;
|
import com.bonus.common.houqin.utils.SM4EncryptUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.core.task.AsyncTaskExecutor;
|
import org.springframework.core.task.AsyncTaskExecutor;
|
||||||
|
|
@ -74,7 +72,8 @@ public class AccInfoServiceImpl implements IAccInfoService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private AccOperationHistoryService accOperationHistoryService;
|
private AccOperationHistoryService accOperationHistoryService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AccMqSender accMqSender;
|
@Lazy
|
||||||
|
IAccTradeService accTradeService;
|
||||||
|
|
||||||
@Resource(
|
@Resource(
|
||||||
name = "smartCanteenTaskExecutor"
|
name = "smartCanteenTaskExecutor"
|
||||||
|
|
@ -413,6 +412,29 @@ public class AccInfoServiceImpl implements IAccInfoService {
|
||||||
log.error("发送MQ消息失败", e);
|
log.error("发送MQ消息失败", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public void individualAccWithdraw(AccWithdrawParam param) {
|
||||||
|
AccInfoDetailsVO accInfoVO = queryAccInfoByUserId(param.getUserId());
|
||||||
|
if(Objects.isNull(accInfoVO)) {
|
||||||
|
throw new ServiceException("账户不存在");
|
||||||
|
}
|
||||||
|
checkAccStatus(accInfoVO);
|
||||||
|
WalletUpdateDTO walletUpdateDTO = new WalletUpdateDTO();
|
||||||
|
walletUpdateDTO.setAmount(param.getAmount());
|
||||||
|
walletUpdateDTO.setUserId(param.getUserId());
|
||||||
|
walletUpdateDTO.setAccWalletIdEnum(AccWalletIdEnum.WALLET);
|
||||||
|
walletUpdateDTO.setAccTradeTypeEnum(AccTradeTypeEnum.WITHDRAW);
|
||||||
|
walletUpdateDTO.setPayChannelEnum(PayChannelEnum.GC_SYSTEM);
|
||||||
|
walletUpdateDTO.setPayTypeEnum(PayTypeEnum.MEAL_CARD);
|
||||||
|
accWalletInfoService.clearAccWalletBalance(walletUpdateDTO);
|
||||||
|
try {
|
||||||
|
DeviceMqPersonalUpdateMessageDTO bean = new DeviceMqPersonalUpdateMessageDTO().setUpdatePerson(Math.toIntExact(param.getUserId()),"update");
|
||||||
|
String jsonString = JacksonUtil.writeValueAsString(bean);
|
||||||
|
log.info("账户变动发送mq内容:{}", jsonString);
|
||||||
|
MqUtil.pushToTenantAllDevice(bean, LeMqConstant.Topic.DEVICE_UPDATE_PERSONAL_CONFIG_V4);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("发送MQ消息失败", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
@Transactional(
|
@Transactional(
|
||||||
rollbackFor = {Exception.class}
|
rollbackFor = {Exception.class}
|
||||||
)
|
)
|
||||||
|
|
@ -445,4 +467,12 @@ public class AccInfoServiceImpl implements IAccInfoService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public List<AccOperationListVO> queryAccPersonalWalOperationAddList(AccWalletOperationQueryParam param) {
|
||||||
|
List<AccOperationListVO> operationListVOList = accTradeService.queryAccOperationList(param);
|
||||||
|
operationListVOList = operationListVOList.stream().peek(operation -> {
|
||||||
|
operation.setPhoneNumber(SM4EncryptUtils.sm4Decrypt(operation.getPhoneNumber()));
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
return operationListVOList ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,15 +3,13 @@ package com.bonus.canteen.core.account.service.impl;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
||||||
import com.bonus.canteen.core.account.constants.AccWalletIdEnum;
|
import com.bonus.canteen.core.account.constants.AccWalletIdEnum;
|
||||||
import com.bonus.canteen.core.account.constants.WalletBalanceOperationEnum;
|
|
||||||
import com.bonus.canteen.core.account.domain.AccWalletInfo;
|
import com.bonus.canteen.core.account.domain.AccWalletInfo;
|
||||||
import com.bonus.canteen.core.account.domain.WalletUpdateDTO;
|
import com.bonus.canteen.core.account.domain.WalletUpdateDTO;
|
||||||
import com.bonus.canteen.core.account.domain.bo.WalletBalanceOperation;
|
|
||||||
import com.bonus.canteen.core.account.domain.param.*;
|
import com.bonus.canteen.core.account.domain.param.*;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccBatchOperationWallerErrorVO;
|
import com.bonus.canteen.core.account.domain.vo.AccBatchOperationWallerErrorVO;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccBatchOperationWalletPreCheckVO;
|
import com.bonus.canteen.core.account.domain.vo.AccBatchOperationWalletPreCheckVO;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccInfoDetailsVO;
|
import com.bonus.canteen.core.account.domain.vo.AccInfoDetailsVO;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccSubOperationListVO;
|
import com.bonus.canteen.core.account.domain.vo.AccOperationListVO;
|
||||||
import com.bonus.canteen.core.account.service.AccSubService;
|
import com.bonus.canteen.core.account.service.AccSubService;
|
||||||
import com.bonus.canteen.core.account.service.IAccInfoService;
|
import com.bonus.canteen.core.account.service.IAccInfoService;
|
||||||
import com.bonus.canteen.core.account.service.IAccTradeService;
|
import com.bonus.canteen.core.account.service.IAccTradeService;
|
||||||
|
|
@ -368,8 +366,8 @@ public class AccSubServiceImpl implements AccSubService {
|
||||||
return errVO;
|
return errVO;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public List<AccSubOperationListVO> queryAccSubOperationList(AccSubOperationQueryParam param) {
|
public List<AccOperationListVO> queryAccSubOperationList(AccWalletOperationQueryParam param) {
|
||||||
List<AccSubOperationListVO> operationListVOList = accTradeService.queryAccSubOperationList(param);
|
List<AccOperationListVO> operationListVOList = accTradeService.queryAccOperationList(param);
|
||||||
operationListVOList = operationListVOList.stream().peek(operation -> {
|
operationListVOList = operationListVOList.stream().peek(operation -> {
|
||||||
operation.setPhoneNumber(SM4EncryptUtils.sm4Decrypt(operation.getPhoneNumber()));
|
operation.setPhoneNumber(SM4EncryptUtils.sm4Decrypt(operation.getPhoneNumber()));
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@ package com.bonus.canteen.core.account.service.impl;
|
||||||
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
||||||
import com.bonus.canteen.core.account.domain.AccTrade;
|
import com.bonus.canteen.core.account.domain.AccTrade;
|
||||||
import com.bonus.canteen.core.account.domain.bo.TradeAndWallerInfo;
|
import com.bonus.canteen.core.account.domain.bo.TradeAndWallerInfo;
|
||||||
import com.bonus.canteen.core.account.domain.param.AccSubOperationQueryParam;
|
import com.bonus.canteen.core.account.domain.param.AccWalletOperationQueryParam;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccSubOperationListVO;
|
import com.bonus.canteen.core.account.domain.vo.AccOperationListVO;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccTradeVo;
|
import com.bonus.canteen.core.account.domain.vo.AccTradeVo;
|
||||||
import com.bonus.canteen.core.account.mapper.AccTradeMapper;
|
import com.bonus.canteen.core.account.mapper.AccTradeMapper;
|
||||||
import com.bonus.canteen.core.account.service.IAccTradeService;
|
import com.bonus.canteen.core.account.service.IAccTradeService;
|
||||||
|
|
@ -130,9 +130,9 @@ public class AccTradeServiceImpl implements IAccTradeService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<AccSubOperationListVO> queryAccSubOperationList(AccSubOperationQueryParam param) {
|
public List<AccOperationListVO> queryAccOperationList(AccWalletOperationQueryParam param) {
|
||||||
String encryptedSearchValue = SM4EncryptUtils.sm4Encrypt(param.getSearchValue());
|
String encryptedSearchValue = SM4EncryptUtils.sm4Encrypt(param.getSearchValue());
|
||||||
return accTradeMapper.queryAccSubOperationList(param, encryptedSearchValue);
|
return accTradeMapper.queryAccOperationList(param, encryptedSearchValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
package com.bonus.canteen.core.pay.constants;
|
|
||||||
|
|
||||||
public enum TradeTypeEnum {
|
|
||||||
RECHARGE(1, "充值"),
|
|
||||||
RECHARGE_REFUND(2, "充值退款"),
|
|
||||||
CONSUME(3, "消费"),
|
|
||||||
CONSUME_REFUND(4, "消费退款");
|
|
||||||
|
|
||||||
private final Integer key;
|
|
||||||
private final String desc;
|
|
||||||
|
|
||||||
private TradeTypeEnum(Integer key, String desc) {
|
|
||||||
this.key = key;
|
|
||||||
this.desc = desc;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getKey() {
|
|
||||||
return this.key;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDesc() {
|
|
||||||
return this.desc;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -224,7 +224,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<select id="queryAccSubOperationList" resultType="com.bonus.canteen.core.account.domain.vo.AccSubOperationListVO">
|
<select id="queryAccOperationList" resultType="com.bonus.canteen.core.account.domain.vo.AccOperationListVO">
|
||||||
SELECT ate.trade_time,
|
SELECT ate.trade_time,
|
||||||
ate.user_id,
|
ate.user_id,
|
||||||
su.nick_name,
|
su.nick_name,
|
||||||
|
|
@ -261,8 +261,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="param.searchValue != null and param.searchValue != ''">
|
<if test="param.searchValue != null and param.searchValue != ''">
|
||||||
and (su.nick_name = #{param.searchValue}
|
and (su.nick_name = #{param.searchValue}
|
||||||
or su.phonenumber = #{encryptedSearchValue}
|
or su.phonenumber = #{encryptedSearchValue}
|
||||||
|
or su.user_id like CONCAT('%',#{param.searchValue},'%')
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
|
<if test="param.userId != null">
|
||||||
|
and ate.user_id = #{param.userId}
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
order by atwd.id desc
|
order by atwd.id desc
|
||||||
</select>
|
</select>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue