xgb 2 miesięcy temu
rodzic
commit
fa1b5ac62f

+ 167 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanyMoneyLogsController.java

@@ -0,0 +1,167 @@
+package com.fs.company;
+
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.SecurityUtils;
+import com.fs.common.utils.StringUtils;
+import com.fs.company.param.CompanyMoneyLogsParam;
+import com.fs.company.service.ICompanyMoneyLogsService;
+import com.fs.company.vo.CompanyMoneyLogsVO;
+import com.fs.his.domain.FsExportTask;
+import com.fs.his.param.FsCompanyMoneyLogsExportParam;
+import com.fs.his.service.IFsExportTaskService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 企业账户记录Controller
+ *
+ * @author fs
+ * @date 2021-10-04
+ */
+@RestController
+@RequestMapping("/company/companyMoneyLogs")
+public class CompanyMoneyLogsController extends BaseController
+{
+    @Autowired
+    private ICompanyMoneyLogsService companyMoneyLogsService;
+
+    @Autowired
+    private IFsExportTaskService exportTaskService;
+
+    /**
+     * 查询企业账户记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyMoneyLogs:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanyMoneyLogsParam companyMoneyLogs)
+    {
+        startPage();
+        if(!StringUtils.isEmpty(companyMoneyLogs.getCreateTimeRange())){
+            companyMoneyLogs.setCreateTimeList(companyMoneyLogs.getCreateTimeRange().split("--"));
+        }
+        if(companyMoneyLogs.getLogsType()!=null){
+            if(companyMoneyLogs.getLogsType()==3 || companyMoneyLogs.getLogsType()==4 || companyMoneyLogs.getLogsType()==5 || companyMoneyLogs.getLogsType()==6 || companyMoneyLogs.getLogsType()==13|| companyMoneyLogs.getLogsType()==14){
+                // 根据type字段判断,支持商城订单(type=0)和直播订单(type=1)
+                List<CompanyMoneyLogsVO> list = companyMoneyLogsService.selectCompanyMoneyLogsMallVOList(companyMoneyLogs);
+                return getDataTable(list);
+            }
+        }
+        List<CompanyMoneyLogsVO> list = companyMoneyLogsService.selectCompanyMoneyLogsVOList(companyMoneyLogs);
+        return getDataTable(list);
+    }
+
+
+    //转账记录
+    @PreAuthorize("@ss.hasPermi('company:companyMoneyLogs:list1')")
+    @GetMapping("/list1")
+
+    public TableDataInfo list1(CompanyMoneyLogsParam companyMoneyLogs)
+    {
+        startPage();
+        companyMoneyLogs.setLogsType(1);
+        List<CompanyMoneyLogsVO> list = companyMoneyLogsService.selectCompanyMoneyLogsVOList(companyMoneyLogs);
+        return getDataTable(list);
+    }
+    //转账记录
+    @PreAuthorize("@ss.hasPermi('company:companyMoneyLogs:list2')")
+    @GetMapping("/list2")
+
+    public TableDataInfo list2(CompanyMoneyLogsParam companyMoneyLogs) {
+        startPage();
+        companyMoneyLogs.setLogsType(2);
+        List<CompanyMoneyLogsVO> list = companyMoneyLogsService.selectCompanyMoneyLogsVOList(companyMoneyLogs);
+        return getDataTable(list);
+    }
+    //扣款
+    @PreAuthorize("@ss.hasPermi('company:companyMoneyLogs:list3')")
+    @GetMapping("/list3")
+    public TableDataInfo list3(CompanyMoneyLogsParam companyMoneyLogs) {
+        startPage();
+        companyMoneyLogs.setLogsType(3);
+        List<CompanyMoneyLogsVO> list = companyMoneyLogsService.selectCompanyMoneyLogsVOList(companyMoneyLogs);
+        return getDataTable(list);
+    }
+    /**
+     * 导出企业账户记录列表
+     */
+    @PreAuthorize("@ss.hasAnyPermi('company:companyMoneyLogs:export,company:companyMoneyLogs:export1,company:companyMoneyLogs:export2')")
+    @Log(title = "企业账户记录", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsCompanyMoneyLogsExportParam param)   {
+        if(!StringUtils.isEmpty(param.getCreateTimeRange())){
+            param.setCreateTimeList(param.getCreateTimeRange().split("--"));
+        }
+        Integer exportType1 = exportTaskService.isExportType1(SecurityUtils.getUserId());
+        if (exportType1>0){
+            return AjaxResult.error("你已经有正在导出的任务");
+        }
+        //导出全部
+        if(param.getType().equals(0)){
+            //判断是否达到数据上线
+            Integer count=companyMoneyLogsService.selectCompanyMoneyLogsExportCounts(param);
+            if(count>30000){
+                return AjaxResult.error("导出数据已超出上限,最多可导出30000条数据");
+            }
+            FsExportTask task=new FsExportTask();
+            task.setTaskType(1);
+            task.setStatus(0);
+            task.setStartTime(new Date());
+            task.setRemark("账户流水导出");
+            task.setSysType(1);
+            task.setUserId(SecurityUtils.getUserId());
+            exportTaskService.insertFsExportTask(task);
+            param.setTaskId(task.getTaskId());
+            companyMoneyLogsService.exportData(param);
+            return new AjaxResult(200,"后台正在导出,请等待...任务ID:"+task.getTaskId(),task.getTaskId());
+        }
+        else if(param.getType().equals(1))
+        {
+            Integer count=companyMoneyLogsService.selectCompanyMoneyLogsExport1Counts(param);
+            if(count>30000){
+                return AjaxResult.error("导出数据已超出上限,最多可导出30000条数据");
+            }
+            FsExportTask task=new FsExportTask();
+            task.setTaskType(1);
+            task.setStatus(0);
+            task.setStartTime(new Date());
+            task.setSysType(1);
+            String remark = "导出订单明细";
+            if (param.getOrderType() != null) {
+                if (param.getOrderType() == 0) {
+                    remark = "导出商城订单明细";
+                } else if (param.getOrderType() == 1) {
+                    remark = "导出直播订单明细";
+                }
+            }
+            task.setRemark(remark);
+            task.setUserId(SecurityUtils.getUserId());
+            exportTaskService.insertFsExportTask(task);
+            param.setTaskId(task.getTaskId());
+            companyMoneyLogsService.exportData(param);
+            return new AjaxResult(200,"后台正在导出,任务ID:"+task.getTaskId(),task.getTaskId());
+        }
+        return new AjaxResult(500,"导出失败");
+
+    }
+
+    /**
+     * 获取企业账户记录详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyMoneyLogs:query')")
+    @GetMapping(value = "/{logsId}")
+    public AjaxResult getInfo(@PathVariable("logsId") Long logsId) {
+        return AjaxResult.success(companyMoneyLogsService.selectCompanyMoneyLogsById(logsId));
+    }
+
+}