package com.agentdriving.user.modular.system.service.impl;
|
|
import com.agentdriving.user.core.util.ToolUtil;
|
import com.agentdriving.user.modular.system.dao.BillMapper;
|
import com.agentdriving.user.modular.system.model.Bill;
|
import com.agentdriving.user.modular.system.model.Order;
|
import com.agentdriving.user.modular.system.service.IBillService;
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
import com.agentdriving.user.modular.system.service.IOrderService;
|
import com.agentdriving.user.modular.system.util.ResultUtil;
|
import com.agentdriving.user.modular.system.warpper.BillWarpper;
|
import com.agentdriving.user.modular.system.warpper.Invoicing;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @author zhibing.pu
|
* @date 2023/3/24 10:07
|
*/
|
@Service
|
public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements IBillService {
|
|
@Autowired
|
private IOrderService orderService;
|
|
|
/**
|
* 开票操作
|
* @param uid
|
* @param invoicing
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public ResultUtil invoicing(Integer uid, Invoicing invoicing) throws Exception {
|
if(ToolUtil.isEmpty(invoicing.getOrderIds())){
|
return ResultUtil.error("请选择有效的开票订单");
|
}
|
String[] split = invoicing.getOrderIds().split(",");
|
List<Order> orders = orderService.selectBatchIds(Arrays.asList(split));
|
for (Order order : orders) {
|
if(null != order.getIsInvoice() && order.getIsInvoice() == 1){
|
continue;
|
}
|
Bill bill = new Bill();
|
BeanUtils.copyProperties(invoicing, bill);
|
bill.setUserId(order.getUserId());
|
bill.setOrderId(order.getId().intValue());
|
bill.setBillType(1);
|
bill.setBillContent("代驾服务费");
|
bill.setBillAmount(order.getPayMoney());
|
bill.setState(1);
|
bill.setCreateTime(new Date());
|
this.insert(bill);
|
|
order.setIsInvoice(1);
|
orderService.updateById(order);
|
}
|
return ResultUtil.success();
|
}
|
|
|
/**
|
* 获取开票记录
|
* @param uid
|
* @param pageNum
|
* @param pageSize
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public List<BillWarpper> queryBillList(Integer uid, Integer pageNum, Integer pageSize) throws Exception {
|
pageNum = (pageNum - 1) * pageSize;
|
return this.baseMapper.queryBillList(uid, pageNum, pageSize);
|
}
|
}
|