Browse Source

新增发票管理后台接口

DESKTOP-VAEGFGM\zqc 10 months ago
parent
commit
8bf59fe24a

+ 106 - 0
citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/controller/admin/invoice/AdminInvoiceListController.java

@@ -0,0 +1,106 @@
+package com.citu.module.member.controller.admin.invoice;
+
+import com.citu.framework.apilog.core.annotation.ApiAccessLog;
+import com.citu.framework.apilog.core.enums.OperateTypeEnum;
+import com.citu.framework.common.pojo.CommonResult;
+import com.citu.framework.common.pojo.PageParam;
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.common.util.object.BeanUtils;
+import com.citu.framework.excel.core.util.ExcelUtils;
+import com.citu.module.member.controller.admin.invoice.vo.AdminInvoiceListPageReqVO;
+import com.citu.module.member.controller.admin.invoice.vo.InvoiceStatusUpdateReqVo;
+import com.citu.module.member.controller.app.invoice.vo.InvoiceListPageReqVO;
+import com.citu.module.member.controller.app.invoice.vo.InvoiceListRespVO;
+import com.citu.module.member.controller.app.invoice.vo.InvoiceListSaveReqVO;
+import com.citu.module.member.dal.dataobject.invoice.InvoiceListDO;
+import com.citu.module.member.service.invoice.InvoiceListService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+
+import java.io.IOException;
+import java.util.List;
+
+import static com.citu.framework.common.pojo.CommonResult.success;
+
+
+@Tag(name = " 发票清单")
+@RestController
+@RequestMapping("/member/invoice-list/admin")
+@Validated
+public class AdminInvoiceListController {
+
+    @Resource
+    private InvoiceListService invoiceListService;
+
+//    @PostMapping("/create")
+//    @Operation(summary = "创建发票")
+//    public CommonResult<Long> createInvoiceList(@Valid @RequestBody InvoiceListSaveReqVO createReqVO) {
+//        return success(invoiceListService.createInvoiceList(createReqVO));
+//    }
+
+//    @PutMapping("/update")
+//    @Operation(summary = "更新发票清单")
+//    @PreAuthorize("@ss.hasPermission('member:invoice-list:update')")
+//    public CommonResult<Boolean> updateInvoiceList(@Valid @RequestBody InvoiceListSaveReqVO updateReqVO) {
+//        invoiceListService.updateInvoiceList(updateReqVO);
+//        return success(true);
+//    }
+
+//    @DeleteMapping("/delete")
+//    @Operation(summary = "删除发票清单")
+//    @Parameter(name = "id", description = "编号", required = true)
+//    public CommonResult<Boolean> deleteInvoiceList(@RequestParam("id") String id) {
+//        invoiceListService.deleteInvoiceList(id);
+//        return success(true);
+//    }
+
+
+
+
+//    @GetMapping("/get")
+//    @Operation(summary = "获得发票清单")
+//    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+//    @PreAuthorize("@ss.hasPermission('member:invoice-list:query')")
+//    public CommonResult<InvoiceListRespVO> getInvoiceList(@RequestParam("id") Long id) {
+//        InvoiceListDO invoiceList = invoiceListService.getInvoiceList(id);
+//        return success(BeanUtils.toBean(invoiceList, InvoiceListRespVO.class));
+//    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得发票清单分页")
+    @PreAuthorize("@ss.hasPermission('member:invoice-list:query')")
+    public CommonResult<PageResult<InvoiceListRespVO>> getAdminInvoiceListPage(@Valid AdminInvoiceListPageReqVO pageReqVO) {
+        PageResult<InvoiceListDO> pageResult = invoiceListService.getAdminInvoiceListPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, InvoiceListRespVO.class));
+    }
+
+    @Operation(summary = "上传发票")
+    @PreAuthorize("@ss.hasPermission('member:invoice-list:status')")
+    @PostMapping("/status")
+    public  CommonResult  invoiceStatusUpdate(@RequestBody @Valid  InvoiceStatusUpdateReqVo reqVo){
+     	return success(invoiceListService.invoiceStatusUpdate(reqVo));
+    }
+
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出发票清单 Excel")
+//    @PreAuthorize("@ss.hasPermission('member:invoice-list:export')")
+    @ApiAccessLog(operateType = OperateTypeEnum.EXPORT)
+    public void exportInvoiceListExcel(@Valid InvoiceListPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<InvoiceListDO> list = invoiceListService.getInvoiceListPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "发票清单.xls", "数据", InvoiceListRespVO.class,
+                        BeanUtils.toBean(list, InvoiceListRespVO.class));
+    }
+
+}

