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; /** *

* 前端控制器 *

* * @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> getInvoiceInformationList(){ Long userId = tokenService.getLoginUserApplet().getUserId(); List list = invoiceInformationService.list(new LambdaQueryWrapper() .eq(TInvoiceInformation::getAppUserId, userId).eq(TInvoiceInformation::getDelFlag, 0).orderByDesc(TInvoiceInformation::getIsDefault)); List 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().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 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().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(); } }