فهرست منبع

权限问题修改

Administrator 2 سال پیش
والد
کامیت
cb71c84682

+ 1 - 1
src/main/java/com/jkcredit/invoice/annotation/annotationdes/AuthenticationInterceptor.java

@@ -61,7 +61,7 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
                 throw new RuntimeException("用户不存在,请重新登录");
             }
             request.setAttribute("currentUser", user);
-            if((!StringUtils.isEmpty(methodAnnotation.role())) && !methodAnnotation.role().equals(user.getRoleId())){
+            if((!StringUtils.isEmpty(methodAnnotation.role())) && !methodAnnotation.role().equals(user.getRoleId()) && !AuthenticationInterceptor.AUTH_ADMIN.equals(user.getRoleId())){
                 throw new RuntimeException("无权限");
             }
             return true;

+ 18 - 9
src/main/java/com/jkcredit/invoice/controller/business/CustomerController.java

@@ -11,10 +11,12 @@ import com.jkcredit.invoice.model.entity.CustomerRecharge;
 import com.jkcredit.invoice.model.entity.customer.CustomerEtcChangeInfo;
 import com.jkcredit.invoice.model.entity.customer.CustomerRec;
 import com.jkcredit.invoice.model.entity.manager.Param;
+import com.jkcredit.invoice.model.entity.user.User;
 import com.jkcredit.invoice.service.customer.CustomerChangeInfoService;
 import com.jkcredit.invoice.service.customer.CustomerRecService;
 import com.jkcredit.invoice.service.customer.CustomerRechargeService;
 import com.jkcredit.invoice.service.customer.CustomerService;
+import com.jkcredit.invoice.service.lowerservice.CheckHasAuthRole;
 import com.jkcredit.invoice.service.lowerservice.CustomeLowerService;
 import com.jkcredit.invoice.service.manager.ParamService;
 import com.jkcredit.invoice.util.DateUtil;
@@ -65,6 +67,8 @@ public class CustomerController {
 
     @Autowired
     private ParamService paramService;
+    @Autowired
+    private CheckHasAuthRole checkHasAuthRole;
     /**
      * 分页查询客户
      *
@@ -103,8 +107,8 @@ public class CustomerController {
      */
     @PostMapping("/findCustomerRechargeMoney")
     @ApiOperation(value="分页查询客户端客户充值信息", notes="分页查询客户端客户充值信息")
-    public RespR findCustomerRechargeMoney(Page page, CustomerRecharge customerRecharge) {
-
+    public RespR findCustomerRechargeMoney(Page page, CustomerRecharge customerRecharge, User user) {
+        checkHasAuthRole.checkCustomerRole(user,customerRecharge.getCustomerName());
         return new RespR(customerRechargeService.findAllCustomerRechargeMoney(page, customerRecharge));
     }
     /**
@@ -144,8 +148,8 @@ public class CustomerController {
     @PostMapping("/findCustomerRecList")
     @ApiOperation(value="分页查询客户注册信息", notes="分页查询客户注册信息")
     @LoginRequired
-    public RespR findCustomerRecList(Page page, CustomerRec customerRec) {
-
+    public RespR findCustomerRecList(Page page, CustomerRec customerRec,User user) {
+        checkHasAuthRole.checkCustomerRole(user,customerRec.getCustomerName());
         return new RespR(customerRecService.findAllCustomerRec(page, customerRec));
     }
     /**
@@ -155,7 +159,8 @@ public class CustomerController {
     @PostMapping("/addCustomer")
     @ApiOperation(value="添加客户", notes="添加客户")
     @LoginRequired
-    public RespR addCustomer(@RequestBody  Customer customer) {
+    public RespR addCustomer(@RequestBody  Customer customer,User user) {
+        checkHasAuthRole.checkCustomerRole(user,customer.getCustomerName());
         return new RespR(customerService.addCustomers(customer),"客户添加失败,请查看是否重复");
     }
     /**
@@ -201,7 +206,8 @@ public class CustomerController {
     @PostMapping("/customeRecQueryUpper")
     @ApiOperation(value="查询备案信息", notes="手工添加备案信息")
     @LoginRequired
-    public RespR customeRecQueryUpper(@RequestBody  CustomerRec customerRec) {
+    public RespR customeRecQueryUpper(@RequestBody  CustomerRec customerRec,User user) {
+        checkHasAuthRole.checkCustomerRole(user,customerRec.getCustomerName());
         RespR<List<B2bCompanyModel>> respR = customerService.customerRecQuery(customerRec);
 
         if(respR.getCode() == 1){
@@ -294,6 +300,7 @@ public class CustomerController {
 
     @GetMapping("/contractDownload")
     @ApiOperation(value="协议下载", notes="协议下载")
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR contractDownload(String customerRecId,HttpServletResponse response){
         CustomerRec customerRec = (CustomerRec) customerService.contractDownload(customerRecId).getData();
         String fileName = customerRec.getLowerFileName();
@@ -321,6 +328,7 @@ public class CustomerController {
     }
     @GetMapping("/generateWord")
     @ApiOperation(value="文档下载", notes="文档下载")
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR generateWord(String customerRecId,HttpServletResponse response){
         CustomerRec customerRec = (CustomerRec) customerService.generateWordDownload(customerRecId).getData();
         if(null == customerRec || null ==customerRec.getServiceStartTime() || null ==customerRec.getServiceEndTime()){
@@ -433,7 +441,8 @@ public class CustomerController {
     @PostMapping("/customeRecQueryListByPage")
     @ApiOperation(value="用户备案列表分页查询", notes="用户备案列表分页查询")
     @LoginRequired
-    public RespR customeRecQueryListByPage(Page page, CustomerRec customerRec){
+    public RespR customeRecQueryListByPage(Page page, CustomerRec customerRec,User user){
+        checkHasAuthRole.checkCustomerRole(user,customerRec.getCustomerName());
         IPage ipage = customerRecService.findAllCustomerRec(page, customerRec);
         return new RespR(ipage);
     }
@@ -445,14 +454,14 @@ public class CustomerController {
      */
     @PostMapping("/customerChangeList")
     @ApiOperation(value="用户换卡信息列表查询", notes="用户换卡信息列表查询")
-    @LoginRequired
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR customeChangeInfoListByPage(Page page, CustomerEtcChangeInfo customerEtcChangeInfo){
         IPage ipage = customerChangeInfoService.findAllCustomerChangeInfo(page, customerEtcChangeInfo);
         return new RespR(ipage);
     }
     @PostMapping("/customerChangeInfo")
     @ApiOperation(value="用户换卡信息查询", notes="用户换卡信息查询")
-    @LoginRequired
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR customerChangeInfo(String applyId){
         List<Map<String,String>> cards = customerChangeInfoService.selectChangeCards(applyId);
         return new RespR(cards);

+ 33 - 18
src/main/java/com/jkcredit/invoice/controller/business/NoCarController.java

@@ -5,15 +5,18 @@ import cn.afterturn.easypoi.excel.entity.ImportParams;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jkcredit.invoice.annotation.LoginRequired;
+import com.jkcredit.invoice.annotation.annotationdes.AuthenticationInterceptor;
 import com.jkcredit.invoice.mapper.waybill.NoCarWaybillMapper;
 import com.jkcredit.invoice.model.entity.calculate.NoCarCalculateInfor;
 import com.jkcredit.invoice.model.entity.customer.CustomerCarRec;
 import com.jkcredit.invoice.model.entity.customer.CustomerOper;
 import com.jkcredit.invoice.model.entity.invoice.BillInvoice;
+import com.jkcredit.invoice.model.entity.user.User;
 import com.jkcredit.invoice.model.entity.waybill.NoCarWayBill;
 import com.jkcredit.invoice.model.vo.CodeAndNumVo;
 import com.jkcredit.invoice.service.calculateinfor.NoCarCalculateInfoService;
 import com.jkcredit.invoice.service.customer.CustomerOperService;
+import com.jkcredit.invoice.service.lowerservice.CheckHasAuthRole;
 import com.jkcredit.invoice.service.lowerservice.NoCarService;
 import com.jkcredit.invoice.service.nocar.NoCarBillWayImportService;
 import com.jkcredit.invoice.service.nocar.NoCarBillWayService;
@@ -76,6 +79,8 @@ public class NoCarController {
 
     @Autowired
     CustomerOperService customerOperService;
+    @Autowired
+    private CheckHasAuthRole checkHasAuthRole;
     /**
      * 分页查询无车备案信息
      *
@@ -85,8 +90,9 @@ public class NoCarController {
     @PostMapping("/findCarRec")
     @ApiOperation(value="分页查询无车/自有车备案信息", notes="分页查询无车/自有车备案信息")
     @LoginRequired
-    public RespR getCustomersByPage(Page page, CustomerCarRec customerCarRec) {
+    public RespR getCustomersByPage(Page page, CustomerCarRec customerCarRec,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,customerCarRec.getCompanyName());
             if(!StringUtils.isEmpty(customerCarRec.getStartTime()) && !"null".equals(customerCarRec.getStartTime())){
                 String [] res = customerCarRec.getStartTime().split(",");
                 customerCarRec.setStartTime(res[0]);
@@ -142,9 +148,9 @@ public class NoCarController {
     @PostMapping("/findBillWay")
     @ApiOperation(value="分页查询无车运单信息", notes="分页查询无车运单信息")
     @LoginRequired
-    public RespR findBillWay(Page page, NoCarWayBill noCarWayBill) {
+    public RespR findBillWay(Page page, NoCarWayBill noCarWayBill,User user) {
         try {
-
+            checkHasAuthRole.checkCustomerRole(user,noCarWayBill.getCustomerName());
             setTimeDue(noCarWayBill);
             setBillNums(noCarWayBill);
             RespR respR = new RespR(noCarBillWayService.findByPageAndWayBill(page, noCarWayBill));
@@ -171,8 +177,9 @@ public class NoCarController {
     @PostMapping("/findBillWayCust")
     @ApiOperation(value="分页查询无车运单信息", notes="分页查询无车运单信息")
     @LoginRequired
-    public RespR findBillWayCust(Page page, NoCarWayBill noCarWayBill) {
+    public RespR findBillWayCust(Page page, NoCarWayBill noCarWayBill,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,noCarWayBill.getCustomerName());
             setTimeDue2(noCarWayBill);
             setBillNums(noCarWayBill);
             noCarWayBill.setBatchNum("1");
@@ -192,8 +199,9 @@ public class NoCarController {
     @PostMapping("/findImportBillWay")
     @ApiOperation(value="分页查询无车运单信息", notes="分页查询无车运单信息")
     @LoginRequired
-    public RespR findImportBillWay(Page page, NoCarWayBill noCarWayBill) {
+    public RespR findImportBillWay(Page page, NoCarWayBill noCarWayBill,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,noCarWayBill.getCustomerName());
             setTimeDue(noCarWayBill);
             RespR respR = new RespR(noCarBillWayImportService.findByPageAndWayBill(page, noCarWayBill));
             return respR;
@@ -209,7 +217,7 @@ public class NoCarController {
      */
     @PostMapping("/updateStatus")
     @ApiOperation(value="重新获取发票并更新状态", notes="重新获取发票并更新状态")
-    @LoginRequired
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR updateStatus(String noCarWayBillStr) {
         List<NoCarWayBill> noCarWayBills = JSON.parseArray(noCarWayBillStr,NoCarWayBill.class);
 
@@ -234,7 +242,7 @@ public class NoCarController {
      */
     @PostMapping("/findBillWayException")
     @ApiOperation(value="分页查询异常运单信息", notes="分页查询异常运单信息")
-    @LoginRequired
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR findBillWayException(Page page, NoCarWayBill noCarWayBill) {
         try {
             setTimeDue(noCarWayBill);
@@ -254,8 +262,9 @@ public class NoCarController {
     @PostMapping("/findNocarInvoices")
     @ApiOperation(value="分页查询无车发票信息", notes="分页查询无车发票信息")
     @LoginRequired
-    public RespR findNocarInvoices(Page page, BillInvoice billInvoice) {
+    public RespR findNocarInvoices(Page page, BillInvoice billInvoice,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,billInvoice.getCustomerName());
             setParams(billInvoice);
             RespR respR = new RespR(nocarInvoiceService.findByPageAndInvoice(page, billInvoice));
             return respR;
@@ -309,7 +318,7 @@ public class NoCarController {
      */
     @PostMapping("/batchImportNocarInvoices")
     @ApiOperation(value="批量查询无车发票信息", notes="批量查询无车发票信息")
-    @LoginRequired
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR batchImportNocarInvoices(@RequestParam("file") MultipartFile file) {
         try {
             ImportParams params = new ImportParams();
@@ -333,7 +342,7 @@ public class NoCarController {
      */
     @PostMapping("/batchImportNocarBillWay")
     @ApiOperation(value="批量查询无车运单信息", notes="批量查询无车运单信息")
-    @LoginRequired
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR batchImportNocarBillWay(@RequestParam("file") MultipartFile file) {
         try {
             ImportParams params = new ImportParams();
@@ -360,7 +369,8 @@ public class NoCarController {
     @PostMapping("/findNocarInvoicesStatic")
     @ApiOperation(value="分页查询无车发票统计信息", notes="分页查询无车发票统计信息")
     @LoginRequired
-    public RespR findNocarInvoicesStatic(BillInvoice billInvoice) {
+    public RespR findNocarInvoicesStatic(BillInvoice billInvoice,User user) {
+        checkHasAuthRole.checkCustomerRole(user,billInvoice.getCustomerName());
         try {
             if(!StringUtils.isEmpty(billInvoice.getInvoiceMakeTime()) && !"null".equals(billInvoice.getInvoiceMakeTime())){
                 String [] res =billInvoice.getInvoiceMakeTime().split(",");
@@ -389,8 +399,9 @@ public class NoCarController {
     @PostMapping("/batchImprotBillWay")
     @ApiOperation(value="批量运单导入", notes="批量运单导入")
     @LoginRequired
-    public RespR batchImprotBillWay(@RequestParam("file") MultipartFile file,String customerName) {
+    public RespR batchImprotBillWay(@RequestParam("file") MultipartFile file,String customerName,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,customerName);
             ImportParams params = new ImportParams();
             params.setTitleRows(1);
             params.setHeadRows(1);
@@ -414,8 +425,9 @@ public class NoCarController {
     @PostMapping("/batchImprotHistoryBillWay")
     @ApiOperation(value="批量历史运单导入", notes="批量历史运单导入")
     @LoginRequired
-    public RespR batchImprotHistoryBillWay(@RequestParam("file") MultipartFile file,String customerName) {
+    public RespR batchImprotHistoryBillWay(@RequestParam("file") MultipartFile file,String customerName,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,customerName);
             ImportParams params = new ImportParams();
             params.setTitleRows(1);
             params.setHeadRows(1);
@@ -439,7 +451,8 @@ public class NoCarController {
     @PostMapping("/batchImprotEndBillWay")
     @ApiOperation(value="批量运单结束", notes="批量运单结束")
     @LoginRequired
-    public RespR batchImprotEndBillWay(@RequestParam("file") MultipartFile file,String customerName) {
+    public RespR batchImprotEndBillWay(@RequestParam("file") MultipartFile file,String customerName,User user) {
+        checkHasAuthRole.checkCustomerRole(user,customerName);
         try {
             ImportParams params = new ImportParams();
             params.setTitleRows(1);
@@ -593,9 +606,9 @@ public class NoCarController {
     @PostMapping("/findBatchList")
     @ApiOperation(value="运单批次号查询", notes="运单批次号查询")
     @LoginRequired
-    public RespR findBatchList(Page page, CustomerOper customerOper) {
+    public RespR findBatchList(Page page, CustomerOper customerOper,User user) {
         try {
-
+            checkHasAuthRole.checkCustomerRole(user,customerOper.getCustomerName());
             RespR respR = new RespR(customerOperService.findAllCustomerOper(page, customerOper));
             return respR;
         }catch (Exception e){
@@ -613,8 +626,9 @@ public class NoCarController {
     @PostMapping("/findNocarCalculateInfo")
     @ApiOperation(value="分页查询无车计费信息", notes="分页查询无车计费信息")
     @LoginRequired
-    public RespR findNocarCalculateInfo(Page page, NoCarCalculateInfor carCalculateInfor) {
+    public RespR findNocarCalculateInfo(Page page, NoCarCalculateInfor carCalculateInfor,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,carCalculateInfor.getCustomId());
             setTimeDue1(carCalculateInfor);
             RespR respR = new RespR(noCarCalculateInfoService.findByPageAndCalculateInfor(page, carCalculateInfor));
             return respR;
@@ -633,8 +647,9 @@ public class NoCarController {
     @PostMapping("/findNocarCalculateInfoStatis")
     @ApiOperation(value="分页查询无车计费统计信息", notes="分页查询无车计费统计信息")
     @LoginRequired
-    public RespR findNocarCalculateInfoStatis(NoCarCalculateInfor carCalculateInfor) {
+    public RespR findNocarCalculateInfoStatis(NoCarCalculateInfor carCalculateInfor,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,carCalculateInfor.getCustomId());
             setTimeDue1(carCalculateInfor);
             RespR respR = new RespR(noCarCalculateInfoService.findNocarCalculateInfoStatis(carCalculateInfor));
             return respR;

+ 27 - 14
src/main/java/com/jkcredit/invoice/controller/business/SelfCarController.java

@@ -6,6 +6,7 @@ import cn.com.taiji.sdk.model.comm.protocol.tts.trade.service.CardTradeModel;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jkcredit.invoice.annotation.LoginRequired;
+import com.jkcredit.invoice.annotation.annotationdes.AuthenticationInterceptor;
 import com.jkcredit.invoice.mapper.customer.CustomerCarRecMapper;
 import com.jkcredit.invoice.mapper.customer.CustomerRecMapper;
 import com.jkcredit.invoice.mapper.waybill.SellCarTradeMapper;
@@ -14,11 +15,13 @@ import com.jkcredit.invoice.model.entity.customer.CustomerCarRec;
 import com.jkcredit.invoice.model.entity.customer.CustomerRec;
 import com.jkcredit.invoice.model.entity.invoice.SelfCarAppl;
 import com.jkcredit.invoice.model.entity.invoice.SelfCarInvoice;
+import com.jkcredit.invoice.model.entity.user.User;
 import com.jkcredit.invoice.model.entity.waybill.SelfCarTrade;
 import com.jkcredit.invoice.model.vo.CardAndTradeVo;
 import com.jkcredit.invoice.model.vo.CodeAndNumVo;
 import com.jkcredit.invoice.service.calculateinfor.SelfCarCalculateInfoService;
 import com.jkcredit.invoice.service.customer.CustomerService;
+import com.jkcredit.invoice.service.lowerservice.CheckHasAuthRole;
 import com.jkcredit.invoice.service.lowerservice.SelfCarServiceL;
 import com.jkcredit.invoice.service.lowerservice.vo.*;
 import com.jkcredit.invoice.service.selfcar.SelfCarApplyService;
@@ -66,6 +69,8 @@ public class SelfCarController {
     SellCarTradeMapper sellCarTradeMapper;
     @Autowired
     CustomerService customerService;
+    @Autowired
+    private CheckHasAuthRole checkHasAuthRole;
     /**
      * 解绑etc卡
      * @param etcNum    参数集
@@ -73,7 +78,7 @@ public class SelfCarController {
      */
     @PostMapping("/selfCarUnBind")
     @ApiOperation(value="解绑etc卡", notes="解绑etc卡")
-    @LoginRequired
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR selfCarUnBind(String etcNum) {
         try {
             RespR respR = selfCarService.selfCarUnBind(etcNum);
@@ -93,8 +98,9 @@ public class SelfCarController {
     @PostMapping("/findTrades")
     @ApiOperation(value="分页查询自有车交易信息", notes="分页查询自有车交易信息")
     @LoginRequired
-    public RespR findTrades(Page page, SelfCarTrade selfCarTrade) {
+    public RespR findTrades(Page page, SelfCarTrade selfCarTrade, User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,selfCarTrade.getCustomId());
             setTimeDue(selfCarTrade);
             RespR respR = new RespR(selfCarTradeService.findByPageAndTrade(page, selfCarTrade));
             return respR;
@@ -112,8 +118,9 @@ public class SelfCarController {
     @PostMapping("/findTradesUpper")
     @ApiOperation(value="分页查询自有车交易信息", notes="分页查询自有车交易信息")
     @LoginRequired
-    public RespR findTradesUpper(Page page, SelfCarTrade selfCarTrade) {
+    public RespR findTradesUpper(Page page, SelfCarTrade selfCarTrade,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,selfCarTrade.getCustomId());
             setTimeDue(selfCarTrade);
             if(StringUtils.isEmpty(selfCarTrade.getCompanyName())){
                 return new RespR(false,"需要输入公司名称");
@@ -178,7 +185,7 @@ public class SelfCarController {
      */
     @PostMapping("/updateTrades")
     @ApiOperation(value="更新交易id状态", notes="更新交易id状态")
-    @LoginRequired
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public void updateTrades( String selfCarTradesStr,String companyName) {
         try {
 
@@ -241,8 +248,9 @@ public class SelfCarController {
     @PostMapping("/findSelfCarInvoices")
     @ApiOperation(value="分页查询自有车发票信息", notes="分页查询自有车发票信息")
     @LoginRequired
-    public RespR findSelfCarInvoices(Page page, SelfCarInvoice selfCarInvoice) {
+    public RespR findSelfCarInvoices(Page page, SelfCarInvoice selfCarInvoice,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,selfCarInvoice.getCustomerName());
             if(!StringUtils.isEmpty(selfCarInvoice.getCardId()) && !StringUtils.isEmpty(selfCarInvoice.getTradeId())){
                 String [] cardIdArr = selfCarInvoice.getCardId().split(",");
                 String [] tradeIdArr=null;
@@ -288,8 +296,9 @@ public class SelfCarController {
     @PostMapping("/findSelfcarCalculateInfo")
     @ApiOperation(value="分页查询自有车计费信息", notes="分页查询自有车计费信息")
     @LoginRequired
-    public RespR findSelfcarCalculateInfo(Page page, SelfCarCalculateInfor carCalculateInfor) {
+    public RespR findSelfcarCalculateInfo(Page page, SelfCarCalculateInfor carCalculateInfor,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,carCalculateInfor.getCustomId());
             if(!StringUtils.isEmpty(carCalculateInfor.getCalTime()) && !"null".equals(carCalculateInfor.getCalTime())){
                 String [] res =carCalculateInfor.getCalTime().split(",");
                 carCalculateInfor.setCalTimeStart(res[0]);
@@ -313,8 +322,9 @@ public class SelfCarController {
     @PostMapping("/findSelfcarAppls")
     @ApiOperation(value="分页查询自有车申请信息", notes="分页查询自有车申请信息")
     @LoginRequired
-    public RespR findSelfcarAppls(Page page, SelfCarAppl selfCarAppl) {
+    public RespR findSelfcarAppls(Page page, SelfCarAppl selfCarAppl,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,selfCarAppl.getCustomId());
             RespR respR = new RespR(selfCarApplyService.findByPageAndInvoice(page,selfCarAppl));
             return respR;
         }catch (Exception e){
@@ -331,8 +341,9 @@ public class SelfCarController {
     @PostMapping("/findSelfcarCalculateInfoSta")
     @ApiOperation(value="自有车计费统计信息", notes="自有车计费统计信息")
     @LoginRequired
-    public RespR findSelfcarCalculateInfoSta(SelfCarCalculateInfor carCalculateInfor) {
+    public RespR findSelfcarCalculateInfoSta(SelfCarCalculateInfor carCalculateInfor,User user) {
         try {
+            checkHasAuthRole.checkCustomerRole(user,carCalculateInfor.getCustomId());
             if(!StringUtils.isEmpty(carCalculateInfor.getCalTime()) && !"null".equals(carCalculateInfor.getCalTime())){
                 String [] res =carCalculateInfor.getCalTime().split(",");
                 carCalculateInfor.setCalTimeStart(res[0]);
@@ -352,7 +363,8 @@ public class SelfCarController {
     @PostMapping("/getTradeList")
     @ApiOperation(value="获取需要开票的交易Id列表", notes="获取需要开票的交易Id列表")
     @LoginRequired
-    public RespR getTradeList(@RequestBody TradeRequestCarNumVo tradeRequestCarNumVo){
+    public RespR getTradeList(@RequestBody TradeRequestCarNumVo tradeRequestCarNumVo,User user){
+        checkHasAuthRole.checkCompanyRole(user,tradeRequestCarNumVo.getCompanyName());
         //通过车牌号查询所有的Etc卡号
         List<CustomerCarRec> customerCarRecs = selfCarService.getEtcsByCarNum(tradeRequestCarNumVo.getCarNum());
         if(customerCarRecs == null || customerCarRecs.size()<=0){
@@ -383,7 +395,8 @@ public class SelfCarController {
     @PostMapping("/applTradeList")
     @ApiOperation(value="根据车牌号进行开票操作", notes="根据车牌号进行开票操作")
     @LoginRequired
-    public RespR applTradeList(@RequestBody TradeRequestCarNumVo tradeRequestCarNumVo){
+    public RespR applTradeList(@RequestBody TradeRequestCarNumVo tradeRequestCarNumVo,User user){
+        checkHasAuthRole.checkCompanyRole(user,tradeRequestCarNumVo.getCompanyName());
         String [] cardAndTrades = tradeRequestCarNumVo.getCarIdStr().split(",");
         Map<String,InvoiceApplVo> map = new HashMap<>();
         for(int i = 0;i<cardAndTrades.length;i++){
@@ -430,9 +443,9 @@ public class SelfCarController {
     @PostMapping("/findSelfcarInvoiceByTime")
     @ApiOperation(value="通过时间,车牌号查询开票信息", notes="通过时间,车牌号查询开票信息")
     @LoginRequired
-    public RespR findSelfcarInvoiceByTime(@RequestBody  SelfcarInvoiceByTimeVo selfcarInvoiceByTimeVo) {
+    public RespR findSelfcarInvoiceByTime(@RequestBody  SelfcarInvoiceByTimeVo selfcarInvoiceByTimeVo,User user) {
         try {
-
+            checkHasAuthRole.checkCompanyRole(user,selfcarInvoiceByTimeVo.getCompanyName());
             if(!customerService.checkMoneyEnough(selfcarInvoiceByTimeVo.getCustomerName())){
                 return new RespR(false,"余额不足");
             }
@@ -484,7 +497,7 @@ public class SelfCarController {
      */
     @PostMapping("/batchImportSelfcarTrades")
     @ApiOperation(value="批量查询自有车交易信息", notes="批量查询自有车交易信息")
-    @LoginRequired
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR batchImportSelfcarTrades(@RequestParam("file") MultipartFile file) {
         try {
             ImportParams params = new ImportParams();
@@ -509,7 +522,7 @@ public class SelfCarController {
      */
     @PostMapping("/batchImportSelfcarInvoices")
     @ApiOperation(value="批量查询自有车发票信息", notes="批量查询自有车发票信息")
-    @LoginRequired
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR batchImportSelfcarInvoices(@RequestParam("file") MultipartFile file) {
         try {
             ImportParams params = new ImportParams();

+ 15 - 4
src/main/java/com/jkcredit/invoice/controller/interserver/CustomerLowerServiceController.java

@@ -1,7 +1,10 @@
 package com.jkcredit.invoice.controller.interserver;
 
+import com.jkcredit.invoice.annotation.LoginRequired;
 import com.jkcredit.invoice.model.entity.customer.CustomerRec;
+import com.jkcredit.invoice.model.entity.user.User;
 import com.jkcredit.invoice.service.customer.CustomerService;
+import com.jkcredit.invoice.service.lowerservice.CheckHasAuthRole;
 import com.jkcredit.invoice.service.lowerservice.CustomeLowerService;
 import com.jkcredit.invoice.util.RespR;
 import io.swagger.annotations.Api;
@@ -23,12 +26,15 @@ public class CustomerLowerServiceController {
 
     @Autowired
     CustomerService customerService;
+    @Autowired
+    private CheckHasAuthRole checkHasAuthRole;
     /**
      * @param customerRecs
      * @return
      */
     @PostMapping("/customeRec")
     @ApiOperation(value="用户备案", notes="用户备案")
+    @LoginRequired
     public RespR customeRec(@RequestBody List<CustomerRec> customerRecs){
         return lowerService.customeRec(customerRecs);
     }
@@ -40,7 +46,9 @@ public class CustomerLowerServiceController {
      */
     @PostMapping("/customeRecQueryList")
     @ApiOperation(value="用户备案列表查询", notes="用户备案列表查询")
-    public RespR customeRecQueryList(@RequestBody CustomerRec customerRec){
+    @LoginRequired
+    public RespR customeRecQueryList(@RequestBody CustomerRec customerRec,User user){
+        checkHasAuthRole.checkCustomerRole(user,customerRec.getCustomerName());
         return lowerService.customeRecQueryList(customerRec);
     }
 
@@ -50,8 +58,9 @@ public class CustomerLowerServiceController {
      */
     @PostMapping("/customeRecQueryUpper")
     @ApiOperation(value="企业备案信息上游查询", notes="企业备案上游查询")
-    //@LoginRequired
-    public RespR customeRecQueryUpper(@RequestBody CustomerRec customerRec){
+    @LoginRequired
+    public RespR customeRecQueryUpper(@RequestBody CustomerRec customerRec,User user){
+        checkHasAuthRole.checkCustomerRole(user,customerRec.getCustomerName());
         return customerService.customerRecQuery(customerRec);
     }
     /**
@@ -60,7 +69,9 @@ public class CustomerLowerServiceController {
      */
     @PostMapping("/customeRecQuery")
     @ApiOperation(value="用户备案信息查询", notes="用户备案信息查询")
-    public RespR customeRecQuery(@RequestBody CustomerRec customerRec){
+    @LoginRequired
+    public RespR customeRecQuery(@RequestBody CustomerRec customerRec,User user){
+        checkHasAuthRole.checkCustomerRole(user,customerRec.getCustomerName());
         return lowerService.customeRecQuery(customerRec);
     }
 

+ 29 - 4
src/main/java/com/jkcredit/invoice/controller/interserver/NoCarServiceController.java

@@ -1,11 +1,15 @@
 package com.jkcredit.invoice.controller.interserver;
 
+import com.jkcredit.invoice.annotation.LoginRequired;
+import com.jkcredit.invoice.annotation.annotationdes.AuthenticationInterceptor;
 import com.jkcredit.invoice.mapper.calculateinfor.MounthAccMapper;
 import com.jkcredit.invoice.mapper.customer.CustomerCarRecMapper;
 import com.jkcredit.invoice.mapper.customer.CustomerRecMapper;
 import com.jkcredit.invoice.model.entity.customer.CustomerCarRec;
 import com.jkcredit.invoice.model.entity.customer.CustomerRec;
+import com.jkcredit.invoice.model.entity.user.User;
 import com.jkcredit.invoice.model.entity.waybill.NoCarWayBill;
+import com.jkcredit.invoice.service.lowerservice.CheckHasAuthRole;
 import com.jkcredit.invoice.service.lowerservice.NoCarService;
 import com.jkcredit.invoice.service.lowerservice.vo.HCInvoiceQueryVo;
 import com.jkcredit.invoice.service.lowerservice.vo.MonthAccountQueryVo;
@@ -29,13 +33,18 @@ public class NoCarServiceController {
 
     @Autowired
     private CustomerRecMapper customerRecMapper;
+
+    @Autowired
+    private CheckHasAuthRole checkHasAuthRole;
     /**
      * @param
      * @return
      */
     @PostMapping("/noCarVoiceQuery")
     @ApiOperation(value="发票查询接口(走本地库)", notes="发票查询接口(走本地库)")
-    public RespR noCarVoiceQuery(@RequestBody NoCarWayBill noCarWayBill){
+    @LoginRequired
+    public RespR noCarVoiceQuery(@RequestBody NoCarWayBill noCarWayBill, User user){
+        checkHasAuthRole.checkCustomerRole(user,noCarWayBill.getCustomerName());
         return noCarService.getInvoiceByWayBillNumReal(noCarWayBill,true);
     }
 
@@ -45,6 +54,7 @@ public class NoCarServiceController {
      */
     @PostMapping("/hCVoiceQuery")
     @ApiOperation(value="红冲发票查询接口", notes="红冲发票查询接口")
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR hCVoiceQuery(@RequestBody HCInvoiceQueryVo hcInvoiceQueryVo){
         return noCarService.hCInvoiceQuery(hcInvoiceQueryVo);
     }
@@ -54,6 +64,7 @@ public class NoCarServiceController {
      */
     @PostMapping("/hCVoiceUpdate")
     @ApiOperation(value="红冲发票更新接口", notes="红冲发票更新接口")
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR hCVoiceUpdate(@RequestBody HCInvoiceQueryVo hcInvoiceQueryVo){
         return noCarService.hCInvoiceUpdate(hcInvoiceQueryVo);
     }
@@ -63,6 +74,7 @@ public class NoCarServiceController {
      */
     @PostMapping("/monthAccQuery")
     @ApiOperation(value="月账单交易查询", notes="月账单交易查询")
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR monthAccQuery(@RequestBody MonthAccountQueryVo monthAccountQueryVo){
         return noCarService.monthAccQuery(monthAccountQueryVo);
     }
@@ -75,6 +87,7 @@ public class NoCarServiceController {
      */
     @PostMapping("/monthAccQueryAll")
     @ApiOperation(value="月账单交易查询", notes="月账单交易查询")
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR monthAccQueryAll(){
         return new RespR(mounthAccMapper.selectAllMounthAcc());
     }
@@ -84,6 +97,7 @@ public class NoCarServiceController {
      */
     @PostMapping("/monthAccUpdate")
     @ApiOperation(value="月账单交易查询更新", notes="月账单交易查询更新")
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR monthAccQueryUpdate(@RequestBody MonthAccountQueryVo monthAccountQueryVo){
 
        List<CustomerRec> companys =  customerRecMapper.selectAllNoCarComapany();
@@ -101,7 +115,14 @@ public class NoCarServiceController {
      */
     @PostMapping("/customerCarRec")
     @ApiOperation(value="", notes="车辆备案")
-    public RespR customerCarRec(@RequestBody List<CustomerCarRec> customerCarRecs){
+    @LoginRequired
+    public RespR customerCarRec(@RequestBody List<CustomerCarRec> customerCarRecs,User user){
+        if(customerCarRecs!=null && customerCarRecs.size()>0){
+            for(CustomerCarRec customerCarRec:customerCarRecs){
+                checkHasAuthRole.checkCustomerRole(user,customerCarRec.getCustomerName());
+            }
+
+        }
         return noCarService.customerCarRec(customerCarRecs);
     }
     /**
@@ -110,7 +131,9 @@ public class NoCarServiceController {
      */
     @PostMapping("/customeRecUpperQuery")
     @ApiOperation(value="车辆备案信息查询", notes="用户备案信息查询")
-    public RespR customeRecUpperQuery(@RequestBody CustomerCarRec customerCarRec){
+    @LoginRequired
+    public RespR customeRecUpperQuery(@RequestBody CustomerCarRec customerCarRec,User user){
+        checkHasAuthRole.checkCustomerRole(user,customerCarRec.getCustomerName());
         return noCarService.customerCarRecQueryUpper(customerCarRec);
     }
 
@@ -122,7 +145,9 @@ public class NoCarServiceController {
      */
     @PostMapping("/customerCarRecQuery")
     @ApiOperation(value="", notes="车辆备案查询")
-    public RespR customerCarRecQuery(@RequestBody CustomerCarRec customerCarRec){
+    @LoginRequired
+    public RespR customerCarRecQuery(@RequestBody CustomerCarRec customerCarRec,User user){
+        checkHasAuthRole.checkCustomerRole(user,customerCarRec.getCustomerName());
         return noCarService.customerCarRecQuery(customerCarRec);
     }
 }

+ 30 - 7
src/main/java/com/jkcredit/invoice/controller/interserver/SelfCarServiceController.java

@@ -1,7 +1,11 @@
 package com.jkcredit.invoice.controller.interserver;
 
 import cn.com.taiji.sdk.model.comm.protocol.tts.trade.service.CardTradeModel;
+import com.jkcredit.invoice.annotation.LoginRequired;
+import com.jkcredit.invoice.annotation.annotationdes.AuthenticationInterceptor;
 import com.jkcredit.invoice.model.entity.customer.CustomerCarRec;
+import com.jkcredit.invoice.model.entity.user.User;
+import com.jkcredit.invoice.service.lowerservice.CheckHasAuthRole;
 import com.jkcredit.invoice.service.lowerservice.SelfCarServiceL;
 import com.jkcredit.invoice.service.lowerservice.vo.*;
 import com.jkcredit.invoice.util.RespR;
@@ -23,13 +27,17 @@ import java.util.List;
 public class SelfCarServiceController {
     @Autowired
     SelfCarServiceL selfCarService;
+    @Autowired
+    private CheckHasAuthRole checkHasAuthRole;
     /**
      * @param tradeRequestVo
      * @return
      */
     @PostMapping("/getTradeList")
     @ApiOperation(value="获取交易Id列表", notes="获取交易Id列表")
-    public RespR getTradeList(@RequestBody TradeRequestVo tradeRequestVo){
+    @LoginRequired
+    public RespR getTradeList(@RequestBody TradeRequestVo tradeRequestVo, User user){
+        checkHasAuthRole.checkCustomerRole(user,tradeRequestVo.getCustomerName());
         if(tradeRequestVo.getTradeStatus() ==null){
             tradeRequestVo.setTradeStatus(1);
             RespR<List<CardTradeModel>> respRbefore = selfCarService.getTradeList(tradeRequestVo);
@@ -61,7 +69,9 @@ public class SelfCarServiceController {
      */
     @PostMapping("/applInvoice")
     @ApiOperation(value="开票申请", notes="开票申请")
-    public RespR applInvoice(@RequestBody InvoiceApplVo invoiceApplVo){
+    @LoginRequired
+    public RespR applInvoice(@RequestBody InvoiceApplVo invoiceApplVo,User user){
+        checkHasAuthRole.checkCompanyRole(user,invoiceApplVo.getCompanyName());
         return selfCarService.applInvoice(invoiceApplVo);
     }
 
@@ -71,7 +81,9 @@ public class SelfCarServiceController {
      */
     @PostMapping("/getSelfCarInvoicesByTime")
     @ApiOperation(value="已开发票查询", notes="已开发票查询")
-    public RespR getSelfCarInvoicesByTime(@RequestBody SelfCarDueQueryVo selfCarDueQueryVo){
+    @LoginRequired
+    public RespR getSelfCarInvoicesByTime(@RequestBody SelfCarDueQueryVo selfCarDueQueryVo,User user){
+        checkHasAuthRole.checkCompanyRole(user,selfCarDueQueryVo.getCompanyName());
         return selfCarService.getSelfCarInvoicesByTime(selfCarDueQueryVo,null);
     }
     /**
@@ -80,7 +92,9 @@ public class SelfCarServiceController {
      */
     @PostMapping("/getSelfCarInvoicePackage")
     @ApiOperation(value="发票打包下载", notes="发票打包下载")
-    public RespR getSelfCarInvoicePackage(@RequestBody InvoicePackageVo invoicePackageVo){
+    @LoginRequired
+    public RespR getSelfCarInvoicePackage(@RequestBody InvoicePackageVo invoicePackageVo,User user){
+        checkHasAuthRole.checkCustomerRole(user,invoicePackageVo.getCustomerName());
         return selfCarService.getInvoicePackge(invoicePackageVo);
     }
     /**
@@ -89,6 +103,7 @@ public class SelfCarServiceController {
      */
     @PostMapping("/getSelfCarInvoicesByAppl")
     @ApiOperation(value="按申请id查询发票", notes="按申请id查询发票")
+    @LoginRequired
     public RespR getSelfCarInvoicesByAppl(ApplQueryInvVo applQueryInvVo){
         if(StringUtils.isEmpty(applQueryInvVo.getApplId()) || StringUtils.isEmpty(applQueryInvVo.getCompanyNum()) || StringUtils.isEmpty(applQueryInvVo.getEtcNum())){
             return new RespR(false,"参数不能为空");
@@ -101,7 +116,9 @@ public class SelfCarServiceController {
      */
     @PostMapping("/customerETCQuery")
     @ApiOperation(value="", notes="ETC绑定列表查询")
-    public RespR customerETCQuery(@RequestBody EtcQueryVo etcQueryVo){
+    @LoginRequired
+    public RespR customerETCQuery(@RequestBody EtcQueryVo etcQueryVo,User user){
+        checkHasAuthRole.checkCustomerRole(user,etcQueryVo.getCustomerName());
         return selfCarService.getEtcInfo(etcQueryVo);
     }
 
@@ -113,7 +130,9 @@ public class SelfCarServiceController {
      */
     @PostMapping("/queryEtcInfo")
     @ApiOperation(value="", notes="备案ETC查询")
-    public RespR customerQueryEtcInfo(@RequestBody EtcBindVo etcBindVo){
+    @LoginRequired
+    public RespR customerQueryEtcInfo(@RequestBody EtcBindVo etcBindVo,User user){
+        checkHasAuthRole.checkCustomerRole(user,etcBindVo.getCustomerName());
         return selfCarService.queryEtcInfo(etcBindVo);
     }
 
@@ -123,7 +142,9 @@ public class SelfCarServiceController {
      */
     @PostMapping("/customerETCRec")
     @ApiOperation(value="", notes="ETC备案")
-    public RespR customerETCRec(@RequestBody EtcBindVo etcBindVo){
+    @LoginRequired
+    public RespR customerETCRec(@RequestBody EtcBindVo etcBindVo,User user){
+        checkHasAuthRole.checkCompanyRole(user,etcBindVo.getCompanyName());
         return selfCarService.customerEtcRec(etcBindVo);
     }
 
@@ -134,6 +155,7 @@ public class SelfCarServiceController {
      */
     @PostMapping("/customerETCRecValid")
     @ApiOperation(value="", notes="ETC备案验证")
+    @LoginRequired
     public RespR customerETCRecValid(@RequestBody EtcValidVo etcValidVo){
         return selfCarService.customerEtcRecValid(etcValidVo);
     }
@@ -144,6 +166,7 @@ public class SelfCarServiceController {
      */
     @PostMapping("/customerCarUnRec")
     @ApiOperation(value="", notes="etc解绑")
+    @LoginRequired(role = AuthenticationInterceptor.AUTH_ADMIN)
     public RespR customerCarUnRec(@RequestBody List<CustomerCarRec> customerCarRecs){
         return selfCarService.customerCarUnRec(customerCarRecs);
     }

+ 9 - 0
src/main/java/com/jkcredit/invoice/service/lowerservice/CheckHasAuthRole.java

@@ -0,0 +1,9 @@
+package com.jkcredit.invoice.service.lowerservice;
+
+import com.jkcredit.invoice.model.entity.user.User;
+
+public interface CheckHasAuthRole {
+    public void checkCompanyRole(User user,String company);
+
+    public void checkCustomerRole(User user,String customerName);
+}

+ 38 - 0
src/main/java/com/jkcredit/invoice/service/lowerservice/impl/CheckHasAuthRoleImpl.java

@@ -0,0 +1,38 @@
+package com.jkcredit.invoice.service.lowerservice.impl;
+
+import com.jkcredit.invoice.annotation.annotationdes.AuthenticationInterceptor;
+import com.jkcredit.invoice.mapper.customer.CustomerRecMapper;
+import com.jkcredit.invoice.model.entity.customer.CustomerRec;
+import com.jkcredit.invoice.model.entity.user.User;
+import com.jkcredit.invoice.service.lowerservice.CheckHasAuthRole;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service("checkHasAuthRole")
+public class CheckHasAuthRoleImpl implements CheckHasAuthRole{
+    @Autowired
+    CustomerRecMapper customerRecMapper;
+    @Override
+    public void checkCompanyRole(User user, String companyName) {
+        if(AuthenticationInterceptor.AUTH_ADMIN.equals(user.getRoleId())){
+            return ;
+        }
+        CustomerRec customerRecPa = new CustomerRec();
+        customerRecPa.setCustomerName(user.getUserName());
+        customerRecPa.setCompanyName(companyName);
+        CustomerRec customerRec = customerRecMapper.selectByCustomerNameAndCompany(customerRecPa);
+        if(customerRec != null){
+            throw new RuntimeException("非法的资源请求");
+        }
+    }
+
+    @Override
+    public void checkCustomerRole(User user, String customerName) {
+        if(AuthenticationInterceptor.AUTH_ADMIN.equals(user.getRoleId())){
+            return ;
+        }
+        if(!user.getUserName().equals(customerName)){
+            throw new RuntimeException("非法的资源请求");
+        }
+    }
+}

+ 5 - 6
src/main/resources/application.yml

@@ -57,9 +57,9 @@ spring:
     #url: jdbc:mysql://127.0.0.1:3306/db_invoice?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true&allowPublicKeyRetrieval=true
     #username: root
     #password: root
-    url: jdbc:mysql://172.16.223.133:3306/db_invoice?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
-    username: invoice
-    password: invoiceX%190605
+    url: jdbc:mysql://192.168.50.4:3306/db_invoice?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
+    username: root
+    password: jk@123
     driver-class-name: com.mysql.jdbc.Driver
     # \u4F7F\u7528druid\u6570\u636E\u6E90
     type: com.alibaba.druid.pool.DruidDataSource
@@ -93,9 +93,8 @@ spring:
           auth: true
           enable: true
   redis:
-    host: 172.16.223.134
+    host: 127.0.0.1
     port: 6379
-    password: jiaokedata
   rabbitmq:
     host: localhost
     port: 5672
@@ -116,7 +115,7 @@ spring:
 spring:
   profiles: prod
   datasource:
-    url: jdbc:mysql://192.168.50.88:3306/db_invoice?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
+    url: jdbc:mysql://127.0.0.1:3306/db_invoice?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
     username: root
     password: jk@123
     driver-class-name: com.mysql.jdbc.Driver