+ 46 - 0
citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/controller/admin/invoice/vo/AdminInvoiceListPageReqVO.java

@@ -0,0 +1,46 @@
+package com.citu.module.member.controller.admin.invoice.vo;
+
+import com.citu.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+import java.util.List;
+
+@Schema(description = "管理后台 - 发票清单分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class AdminInvoiceListPageReqVO extends PageParam {
+
+    @Schema(description = "0.个人  1.企业")
+    private Integer category;
+
+    @Schema(description = "接受通知的电话")
+    private String phone;
+
+    @Schema(description = "接受通知的邮件")
+    private String email;
+
+    @Schema(description = "主体称呼")
+    private String title;
+
+    @Schema(description = "身份证号  或者 企业统一信用代码")
+    private String code;
+
+    @Schema(description = "用户编号", example = "10764")
+    private Long userId;
+
+    @Schema(description = "发票状态 0.待开票  1.已开票  2.拒绝开票")
+    private Integer statue;
+
+    @Schema(description = "支付订单id", example = "32484")
+    private Long payOrderId;
+
+
+    @Schema(description = "支付订单ids", example = "32484")
+    private List<Long> payOrderIds;
+
+
+}

+ 43 - 0
citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/controller/admin/invoice/vo/InvoiceStatusUpdateReqVo.java

@@ -0,0 +1,43 @@
+package com.citu.module.member.controller.admin.invoice.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import javax.validation.constraints.NotNull;
+
+public class InvoiceStatusUpdateReqVo {
+
+    @NotNull
+    @Schema(description = "主键id")
+    private Long id;
+
+    @Schema(description = "发票状态 1.已开票 ")
+    private Integer status=1;
+
+    @NotNull
+    @Schema(description = "发票文件地址")
+    private String fileUrl;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getFileUrl() {
+        return fileUrl;
+    }
+
+    public void setFileUrl(String fileUrl) {
+        this.fileUrl = fileUrl;
+    }
+}

+ 1 - 12
citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/controller/app/invoice/InvoiceListController.java → citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/controller/app/invoice/AppInvoiceListController.java

@@ -13,30 +13,19 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Operation;
 
 
-import javax.validation.constraints.*;
 import javax.validation.*;
 import javax.validation.*;
-import javax.servlet.http.*;
-import java.util.*;
-import java.io.IOException;
 
 
-import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.common.util.object.BeanUtils;
 import static com.citu.framework.common.pojo.CommonResult.success;
 import static com.citu.framework.common.pojo.CommonResult.success;
 
 
-import com.citu.framework.excel.core.util.ExcelUtils;
-
-import com.citu.framework.apilog.core.annotation.ApiAccessLog;
-import static com.citu.framework.apilog.core.enums.OperateTypeEnum.*;
-
-
 
 
 @Tag(name = " 发票清单")
 @Tag(name = " 发票清单")
 @RestController
 @RestController
 @RequestMapping("/member/invoice-list")
 @RequestMapping("/member/invoice-list")
 @Validated
 @Validated
-public class InvoiceListController {
+public class AppInvoiceListController {
 
 
     @Resource
     @Resource
     private InvoiceListService invoiceListService;
     private InvoiceListService invoiceListService;

+ 2 - 0
citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/dal/dataobject/invoice/InvoiceListDO.java

@@ -58,4 +58,6 @@ public class InvoiceListDO extends BaseDO {
      */
      */
     private Integer payOrderId;
     private Integer payOrderId;
 
 
+    private String fileUrl;
+
 }
 }

+ 15 - 0
citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/dal/mysql/invoice/InvoiceListMapper.java

@@ -5,6 +5,7 @@ import java.util.*;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.module.member.controller.admin.invoice.vo.AdminInvoiceListPageReqVO;
 import com.citu.module.member.controller.app.invoice.vo.InvoiceListPageReqVO;
 import com.citu.module.member.controller.app.invoice.vo.InvoiceListPageReqVO;
 import com.citu.module.member.dal.dataobject.invoice.InvoiceListDO;
 import com.citu.module.member.dal.dataobject.invoice.InvoiceListDO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
@@ -31,4 +32,18 @@ public interface InvoiceListMapper extends BaseMapperX<InvoiceListDO> {
                 .orderByDesc(InvoiceListDO::getId));
                 .orderByDesc(InvoiceListDO::getId));
     }
     }
 
 
