充值记录

This commit is contained in:
齐天大圣 2023-12-25 14:41:17 +08:00
parent 5cc1c5bb3f
commit 42869c8cd7
12 changed files with 417 additions and 466 deletions

View File

@ -78,7 +78,7 @@ public class CardValueRecordController extends BaseController {
* @return 新增结果
*/
@PostMapping
public ResponseObject insert(@RequestBody CardValueRecordDTO cardValueRecordDTO) {
public ResponseObject insert(@RequestBody CardValueRecordDTO cardValueRecordDTO) throws Exception {
return getSuccessResult(this.cardValueRecordService.insert(cardValueRecordDTO));
}
@ -168,5 +168,15 @@ public class CardValueRecordController extends BaseController {
Page page = new Page(pageNo, pageSize);
return getSuccessResult(this.cardValueRecordService.selectAllRecord(page, cardValueRecord));
}
/**
* 测试充值后续操作
* @param orderNo
* @return
*/
@GetMapping("/testCharge/{orderNo}")
public void testCharge(@PathVariable String orderNo) {
this.cardValueRecordService.rechargeFinallDeal(orderNo);
}
}

View File

@ -3,6 +3,7 @@ package com.fuint.business.marketingActivity.cardValue.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fuint.api.fuyou.entity.ReturnParameter;
import com.fuint.business.integral.entity.IntegralDetail;
import com.fuint.business.marketingActivity.cardValue.dto.CardValueRecordDTO;
import com.fuint.business.marketingActivity.cardValue.entity.CardValueRecord;
@ -10,6 +11,7 @@ import com.fuint.business.petrolStationManagement.entity.OilGun;
import io.lettuce.core.dynamic.annotation.Param;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
/**
* 储值充值表(CardValueRecord)表服务接口
@ -25,7 +27,15 @@ public interface CardValueRecordService extends IService<CardValueRecord> {
* @param cardValueRecordDTO
* @return
*/
boolean insert(CardValueRecordDTO cardValueRecordDTO);
ReturnParameter insert(CardValueRecordDTO cardValueRecordDTO) throws Exception;
/**
* 新增储值卡充值记录
*
* @param orderNo
* @return
*/
boolean insert(String orderNo);
/**
* 余额充值
@ -47,4 +57,5 @@ public interface CardValueRecordService extends IService<CardValueRecord> {
IPage<CardValueRecordDTO> selectAllRecord(@Param("page") Page page, CardValueRecordDTO cardValueRecord);
void export(HttpServletResponse response, CardValueRecord cardValueRecord);
void rechargeFinallDeal(String orderNo);
}

View File

@ -2,23 +2,36 @@ package com.fuint.business.marketingActivity.cardValue.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuint.api.fuyou.entity.MerchantConfig;
import com.fuint.api.fuyou.entity.ReceiveParameter;
import com.fuint.api.fuyou.entity.ReturnParameter;
import com.fuint.api.fuyou.service.FyPayService;
import com.fuint.api.fuyou.service.MerchantConfigService;
import com.fuint.business.commission.entity.CommissionRecord;
import com.fuint.business.commission.service.CommissionRecordService;
import com.fuint.business.integral.entity.IntegralDetail;
import com.fuint.business.integral.service.IntegralDetailService;
import com.fuint.business.marketingActivity.cardExchange.entity.CardExchange;
import com.fuint.business.marketingActivity.cardExchange.service.CardExchangeService;
import com.fuint.business.marketingActivity.cardFavorable.entity.CardFavorable;
import com.fuint.business.marketingActivity.cardFavorable.service.CardFavorableService;
import com.fuint.business.marketingActivity.cardValue.dto.CardValueRecordDTO;
import com.fuint.business.marketingActivity.cardValue.entity.CardValueChild;
import com.fuint.business.marketingActivity.cardValue.mapper.CardValueRecordMapper;
import com.fuint.business.marketingActivity.cardValue.entity.CardValueRecord;
import com.fuint.business.marketingActivity.cardValue.service.CardValueRecordService;
import com.fuint.business.marketingActivity.cardValue.service.CardValueService;
import com.fuint.business.marketingActivity.cardValue.vo.CardValueVO;
import com.fuint.business.marketingActivity.cardValue.vo.Excel.CardValueRecordExcel;
import com.fuint.business.marketingActivity.cardValueOrders.entity.CardValueOrders;
import com.fuint.business.marketingActivity.cardValueOrders.service.CardValueOrdersService;
import com.fuint.business.marketingActivity.cardValueOrders.entity.CardValueOrders;
import com.fuint.business.member.entity.LJStaff;
import com.fuint.business.member.service.ILJStaffService;
import com.fuint.business.order.entity.CardBalanceChange;
import com.fuint.business.order.service.CardBalanceChangeService;
import com.fuint.business.userManager.entity.UserBalance;
@ -29,9 +42,11 @@ import com.fuint.common.dto.AccountInfo;
import com.fuint.common.util.RocketUtil;
import com.fuint.common.util.TokenUtil;
import com.fuint.repository.mapper.MtStaffMapper;
import com.fuint.repository.model.MtBalance;
import com.fuint.repository.model.MtStaff;
import io.lettuce.core.dynamic.annotation.Param;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -54,44 +69,83 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
@Resource
private LJUserMapper ljUserMapper;
@Resource
private ILJStaffService mtStaffService;
@Resource
private UserBalanceService userBalanceService;
@Autowired
private MerchantConfigService merchantConfigService;
@Autowired
private FyPayService fyPayService;
@Resource
CardBalanceChangeService cardBalanceChangeService;
@Resource
IntegralDetailService integralDetailService;
@Resource
CommissionRecordService commissionRecordService;
@Resource
CardValueRecordMapper cardValueRecordMapper;
@Resource
RocketUtil rocketUtil;
@Resource
private MtStaffMapper mtStaffMapper;
@Resource
private CardValueOrdersService cardValueOrdersService;
@Resource
private CardValueService cardValueService;
@Resource
private CardFavorableService cardFavorableService;
@Resource
private CardExchangeService cardExchangeService;
/**
* 储值卡充值新增
* @param cardValueRecordDTO
* @return
*/
@Override
public boolean insert(CardValueRecordDTO cardValueRecordDTO) {
boolean pay = false;
@Transactional
public ReturnParameter insert(CardValueRecordDTO cardValueRecordDTO) throws Exception {
Double cardFavorableValue = 0.0;
Map<String,Object> map = new HashMap<>();
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
//订单信息
CardValueOrders cardValueOrders = new CardValueOrders();
//会员信息
LJUserVo ljUserVo = ljUserMapper.selectUserById(nowAccountInfo.getId());
//员工信息
LJStaff ljStaff = mtStaffService.selectStaffById(cardValueRecordDTO.getMtStaffId());
//查询储值卡信息
CardValueVO cardValue = cardValueService.getOneById(cardValueRecordDTO.getId());
cardValueOrders.setCardValueId(cardValue.getId());
cardValueOrders.setRechargeType("0");
cardValueOrders.setBidBalance(cardValue.getBidBalance());
cardValueOrders.setRechargeBalance(cardValue.getRechargeBalance());
if (ObjectUtils.isNotEmpty(cardValue.getGiftBalance())){
cardValueOrders.setGiftBalance(cardValue.getGiftBalance());
}
cardValueOrders.setPoints(cardValue.getPoints());
cardValueOrders.setGrowthValue(cardValue.getGrowthValue());
if (ObjectUtils.isNotEmpty(cardValue.getFringeBenefit())){
cardValueOrders.setFringeBenefit(cardValue.getFringeBenefit());
}
//查询储值卡对应的优惠券列表
List<CardFavorable> cardValueVouchers = getCardValueVouchers(cardValue);
//筛选符合条件的优惠券并计算优惠金额
if (CollectionUtils.isNotEmpty(cardValueVouchers)) {
for (CardFavorable cardValueVoucher : cardValueVouchers) {
cardValueOrders.setCardFavorableId(cardValueVoucher.getId());
if (cardValue.getRechargeBalance() >= cardValueVoucher.getSatisfiedAmount()) {
cardFavorableValue += cardValueVoucher.getDiscountAmount();
}
}
}
//查询储值卡对应的兑换券列表
List<CardExchange> cardExchangeVouchers = getCardExchangeVouchers(cardValue);
if (CollectionUtils.isNotEmpty(cardExchangeVouchers)){
for (CardExchange cardExchangeVoucher : cardExchangeVouchers) {
cardValueOrders.setCardExchangeId(cardExchangeVoucher.getId());
}
}
//订单号
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String timestamp = dateFormat.format(new Date());
@ -100,44 +154,109 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
cardValueOrders.setOrderNo(orderNo);
//付款类型
cardValueOrders.setPayType(cardValueRecordDTO.getPayType());
cardValueOrders.setStoreId(nowAccountInfo.getStoreId());
cardValueOrders.setUserId(nowAccountInfo.getId());
//订单金额
cardValueOrders.setAmount(0.1);
//支付金额
cardValueOrders.setPayAmount(0.2);
//优惠金额
cardValueOrders.setDiscount(0.1);
cardValueOrders.setStaffId(cardValueRecordDTO.getMtStaffId());
//
pay = cardValueOrdersService.save(cardValueOrders);
//生成订单之后调用支付接口
MerchantConfig merchantConfig = merchantConfigService.selectMeChByIsUse("1");
Map<String,String> map = new HashMap<>();
map.put("authCode",cardValueRecordDTO.getAuthCode());
map.put("allAmount",cardValueOrders.getAmount().toString());
map.put("orderNo",orderNo);
map.put("payType",cardValueRecordDTO.getPaymentType());
map.put("insCd",merchantConfig.getInsCd());
map.put("mchntCd",merchantConfig.getMchntCd());
map.put("goodsDes",merchantConfig.getMerchantName());
map.put("publicKey",merchantConfig.getPublicKey());
map.put("privateKey",merchantConfig.getPrivateKey());
map.put("type","CVR");
map.put("orderId",cardValueRecordDTO.getId().toString());
// 调用支付接口
try {
fyPayService.applet(map);
pay = true;
} catch (Exception e){
e.printStackTrace();
//用户信息
cardValueOrders.setStoreId(ljUserVo.getStoreId());
cardValueOrders.setMtUserId(ljUserVo.getId());
cardValueOrders.setName(ljUserVo.getName());
cardValueOrders.setMobile(ljUserVo.getMobile());
//员工信息
cardValueOrders.setStaffId(ljStaff.getId());
cardValueOrders.setRealName(ljStaff.getRealName());
cardValueOrders.setStaffMobile(ljStaff.getMobile());
//员工提成信息
if (ObjectUtils.isNotEmpty(cardValue.getRoyaltyType())){
cardValueOrders.setRoyaltyType(cardValue.getRoyaltyType());
if (cardValue.getRoyaltyType().equals("3")){
cardValueOrders.setAmountCommission(cardValue.getRechargeBalance() * cardValue.getPercentageCommissions());
}
}
//支付成功之后添加充值记录
if (ObjectUtils.isNotEmpty(cardValue.getAmountCommission())){
cardValueOrders.setAmountCommission(cardValue.getAmountCommission());
}
//订单金额
cardValueOrders.setAmount(0.02);
/*if (ObjectUtils.isNotEmpty(cardValue.getGiftBalance())){
//订单金额
cardValueOrders.setAmount(cardValue.getRechargeBalance());
//支付金额
cardValueOrders.setPayAmount(cardValue.getRechargeBalance() - cardValue.getGiftBalance() - cardFavorableValue);
}*/
//支付金额
cardValueOrders.setPayAmount(0.01);
//优惠金额
if (ObjectUtils.isNotEmpty(cardValue.getGiftBalance())){
cardValueOrders.setDiscount(cardValue.getGiftBalance() + cardFavorableValue);
}
cardValueOrders.setStatus("unpaid");
//生成订单
boolean save = cardValueOrdersService.save(cardValueOrders);
if (save) {
//生成订单之后调用支付接口
ReceiveParameter receiveParameter = new ReceiveParameter();
//封装支付参数
receiveParameter.setOrderNo(orderNo);
receiveParameter.setType("3");
receiveParameter.setStoreId(nowAccountInfo.getStoreId());
receiveParameter.setGoodsMoney(cardValueOrders.getPayAmount());
receiveParameter.setPayType(cardValueRecordDTO.getPayType());
receiveParameter.setUserId(nowAccountInfo.getId());
receiveParameter.setContent("储值卡充值");
// 调用支付接口
try {
map = fyPayService.applet(receiveParameter);
} catch (Exception e) {
e.printStackTrace();
}
}
/*//支付成功之后添加充值记录
pay = addCardValueRecord(cardValueRecordDTO);
// 支付 payment_type
return pay;
*/
if (map.get("code").equals("success")){
return JSONObject.parseObject(JSONObject.toJSONString(map.get("data")),ReturnParameter.class);
}else {
throw new Exception(map.get("msg").toString());
}
}
private List<CardExchange> getCardExchangeVouchers(CardValueVO cardValue) {
ArrayList<CardExchange> cardExchangeArrayList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(cardValue.getCardValueChildList())){
for (CardValueChild cardValueChild : cardValue.getCardValueChildList()) {
//如果是兑换券
if (cardValueChild.getActiveGift().equals("2")){
cardExchangeArrayList.add(cardExchangeService.getById(cardValueChild.getVouchersId()));
}
}
}
return cardExchangeArrayList;
}
private List<CardFavorable> getCardValueVouchers(CardValueVO cardValue) {
ArrayList<CardFavorable> cardFavorableArrayList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(cardValue.getCardValueChildList())){
for (CardValueChild cardValueChild : cardValue.getCardValueChildList()) {
//如果是优惠券
if (cardValueChild.getActiveGift().equals("1")){
cardFavorableArrayList.add(cardFavorableService.getById(cardValueChild.getVouchersId()));
}
}
}
return cardFavorableArrayList;
}
/**
* 新增储值卡充值记录
* @param orderNo
* @return
*/
@Override
public boolean insert(String orderNo) {
//获取订单记录
CardValueOrders cardValueOrders = cardValueOrdersService.getOneByOrderNo(orderNo);
//生成充值记录
CardValueRecord cardValueRecord = new CardValueRecord();
return false;
}
@Override
@ -452,11 +571,85 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
}
/*cardValueRecordDTO.get*/
return true;
}
}
/**
* 充值后续处理
* @param orderNo
*/
@Transactional
public void rechargeFinallDeal(String orderNo){
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
UserBalance userBalance1 = new UserBalance();
CardBalanceChange cardBalanceChange = new CardBalanceChange();
double afterBalance = 0.0;
//订单详情
CardValueOrders cardValueOrders = cardValueOrdersService.getOneByOrderNo(orderNo);
//更新订单状态
cardValueOrders.setStatus("paid");
cardValueOrders.setPayTime(new Date());
cardValueOrdersService.updateById(cardValueOrders);
//用户余额
UserBalance userBalance = userBalanceService.selectUserBalance(cardValueOrders.getMtUserId());
//用户 (新用户新建 老用户叠加)
if (ObjectUtils.isNotEmpty(userBalance)){
//积分
if (ObjectUtils.isNotEmpty(userBalance.getPoints()) && ObjectUtils.isNotEmpty(cardValueOrders.getPoints())){
userBalance.setPoints(userBalance.getPoints() + cardValueOrders.getPoints());
}
//成长值
if (ObjectUtils.isNotEmpty(userBalance.getGrowthValue()) && ObjectUtils.isNotEmpty(cardValueOrders.getGrowthValue())){
userBalance.setGrowthValue(userBalance.getGrowthValue() + cardValueOrders.getGrowthValue());
}
//储值卡余额
if (ObjectUtils.isNotEmpty(userBalance.getCardBalance()) && ObjectUtils.isNotEmpty(cardValueOrders.getAmount())){
afterBalance = userBalance.getCardBalance() + cardValueOrders.getAmount();
userBalance.setCardBalance(afterBalance);
}
//油量
/*if (ObjectUtils.isNotEmpty(userBalance.getRefuelMoney()) && ObjectUtils.isNotEmpty(cardValueOrders.getAmount())){
userBalance.setCardBalance(userBalance.getCardBalance() + cardValueOrders.getAmount());
}*/
//加油次数
Integer consumeNum = userBalance.getConsumeNum();
userBalance.setConsumeNum(consumeNum+=1);
userBalanceService.updateUserBalance(userBalance);
}else {
userBalance1.setMtUserId(cardValueOrders.getMtUserId());
userBalance1.setStoreId(cardValueOrders.getStoreId());
userBalance1.setChainStoreId(nowAccountInfo.getChainStoreId());
//积分
if (ObjectUtils.isNotEmpty(cardValueOrders.getPoints())){
userBalance1.setPoints(cardValueOrders.getPoints());
}
//成长值
if (ObjectUtils.isNotEmpty(cardValueOrders.getGrowthValue())){
userBalance1.setGrowthValue(cardValueOrders.getGrowthValue());
}
//储值卡余额
if (ObjectUtils.isNotEmpty(cardValueOrders.getAmount())){
afterBalance = cardValueOrders.getAmount();
userBalance1.setCardBalance(afterBalance);
}
//油量
/*if (ObjectUtils.isNotEmpty(userBalance.getRefuelMoney()) && ObjectUtils.isNotEmpty(cardValueOrders.getAmount())){
userBalance.setCardBalance(userBalance.getCardBalance() + cardValueOrders.getAmount());
}*/
//加油次数
userBalance1.setConsumeNum(1);
userBalanceService.save(userBalance1);
}
//用户余额变化记录
cardBalanceChange.setUserId(cardValueOrders.getMtUserId());
cardBalanceChange.setChainStoreId(nowAccountInfo.getChainStoreId());
cardBalanceChange.setStoreId(cardValueOrders.getStoreId());
cardBalanceChange.setChangeType("1");
cardBalanceChange.setFromType("储值卡充值");
cardBalanceChange.setBalance(cardValueOrders.getBidBalance());
cardBalanceChange.setAfterTheChange(afterBalance);
cardBalanceChange.setOrderNo(cardValueOrders.getOrderNo());
cardBalanceChangeService.save(cardBalanceChange);
}
}

