package com.ruoyi.account.controller;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.ruoyi.account.api.model.TInvoiceInformation;
|
import com.ruoyi.account.api.vo.InvoiceInformationVo;
|
import com.ruoyi.account.service.TInvoiceInformationService;
|
import com.ruoyi.common.core.web.domain.AjaxResult;
|
import com.ruoyi.common.security.service.TokenService;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author luodangjia
|
* @since 2024-08-06
|
*/
|
@RestController
|
@RequestMapping("/t-invoice-information")
|
public class TInvoiceInformationController {
|
|
@Resource
|
private TInvoiceInformationService invoiceInformationService;
|
|
@Resource
|
private TokenService tokenService;
|
|
|
@ResponseBody
|
@GetMapping(value = "/getInvoiceInformationList")
|
@ApiOperation(value = "获取开票抬头数据列表", tags = {"小程序-充电发票"})
|
public AjaxResult<List<InvoiceInformationVo>> getInvoiceInformationList(){
|
Long userId = tokenService.getLoginUserApplet().getUserId();
|
List<TInvoiceInformation> list = invoiceInformationService.list(new LambdaQueryWrapper<TInvoiceInformation>()
|
.eq(TInvoiceInformation::getAppUserId, userId).eq(TInvoiceInformation::getDelFlag, 0).orderByDesc(TInvoiceInformation::getIsDefault));
|
List<InvoiceInformationVo> lists = new ArrayList<>();
|
for (TInvoiceInformation tInvoiceInformation : list) {
|
InvoiceInformationVo vo = new InvoiceInformationVo();
|
BeanUtils.copyProperties(tInvoiceInformation, vo);
|
vo.setId(tInvoiceInformation.getId().toString());
|
lists.add(vo);
|
}
|
return AjaxResult.success(lists);
|
}
|
|
|
|
@ResponseBody
|
@PostMapping(value = "/addInvoiceInformation")
|
@ApiOperation(value = "添加开票抬头数据", tags = {"小程序-充电发票"})
|
public AjaxResult addInvoiceInformation(@RequestBody TInvoiceInformation invoiceInformation){
|
Long userId = tokenService.getLoginUserApplet().getUserId();
|
//如果当前是默认抬头,则需要去除其他的默认配置
|
if(null != invoiceInformation.getIsDefault() && 1 == invoiceInformation.getIsDefault()){
|
TInvoiceInformation one = invoiceInformationService.getOne(new LambdaQueryWrapper<TInvoiceInformation>().eq(TInvoiceInformation::getDelFlag, 0)
|
.eq(TInvoiceInformation::getIsDefault, 1).eq(TInvoiceInformation::getAppUserId, userId));
|
if(null != one){
|
one.setIsDefault(0);
|
invoiceInformationService.updateById(one);
|
}
|
}
|
|
invoiceInformation.setAppUserId(userId);
|
invoiceInformationService.save(invoiceInformation);
|
return AjaxResult.success();
|
}
|
|
|
@ResponseBody
|
@GetMapping(value = "/getInvoiceInformationInfo/{id}")
|
@ApiOperation(value = "获取开票抬头详情数据", tags = {"小程序-充电发票"})
|
public AjaxResult<TInvoiceInformation> getInvoiceInformationInfo(@PathVariable String id){
|
TInvoiceInformation information = invoiceInformationService.getById(id);
|
return AjaxResult.success(information);
|
}
|
|
|
|
@ResponseBody
|
@PostMapping(value = "/editInvoiceInformation")
|
@ApiOperation(value = "编辑开票抬头数据", tags = {"小程序-充电发票"})
|
public AjaxResult editInvoiceInformation(@RequestBody TInvoiceInformation invoiceInformation){
|
Long userId = tokenService.getLoginUserApplet().getUserId();
|
//如果当前是默认抬头,则需要去除其他的默认配置
|
if(null != invoiceInformation.getIsDefault() && 1 == invoiceInformation.getIsDefault()){
|
TInvoiceInformation one = invoiceInformationService.getOne(new LambdaQueryWrapper<TInvoiceInformation>().eq(TInvoiceInformation::getDelFlag, 0)
|
.eq(TInvoiceInformation::getIsDefault, 1).eq(TInvoiceInformation::getAppUserId, userId));
|
if(null != one && !one.getId().equals(invoiceInformation.getId())){
|
one.setIsDefault(0);
|
invoiceInformationService.updateById(one);
|
}
|
}
|
invoiceInformationService.updateById(invoiceInformation);
|
return AjaxResult.success();
|
}
|
|
}
|