puzhibing
2024-08-29 657d9812259a5c100b2afb71a9eae1769d9432cb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
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));
        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(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();
    }
    
}