View File

@ -6,12 +6,13 @@ import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fuint.business.marketingActivity.cardValue.entity.CardValue;
import com.fuint.business.marketingActivity.cardValue.entity.CardValueChild;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class CardValueVO extends Model<CardValue> {
//主键id
@TableId(type = IdType.AUTO)
private Integer id;
@ -67,7 +68,7 @@ public class CardValueVO extends Model<CardValue> {
private String[] membershipLevel;
//排序 数值越大,顺序越在前
private Integer sort;
//新人有礼卡券列表
//卡券列表
private List<CardValueChild> cardValueChildList;
//创建者
private String createBy;
@ -79,252 +80,4 @@ public class CardValueVO extends Model<CardValue> {
//更新时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
public String[] getMembershipLevel() {
return membershipLevel;
}
public void setMembershipLevel(String[] membershipLevel) {
this.membershipLevel = membershipLevel;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getChainStoreId() {
return chainStoreId;
}
public void setChainStoreId(Integer chainStoreId) {
this.chainStoreId = chainStoreId;
}
public Integer getStoreId() {
return storeId;
}
public void setStoreId(Integer storeId) {
this.storeId = storeId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getIsonline() {
return isonline;
}
public void setIsonline(String isonline) {
this.isonline = isonline;
}
public Double getBidBalance() {
return bidBalance;
}
public void setBidBalance(Double bidBalance) {
this.bidBalance = bidBalance;
}
public Double getRechargeBalance() {
return rechargeBalance;
}
public void setRechargeBalance(Double rechargeBalance) {
this.rechargeBalance = rechargeBalance;
}
public Double getGiftBalance() {
return giftBalance;
}
public void setGiftBalance(Double giftBalance) {
this.giftBalance = giftBalance;
}
public Integer getPoints() {
return points;
}
public void setPoints(Integer points) {
this.points = points;
}
public Integer getGrowthValue() {
return growthValue;
}
public void setGrowthValue(Integer growthValue) {
this.growthValue = growthValue;
}
public Integer getRefuelMoney() {
return refuelMoney;
}
public void setRefuelMoney(Integer refuelMoney) {
this.refuelMoney = refuelMoney;
}
public String getFringeBenefit() {
return fringeBenefit;
}
public void setFringeBenefit(String fringeBenefit) {
this.fringeBenefit = fringeBenefit;
}
public Integer getParticipationNo() {
return participationNo;
}
public void setParticipationNo(Integer participationNo) {
this.participationNo = participationNo;
}
public String getEmployeeCommission() {
return employeeCommission;
}
public void setEmployeeCommission(String employeeCommission) {
this.employeeCommission = employeeCommission;
}
public String getRoyaltyType() {
return royaltyType;
}
public void setRoyaltyType(String royaltyType) {
this.royaltyType = royaltyType;
}
public Double getAmountCommission() {
return amountCommission;
}
public void setAmountCommission(Double amountCommission) {
this.amountCommission = amountCommission;
}
public Double getPercentageCommissions() {
return percentageCommissions;
}
public void setPercentageCommissions(Double percentageCommissions) {
this.percentageCommissions = percentageCommissions;
}
public String getActiveTime() {
return activeTime;
}
public void setActiveTime(String activeTime) {
this.activeTime = activeTime;
}
public String getActivityProgress() {
return activityProgress;
}
public void setActivityProgress(String activityProgress) {
this.activityProgress = activityProgress;
}
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public String getActiveStatus() {
return activeStatus;
}
public void setActiveStatus(String activeStatus) {
this.activeStatus = activeStatus;
}
public String getPaymentValue() {
return paymentValue;
}
public void setPaymentValue(String paymentValue) {
this.paymentValue = paymentValue;
}
public String getGroupOriented() {
return groupOriented;
}
public void setGroupOriented(String groupOriented) {
this.groupOriented = groupOriented;
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
public List<CardValueChild> getCardValueChildList() {
return cardValueChildList;
}
public void setCardValueChildList(List<CardValueChild> cardValueChildList) {
this.cardValueChildList = cardValueChildList;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}

View File

@ -1,29 +1,33 @@
package com.fuint.business.marketingActivity.cardValueOrders.entity;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
/**
* 储值卡订单表(CardValueOrders)表实体类
*
* @author makejava
* @since 2023-12-22 15:57:44
* @since 2023-12-25 09:42:39
*/
@SuppressWarnings("serial")
@Data
public class CardValueOrders extends Model<CardValueOrders> {
//主键id
@TableId(type = IdType.AUTO)
private Integer id;
//付款用户
private String payUser;
//支付类型
private String payType;
//订单号
private String orderNo;
//所属店铺ID
private Integer storeId;
//用户ID
private Integer userId;
//订单金额
private Double amount;
//支付金额
@ -35,163 +39,57 @@ public class CardValueOrders extends Model<CardValueOrders> {
//订单状态
private String status;
//支付时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date payTime;
//推荐员工
//会员id
private Integer mtUserId;
//会员名字
private String name;
//会员手机号码
private String mobile;
//员工id
private Integer staffId;
//创建时间
private Date createTime;
//创建人
//员工姓名
private String realName;
//员工手机号码
private String staffMobile;
//储值卡id
private Integer cardValueId;
//充值类型 0充值卡 1自定义
private String rechargeType;
//储值卡面值
private Double bidBalance;
//储值卡实际售价
private Double rechargeBalance;
//储值卡赠送金额
private Double giftBalance;
//支付方式
private String paymentType;
//积分
private Integer points;
//成长值
private Integer growthValue;
//附加福利
private String fringeBenefit;
//提成类型 1 2按提成金额 3按充值金额提成比例
private String royaltyType;
//提成比例
private Double percentageCommissions;
//员工提成金额
private Double amountCommission;
//优惠券id
private Integer cardFavorableId;
//兑换券id
private Integer cardExchangeId;
//创建者
private String createBy;
//更新时间
private Date updateTime;
//更新人
//创建时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
//更新者
private String updateBy;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getPayUser() {
return payUser;
}
public void setPayUser(String payUser) {
this.payUser = payUser;
}
public String getPayType() {
return payType;
}
public void setPayType(String payType) {
this.payType = payType;
}
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
public Integer getStoreId() {
return storeId;
}
public void setStoreId(Integer storeId) {
this.storeId = storeId;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public Double getAmount() {
return amount;
}
public void setAmount(Double amount) {
this.amount = amount;
}
public Double getPayAmount() {
return payAmount;
}
public void setPayAmount(Double payAmount) {
this.payAmount = payAmount;
}
public Double getDiscount() {
return discount;
}
public void setDiscount(Double discount) {
this.discount = discount;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Date getPayTime() {
return payTime;
}
public void setPayTime(Date payTime) {
this.payTime = payTime;
}
public Integer getStaffId() {
return staffId;
}
public void setStaffId(Integer staffId) {
this.staffId = staffId;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
/**
* 获取主键值
*
* @return 主键值
*/
@Override
protected Serializable pkVal() {
return this.id;
}
//更新时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}

View File

@ -11,5 +11,11 @@ import com.fuint.business.marketingActivity.cardValueOrders.entity.CardValueOrde
*/
public interface CardValueOrdersMapper extends BaseMapper<CardValueOrders> {
/**
* 根据订单编号返回订单信息
* @param orderNo
* @return
*/
CardValueOrders getOneByOrderNo(String orderNo);
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fuint.business.marketingActivity.cardValueOrders.mapper.CardValueOrdersMapper">
<select id="getOneByOrderNo" resultType="com.fuint.business.marketingActivity.cardValueOrders.entity.CardValueOrders">
select * from card_value_orders where order_no = #{orderNo}
</select>
</mapper>

View File

@ -11,5 +11,11 @@ import com.fuint.business.marketingActivity.cardValueOrders.entity.CardValueOrde
*/
public interface CardValueOrdersService extends IService<CardValueOrders> {
/**
* 根据订单编号返回订单信息
* @param orderNo
* @return
*/
CardValueOrders getOneByOrderNo(String orderNo);
}

View File

@ -1,11 +1,13 @@
package com.fuint.business.marketingActivity.cardValueOrders.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuint.business.marketingActivity.cardValueOrders.mapper.CardValueOrdersMapper;
import com.fuint.business.marketingActivity.cardValueOrders.entity.CardValueOrders;
import com.fuint.business.marketingActivity.cardValueOrders.mapper.CardValueOrdersMapper;
import com.fuint.business.marketingActivity.cardValueOrders.service.CardValueOrdersService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 储值卡订单表(CardValueOrders)表服务实现类
*
@ -15,5 +17,17 @@ import org.springframework.stereotype.Service;
@Service("cardValueOrdersService")
public class CardValueOrdersServiceImpl extends ServiceImpl<CardValueOrdersMapper, CardValueOrders> implements CardValueOrdersService {
@Resource
private CardValueOrdersMapper cardValueOrdersMapper;
/**
* 根据订单编号返回订单信息
* @param orderNo
* @return
*/
@Override
public CardValueOrders getOneByOrderNo(String orderNo) {
return cardValueOrdersMapper.getOneByOrderNo(orderNo);
}
}

View File

@ -53,4 +53,5 @@ public interface UserBalanceService extends IService<UserBalance> {
* @return
*/
UserBalance getUserBalance();
}

View File

@ -22,7 +22,7 @@
<view class="dis-but">
<view class="bai-box">
<view class="">通用余额</view>
<view class=""> <text style="font-weight: bold;font-size: 26px;">{{cardBalance}}</text>
<view class=""> <text style="font-weight: bold;font-size: 26px;">{{cardBalance || ''}}</text>
</view>
</view>
<view class="anniu-cz" @click="gocard(0)">
@ -56,7 +56,8 @@
<view style="width: 100%;display: flex;align-items: center;justify-content: space-between; ">
<view class="bai-box">
<view class="title-card">囤油卡</view>
<view class="">{{cardsList[cardsIndex].type}}:{{cardsList[cardsIndex].oilType}} </view>
<view class="">{{cardsList[cardsIndex].type || '暂无囤油'}}:{{cardsList[cardsIndex].oilType || ''}}
</view>
<!-- <view style="lins"> **** **** **** 970 </view> -->
</view>
<view class="">

View File

@ -43,7 +43,7 @@
<!-- 底部 -->
</view>
<view class="bottom-box">
<view class="bottom-box" @click="addValueCarRecords()">
<view class="anniu">
<text>立即充值</text>
</view>
@ -95,7 +95,7 @@
<!-- 底部 -->
<view class="bottom-box">
<view class="anniu">
<view class="anniu" @click="addValueCarRecords()">
<text>立即充值</text>
</view>
<view class="dibu" @click="goRechargeRecords()">
@ -211,6 +211,57 @@
},
methods: {
//
addValueCarRecords() {
request({
url: 'business/marketingActivity/cardValueRecord',
method: 'post',
data: {
payType: 'WECHAT',
mtStaffId: '4',
id: 68
},
}).then(res => {
if (res.code === 200) {
let _this = this
console.log(res)
let payProvider = "wxpay"
_this.orderInfo = JSON.parse(res.data.reservedPayInfo);
uni.requestPayment({
// provider: 'wxpay' 'alipay'
provider: payProvider,
timeStamp: _this.orderInfo.timeStamp,
nonceStr: _this.orderInfo.nonceStr,
package: _this.orderInfo.package,
signType: 'MD5',
paySign: _this.orderInfo.paySign,
success: function(res) {
console.log('success:', res);
uni.reLaunch({
url: '/pagesRefuel/orderSuccess/index'
})
},
fail: function(err) {
// request({
// url: "business/oilOrder/orderStatus",
// method: 'post',
// data: {
// "orderNo": res.data.data.orderNo,
// "status": "payFail"
// },
// }).then((res) => {
// uni.showToast({
// title: "!",
// icon: "error"
// })
// })
// console.log('fail:', err);
}
});
}
})
},
confirms() {
this.shows = false
},