+    default PageResult<InvoiceListDO> selectPage(AdminInvoiceListPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<InvoiceListDO>()
+                .inIfPresent(InvoiceListDO::getPayOrderId, reqVO.getPayOrderIds())
+                .eqIfPresent(InvoiceListDO::getCategory, reqVO.getCategory())
+                .eqIfPresent(InvoiceListDO::getPhone, reqVO.getPhone())
+                .eqIfPresent(InvoiceListDO::getEmail, reqVO.getEmail())
+                .eqIfPresent(InvoiceListDO::getTitle, reqVO.getTitle())
+                .eqIfPresent(InvoiceListDO::getCode, reqVO.getCode())
+                .eqIfPresent(InvoiceListDO::getUserId, reqVO.getUserId())
+                .eqIfPresent(InvoiceListDO::getStatus, reqVO.getStatue())
+                .eqIfPresent(InvoiceListDO::getPayOrderId, reqVO.getPayOrderId())
+                .orderByDesc(InvoiceListDO::getId));
+    }
+
 }
 }

+ 5 - 0
citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/service/invoice/InvoiceListService.java

@@ -5,6 +5,8 @@ import javax.validation.*;
 
 
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageParam;
+import com.citu.module.member.controller.admin.invoice.vo.AdminInvoiceListPageReqVO;
+import com.citu.module.member.controller.admin.invoice.vo.InvoiceStatusUpdateReqVo;
 import com.citu.module.member.controller.app.invoice.vo.InvoiceListPageReqVO;
 import com.citu.module.member.controller.app.invoice.vo.InvoiceListPageReqVO;
 import com.citu.module.member.controller.app.invoice.vo.InvoiceListSaveReqVO;
 import com.citu.module.member.controller.app.invoice.vo.InvoiceListSaveReqVO;
 import com.citu.module.member.dal.dataobject.invoice.InvoiceListDO;
 import com.citu.module.member.dal.dataobject.invoice.InvoiceListDO;
@@ -54,4 +56,7 @@ public interface InvoiceListService {
      */
      */
     PageResult<InvoiceListDO> getInvoiceListPage(InvoiceListPageReqVO pageReqVO);
     PageResult<InvoiceListDO> getInvoiceListPage(InvoiceListPageReqVO pageReqVO);
 
 
+    PageResult<InvoiceListDO> getAdminInvoiceListPage(AdminInvoiceListPageReqVO pageReqVO);
+
+    Object invoiceStatusUpdate(InvoiceStatusUpdateReqVo reqVo);
 }
 }

+ 16 - 0
citu-module-member/citu-module-member-biz/src/main/java/com/citu/module/member/service/invoice/InvoiceListServiceImpl.java

@@ -1,7 +1,10 @@
 package com.citu.module.member.service.invoice;
 package com.citu.module.member.service.invoice;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.citu.framework.security.core.util.SecurityFrameworkUtils;
 import com.citu.framework.security.core.util.SecurityFrameworkUtils;
+import com.citu.module.member.controller.admin.invoice.vo.AdminInvoiceListPageReqVO;
+import com.citu.module.member.controller.admin.invoice.vo.InvoiceStatusUpdateReqVo;
 import com.citu.module.member.controller.app.invoice.vo.InvoiceListPageReqVO;
 import com.citu.module.member.controller.app.invoice.vo.InvoiceListPageReqVO;
 import com.citu.module.member.controller.app.invoice.vo.InvoiceListSaveReqVO;
 import com.citu.module.member.controller.app.invoice.vo.InvoiceListSaveReqVO;
 import com.citu.module.member.dal.dataobject.invoice.InvoiceListDO;
 import com.citu.module.member.dal.dataobject.invoice.InvoiceListDO;
@@ -103,4 +106,17 @@ public class InvoiceListServiceImpl implements InvoiceListService {
         return invoiceListMapper.selectPage(pageReqVO);
         return invoiceListMapper.selectPage(pageReqVO);
     }
     }
 
 
+    @Override
+    public PageResult<InvoiceListDO> getAdminInvoiceListPage(AdminInvoiceListPageReqVO pageReqVO) {
+        return invoiceListMapper.selectPage(pageReqVO);
+    }
+
+    @Override
+    public Object invoiceStatusUpdate(InvoiceStatusUpdateReqVo reqVo) {
+        int update = invoiceListMapper.update(null, new LambdaUpdateWrapper<InvoiceListDO>()
+                .eq(InvoiceListDO::getId, reqVo.getId()).set(InvoiceListDO::getFileUrl, reqVo.getFileUrl()).set(InvoiceListDO::getStatus, reqVo.getStatus()));
+
+        return update;
+    }
+
 }
 }