Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
ad1a3b605b
|
|
@ -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,7 +69,7 @@ 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,
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
@ -15,6 +15,8 @@ import com.bonus.common.houqin.utils.id.Id;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -63,6 +65,7 @@ public class AccTradeServiceImpl implements IAccTradeService {
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||||
public int insertAccTrade(AccTrade accTrade) {
|
public int insertAccTrade(AccTrade accTrade) {
|
||||||
accTrade.setCreateTime(DateUtils.getNowDate());
|
accTrade.setCreateTime(DateUtils.getNowDate());
|
||||||
return accTradeMapper.insertAccTrade(accTrade);
|
return accTradeMapper.insertAccTrade(accTrade);
|
||||||
|
|
@ -88,6 +91,7 @@ public class AccTradeServiceImpl implements IAccTradeService {
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||||
public int updateAccTrade(AccTrade accTrade) {
|
public int updateAccTrade(AccTrade accTrade) {
|
||||||
accTrade.setUpdateTime(DateUtils.getNowDate());
|
accTrade.setUpdateTime(DateUtils.getNowDate());
|
||||||
try {
|
try {
|
||||||
|
|
@ -130,9 +134,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
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ import com.bonus.common.houqin.utils.id.Id;
|
||||||
import com.bonus.common.security.utils.SecurityUtils;
|
import com.bonus.common.security.utils.SecurityUtils;
|
||||||
import com.bonus.system.api.RemoteUserService;
|
import com.bonus.system.api.RemoteUserService;
|
||||||
import com.bonus.system.api.domain.SysUser;
|
import com.bonus.system.api.domain.SysUser;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.checkerframework.checker.units.qual.A;
|
import org.checkerframework.checker.units.qual.A;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
@ -242,7 +243,16 @@ public class AccWalletInfoServiceImpl implements IAccWalletInfoService {
|
||||||
|
|
||||||
|
|
||||||
private void acWalletBalanceOperation(WalletBalanceOperation operation) {
|
private void acWalletBalanceOperation(WalletBalanceOperation operation) {
|
||||||
|
Long tradeId = null;
|
||||||
try{
|
try{
|
||||||
|
List<AccWalletInfo> walletInfoList = selectAccWalletInfoByUserId(operation.getUserId());
|
||||||
|
BigDecimal accBalTotal = walletInfoList.stream().map(AccWalletInfo::getWalletBal)
|
||||||
|
.filter(ObjectUtil::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
tradeId = insertAccTradeRecode(operation, accBalTotal);
|
||||||
|
if(WalletBalanceOperationEnum.getEnum(operation.getOperationType()) == null) {
|
||||||
|
throw new ServiceException("钱包操作类型不存在");
|
||||||
|
}
|
||||||
|
|
||||||
switch (WalletBalanceOperationEnum.getEnum(operation.getOperationType())) {
|
switch (WalletBalanceOperationEnum.getEnum(operation.getOperationType())) {
|
||||||
case ADD_BAL:
|
case ADD_BAL:
|
||||||
addAccWalletInfo(operation);
|
addAccWalletInfo(operation);
|
||||||
|
|
@ -253,9 +263,52 @@ public class AccWalletInfoServiceImpl implements IAccWalletInfoService {
|
||||||
default:
|
default:
|
||||||
throw new ServiceException("钱包操作类型错误");
|
throw new ServiceException("钱包操作类型错误");
|
||||||
}
|
}
|
||||||
List<AccWalletInfo> walletInfoList = selectAccWalletInfoByUserId(operation.getUserId());
|
walletInfoList = selectAccWalletInfoByUserId(operation.getUserId());
|
||||||
BigDecimal accBalTotal = walletInfoList.stream().map(AccWalletInfo::getWalletBal)
|
AccTradeWalletDetail accTradeWalletDetail = new AccTradeWalletDetail();
|
||||||
.filter(ObjectUtil::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
accTradeWalletDetail.setTradeId(tradeId);
|
||||||
|
accTradeWalletDetail.setUserId(operation.getUserId());
|
||||||
|
accTradeWalletDetail.setTradeType(operation.getTradeType());
|
||||||
|
accTradeWalletDetail.setAmount(operation.getAmount());
|
||||||
|
accTradeWalletDetail.setWalletId(operation.getWalletId());
|
||||||
|
BigDecimal walletBalByWalletId = walletInfoList.stream().filter((item) -> {
|
||||||
|
return item.getWalletId().equals(operation.getWalletId());
|
||||||
|
}).map(AccWalletInfo::getWalletBal).filter(ObjectUtil::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
accTradeWalletDetail.setWalletBal(walletBalByWalletId);
|
||||||
|
accTradeWalletDetail.setTradeTime(DateUtils.getNowDate());
|
||||||
|
accTradeWalletDetail.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
this.accTradeWalletDetailService.insertAccTradeWalletDetail(accTradeWalletDetail);
|
||||||
|
AccTrade accTrade = new AccTrade();
|
||||||
|
accTrade.setTradeId(tradeId);
|
||||||
|
accTrade.setPayState(PayStateEnum.PAY_SUCC.getKey());
|
||||||
|
accTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey());
|
||||||
|
accTrade.setUpdateBy(SecurityUtils.getUsername());
|
||||||
|
this.accTradeService.updateAccTrade(accTrade);
|
||||||
|
}catch (Exception ex) {
|
||||||
|
if(Objects.nonNull(tradeId)) {
|
||||||
|
AccTrade accTrade = new AccTrade();
|
||||||
|
accTrade.setTradeId(tradeId);
|
||||||
|
accTrade.setPayState(PayStateEnum.PAY_FAIL.getKey());
|
||||||
|
accTrade.setTradeState(AccTradeStateEnum.CANCELED.getKey());
|
||||||
|
accTrade.setUpdateBy(SecurityUtils.getUsername());
|
||||||
|
accTrade.setFailReason(StringUtils.substring(ex.getMessage(), 0, 100));
|
||||||
|
this.accTradeService.updateAccTrade(accTrade);
|
||||||
|
}
|
||||||
|
log.error("修改钱包失败", ex);
|
||||||
|
throw new ServiceException("修改钱包失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addAccWalletInfo(WalletBalanceOperation operation) {
|
||||||
|
accWalletInfoMapper.addAccWalletInfo(operation.getAmount(), operation.getUserId(), operation.getWalletId(),
|
||||||
|
SecurityUtils.getUserId().toString(), DateUtils.toLocalDateTime(new Date()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void reduceAccWalletInfo(WalletBalanceOperation operation) {
|
||||||
|
accWalletInfoMapper.reduceAccWalletInfo(operation.getAmount(), operation.getUserId(), operation.getWalletId(),
|
||||||
|
SecurityUtils.getUserId().toString(), DateUtils.toLocalDateTime(new Date()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private long insertAccTradeRecode(WalletBalanceOperation operation, BigDecimal accBalTotal) {
|
||||||
AjaxResult userResult = remoteUserService.getInfo(operation.getUserId() , SecurityConstants.INNER);
|
AjaxResult userResult = remoteUserService.getInfo(operation.getUserId() , SecurityConstants.INNER);
|
||||||
SysUser sysUser = null;
|
SysUser sysUser = null;
|
||||||
if(Objects.nonNull(userResult)) {
|
if(Objects.nonNull(userResult)) {
|
||||||
|
|
@ -271,8 +324,8 @@ public class AccWalletInfoServiceImpl implements IAccWalletInfoService {
|
||||||
accTrade.setActualAmount(operation.getAmount());
|
accTrade.setActualAmount(operation.getAmount());
|
||||||
accTrade.setWalletBalTotal(accBalTotal);
|
accTrade.setWalletBalTotal(accBalTotal);
|
||||||
accTrade.setAccAllBal(accBalTotal);
|
accTrade.setAccAllBal(accBalTotal);
|
||||||
accTrade.setPayState(PayStateEnum.PAY_SUCC.getKey());
|
accTrade.setPayState(PayStateEnum.PAY_INPROCESS.getKey());
|
||||||
accTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey());
|
accTrade.setTradeState(AccTradeStateEnum.CREATE.getKey());
|
||||||
accTrade.setUserId(operation.getUserId());
|
accTrade.setUserId(operation.getUserId());
|
||||||
accTrade.setPayChannel(operation.getPayChannel());
|
accTrade.setPayChannel(operation.getPayChannel());
|
||||||
accTrade.setPayType(operation.getPayType());
|
accTrade.setPayType(operation.getPayType());
|
||||||
|
|
@ -284,33 +337,6 @@ public class AccWalletInfoServiceImpl implements IAccWalletInfoService {
|
||||||
accTrade.setOrderNo(operation.getOrderNo().toString());
|
accTrade.setOrderNo(operation.getOrderNo().toString());
|
||||||
}
|
}
|
||||||
this.accTradeService.insertAccTrade(accTrade);
|
this.accTradeService.insertAccTrade(accTrade);
|
||||||
|
return tradeId;
|
||||||
AccTradeWalletDetail accTradeWalletDetail = new AccTradeWalletDetail();
|
|
||||||
accTradeWalletDetail.setTradeId(tradeId);
|
|
||||||
accTradeWalletDetail.setUserId(operation.getUserId());
|
|
||||||
accTradeWalletDetail.setTradeType(operation.getTradeType());
|
|
||||||
accTradeWalletDetail.setAmount(operation.getAmount());
|
|
||||||
accTradeWalletDetail.setWalletId(operation.getWalletId());
|
|
||||||
BigDecimal walletBalByWalletId = walletInfoList.stream().filter((item) -> {
|
|
||||||
return item.getWalletId().equals(operation.getWalletId());
|
|
||||||
}).map(AccWalletInfo::getWalletBal).filter(ObjectUtil::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
accTradeWalletDetail.setWalletBal(walletBalByWalletId);
|
|
||||||
accTradeWalletDetail.setTradeTime(DateUtils.getNowDate());
|
|
||||||
accTradeWalletDetail.setCreateBy(SecurityUtils.getUsername());
|
|
||||||
this.accTradeWalletDetailService.insertAccTradeWalletDetail(accTradeWalletDetail);
|
|
||||||
}catch (Exception ex) {
|
|
||||||
log.error("修改钱包失败", ex);
|
|
||||||
throw new ServiceException("修改钱包失败");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addAccWalletInfo(WalletBalanceOperation operation) {
|
|
||||||
accWalletInfoMapper.addAccWalletInfo(operation.getAmount(), operation.getUserId(), operation.getWalletId(),
|
|
||||||
SecurityUtils.getUserId().toString(), DateUtils.toLocalDateTime(new Date()));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void reduceAccWalletInfo(WalletBalanceOperation operation) {
|
|
||||||
accWalletInfoMapper.reduceAccWalletInfo(operation.getAmount(), operation.getUserId(), operation.getWalletId(),
|
|
||||||
SecurityUtils.getUserId().toString(), DateUtils.toLocalDateTime(new Date()));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -280,7 +284,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
inner join acc_trade_wallet_detail atwd on
|
inner join acc_trade_wallet_detail atwd on
|
||||||
ate.trade_id = atwd.trade_id
|
ate.trade_id = atwd.trade_id
|
||||||
where
|
where
|
||||||
ate.order_no = #{orderNo}
|
ate.pay_state = 3
|
||||||
|
and ate.order_no = #{orderNo}
|
||||||
and ate.trade_type = #{accTradeType}
|
and ate.trade_type = #{accTradeType}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue