package com.panzhihua.service_community.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.panzhihua.service_community.entity.ComBatteryTradeOrder;
|
import com.panzhihua.service_community.dao.ComBatteryTradeOrderMapper;
|
import com.panzhihua.service_community.service.ComBatteryTradeOrderService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.springframework.beans.BeanUtils;
|
import com.panzhihua.common.model.dtos.common.*;
|
import com.panzhihua.common.model.vos.R;
|
import org.springframework.stereotype.Service;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* title: 电动车商城-微信交易流水表表服务实现类
|
* <p>
|
* projectName 成都呐喊信息技术有限公司-智慧社区项目
|
* <p>
|
* description: 电动车商城-微信交易流水表表服务实现类
|
*
|
* @author lyq
|
* @date 2022-04-01 13:18:50
|
*/
|
@Service("comBatteryTradeOrderService")
|
public class ComBatteryTradeOrderServiceImpl extends ServiceImpl<ComBatteryTradeOrderMapper, ComBatteryTradeOrder> implements ComBatteryTradeOrderService {
|
|
/**
|
* description queryByPage 分页查询
|
*
|
* @param comBatteryTradeOrder 请求参数
|
* @return 分页查询列表数据
|
* @author lyq
|
* @date 2022-04-01 13:18:50
|
*/
|
@Override
|
public R queryByPage(PageComBatteryTradeOrderDto comBatteryTradeOrder) {
|
return R.ok(this.baseMapper.queryAllByLimit(comBatteryTradeOrder, new Page(comBatteryTradeOrder.getPageNum(), comBatteryTradeOrder.getPageSize())));
|
}
|
|
/**
|
* description insert 新增数据
|
*
|
* @param comBatteryTradeOrder 请求参数
|
* @return 新增结果
|
* @author lyq
|
* @date 2022-04-01 13:18:50
|
*/
|
@Override
|
public R insert(AddComBatteryTradeOrderDto comBatteryTradeOrder) {
|
ComBatteryTradeOrder entity = new ComBatteryTradeOrder();
|
BeanUtils.copyProperties(comBatteryTradeOrder, entity);
|
if (this.baseMapper.insert(entity) > 0) {
|
return R.ok();
|
}
|
return R.fail("添加失败");
|
}
|
|
/**
|
* description update 修改数据
|
*
|
* @param editDto 请求参数
|
* @return 修改结果
|
* @author lyq
|
* @date 2022-04-01 13:18:50
|
*/
|
@Override
|
public R update(EditComBatteryTradeOrderDto editDto) {
|
ComBatteryTradeOrder entity = this.baseMapper.selectById(editDto.getId());
|
if (entity == null) {
|
return R.fail("未查询到该记录");
|
}
|
BeanUtils.copyProperties(editDto, entity);
|
if (this.baseMapper.updateById(entity) > 0) {
|
return R.ok();
|
}
|
return R.fail("修改失败");
|
}
|
|
/**
|
* description deleteById 通过主键删除数据
|
*
|
* @param id 主键id
|
* @return 删除结果
|
* @author lyq
|
* @date 2022-04-01 13:18:50
|
*/
|
@Override
|
public R deleteById(Long id) {
|
if (this.baseMapper.deleteById(id) > 0) {
|
return R.ok();
|
}
|
return R.fail("删除失败");
|
}
|
|
/**
|
* description detailById 查询详情
|
*
|
* @param id 主键id
|
* @return 详情数据
|
* @author lyq
|
* @date 2022-04-01 13:18:50
|
*/
|
@Override
|
public R detailById(Long id) {
|
return R.ok(this.baseMapper.queryById(id));
|
}
|
|
/**
|
* description queryByPage 查询列表
|
*
|
* @param comBatteryTradeOrder 请求参数
|
* @return 列表数据
|
* @author lyq
|
* @date 2022-04-01 13:18:50
|
*/
|
@Override
|
public R queryByList(PageComBatteryTradeOrderDto comBatteryTradeOrder) {
|
return R.ok(this.baseMapper.queryAllByList(comBatteryTradeOrder));
|
}
|
|
/**
|
* 添加微信交易记录
|
* @param userId 用户id
|
* @param openId 用户openId
|
* @param orderNo 订单号
|
* @param payType 支付类型
|
* @param orderAmount 订单金额
|
* @param tradeType 交易类型(1.电动车商城购买商品)
|
* @param tradeOrderId 交易业务订单id
|
* @param tradeOrderNo 交易业务订单号
|
* @param createBy 创建人
|
* @param nowDate 创建时间
|
*/
|
@Override
|
public void addOrderTradeRecord(Long userId, String openId, String orderNo, Integer payType, BigDecimal orderAmount, Integer tradeType, Long tradeOrderId, String tradeOrderNo, Long createBy, Date nowDate) {
|
ComBatteryTradeOrder entity = new ComBatteryTradeOrder();
|
entity.setUserId(userId);
|
entity.setOpenId(openId);
|
entity.setOrderNo(orderNo);
|
entity.setStatus(ComBatteryTradeOrder.Status.DFZ);
|
entity.setPayType(payType);
|
entity.setPayStatus(ComBatteryTradeOrder.PayStatus.DZF);
|
entity.setOrderAmount(orderAmount);
|
entity.setTradeType(tradeType);
|
entity.setTradeOrderId(tradeOrderId);
|
entity.setTradeOrderNo(tradeOrderNo);
|
entity.setCreateAt(nowDate);
|
entity.setCreateBy(createBy);
|
this.baseMapper.insert(entity);
|
}
|
|
/**
|
* 更新微信支付流水记录
|
*
|
* @param orderId 订单id
|
* @param amount 实际支付金额
|
* @param wxTradeNo 微信支付订单号
|
* @param payTime 支付时间
|
* @param nowDate 当前处理时间
|
*/
|
@Override
|
public void renewPayTrade(Long orderId, BigDecimal amount, String wxTradeNo, Date payTime, Date nowDate) {
|
List<ComBatteryTradeOrder> tradeOrderList = this.baseMapper.selectList(new QueryWrapper<ComBatteryTradeOrder>().lambda()
|
.eq(ComBatteryTradeOrder::getTradeOrderId, orderId).orderByDesc(ComBatteryTradeOrder::getCreateAt));
|
if(tradeOrderList != null && tradeOrderList.size() > 0){
|
for (int i = 0; i < tradeOrderList.size(); i++) {
|
ComBatteryTradeOrder tradeOrder = tradeOrderList.get(i);
|
if (i == 0) {
|
tradeOrder.setPayStatus(ComBatteryTradeOrder.PayStatus.YZF);
|
tradeOrder.setStatus(ComBatteryTradeOrder.Status.YZF);
|
tradeOrder.setPayAmount(amount);
|
tradeOrder.setPayNo(wxTradeNo);
|
tradeOrder.setPayTime(payTime);
|
tradeOrder.setUpdateAt(nowDate);
|
} else {
|
tradeOrder.setStatus(ComBatteryTradeOrder.Status.YGB);
|
tradeOrder.setUpdateAt(nowDate);
|
}
|
this.baseMapper.updateById(tradeOrder);
|
}
|
}
|
}
|
}
|