Bladeren bron

Merge remote-tracking branch 'origin/saas-api' into saas-api

ct 2 maanden geleden
bovenliggende
commit
a0150dcd36
16 gewijzigde bestanden met toevoegingen van 1755 en 363 verwijderingen
  1. 123 0
      fs-admin-saas/src/main/java/com/fs/company/CompanyDomainBindController.java
  2. 167 0
      fs-admin-saas/src/main/java/com/fs/company/CompanyMoneyLogsController.java
  3. 276 0
      fs-admin-saas/src/main/java/com/fs/company/CompanyProfitController.java
  4. 143 0
      fs-admin-saas/src/main/java/com/fs/company/CompanyRechargeController.java
  5. 97 0
      fs-admin-saas/src/main/java/com/fs/company/CompanyRedPacketBalanceLogsController.java
  6. 98 0
      fs-admin-saas/src/main/java/com/fs/company/CompanySmsController.java
  7. 122 0
      fs-admin-saas/src/main/java/com/fs/company/CompanySmsLogsController.java
  8. 99 0
      fs-admin-saas/src/main/java/com/fs/company/CompanySmsOrderController.java
  9. 115 0
      fs-admin-saas/src/main/java/com/fs/company/CompanySmsTempController.java
  10. 155 0
      fs-admin-saas/src/main/java/com/fs/company/controller/company/CompanyDeptController.java
  11. 23 23
      fs-admin-saas/src/main/java/com/fs/course/controller/FsCoursePlaySourceConfigController.java
  12. 16 18
      fs-admin-saas/src/main/java/com/fs/his/controller/FsCompanyController.java
  13. 32 32
      fs-admin-saas/src/main/java/com/fs/his/controller/FsCompanyDeductController.java
  14. 2 1
      fs-admin-saas/src/main/java/com/fs/hisStore/controller/FsStoreAfterSalesScrmController.java
  15. 213 215
      fs-admin-saas/src/main/java/com/fs/hisStore/controller/FsStoreHealthOrderScrmController.java
  16. 74 74
      fs-admin-saas/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java

+ 123 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanyDomainBindController.java

@@ -0,0 +1,123 @@
+package com.fs.company;
+
+import cn.hutool.core.util.ObjectUtil;
+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.domain.R;
+import com.fs.common.core.domain.model.LoginUser;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.company.domain.CompanyDomainBind;
+import com.fs.company.param.CompanyDomainBindParam;
+import com.fs.company.service.ICompanyDomainBindService;
+import com.fs.company.vo.CompanyDomainBindVo;
+import com.fs.framework.web.service.TokenService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 域名绑定销售公司Controller
+ *
+ * @author fs
+ * @date 2025-06-17
+ */
+@RestController
+@RequestMapping("/company/companyDomainBind")
+public class CompanyDomainBindController extends BaseController
+{
+    @Autowired
+    private TokenService tokenService;
+    @Autowired
+    private ICompanyDomainBindService companyDomainBindService;
+
+    /**
+     * 查询域名绑定销售公司列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyDomainBind:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanyDomainBindParam companyDomainBind)
+    {
+        startPage();
+        List<CompanyDomainBindVo> list = companyDomainBindService.selectCompanyDomainBindList(companyDomainBind);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出域名绑定销售公司列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyDomainBind:export')")
+    @Log(title = "域名绑定销售公司", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(CompanyDomainBindParam companyDomainBind)
+    {
+        List<CompanyDomainBindVo> list = companyDomainBindService.selectCompanyDomainBindList(companyDomainBind);
+        ExcelUtil<CompanyDomainBindVo> util = new ExcelUtil<CompanyDomainBindVo>(CompanyDomainBindVo.class);
+        return util.exportExcel(list, "域名绑定销售公司数据");
+    }
+
+    /**
+     * 获取域名绑定销售公司详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyDomainBind:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(companyDomainBindService.selectCompanyDomainBindById(id));
+    }
+
+    /**
+     * 新增域名绑定销售公司
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyDomainBind:add')")
+    @Log(title = "域名绑定销售公司", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CompanyDomainBind companyDomainBind)
+    {
+        return toAjax(companyDomainBindService.insertCompanyDomainBind(companyDomainBind));
+    }
+
+    /**
+     * 修改域名绑定销售公司
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyDomainBind:edit')")
+    @Log(title = "域名绑定销售公司", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CompanyDomainBind companyDomainBind)
+    {
+        return toAjax(companyDomainBindService.updateCompanyDomainBind(companyDomainBind));
+    }
+
+    /**
+     * 删除域名绑定销售公司
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyDomainBind:remove')")
+    @Log(title = "域名绑定销售公司", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(companyDomainBindService.deleteCompanyDomainBindByIds(ids));
+    }
+
+    /**
+     * 域名批量绑定
+     **/
+    @PreAuthorize("@ss.hasPermi('company:companyDomain:domainBatchBinding')")
+    @PostMapping("/domainBatchBinding")
+    public R domainBatchBinding(@RequestBody CompanyDomainBindParam param) {
+        if (ObjectUtil.isEmpty(param.getCompanyIds()) || param.getCompanyIds().isEmpty()) {
+            return R.error("绑定失败,至少有一条域名分配信息!");
+        }
+        if (ObjectUtil.isEmpty(param.getCompanyUserIds()) || param.getCompanyUserIds().isEmpty()) {
+            return R.error("绑定失败,至少有一条分配人员信息!");
+        }
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        param.setUserId(loginUser.getUser().getUserId().toString());
+        return companyDomainBindService.domainBatchBinding(param);
+    }
+}

+ 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));
+    }
+
+}

+ 276 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanyProfitController.java

@@ -0,0 +1,276 @@
+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.domain.R;
+import com.fs.common.core.domain.model.LoginUser;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.company.domain.Company;
+import com.fs.company.domain.CompanyMoneyLogs;
+import com.fs.company.domain.CompanyProfit;
+import com.fs.company.domain.CompanyProfitLogs;
+import com.fs.company.param.CompanyProfitAuditParam;
+import com.fs.company.service.ICompanyMoneyLogsService;
+import com.fs.company.service.ICompanyProfitLogsService;
+import com.fs.company.service.ICompanyProfitService;
+import com.fs.company.service.ICompanyService;
+import com.fs.company.vo.CompanyProfitVO;
+import com.fs.framework.web.service.TokenService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 提现Controller
+ *
+ * @author fs
+ * @date 2022-07-04
+ */
+@RestController
+@RequestMapping("/company/companyProfit")
+public class CompanyProfitController extends BaseController
+{
+    @Autowired
+    private ICompanyProfitService companyProfitService;
+    @Autowired
+    private ICompanyService companyService;
+    @Autowired
+    private ICompanyMoneyLogsService moneyLogsService;
+    @Autowired
+    private ICompanyProfitLogsService logsService;
+    @Autowired
+    private TokenService tokenService;
+    /**
+     * 查询提现列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyProfit:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanyProfit companyProfit)
+    {
+        startPage();
+        List<CompanyProfitVO> list = companyProfitService.selectCompanyProfitListVO(companyProfit);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出提现列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyProfit:export')")
+    @Log(title = "提现", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(CompanyProfit companyProfit)
+    {
+        List<CompanyProfitVO> list = companyProfitService.selectCompanyProfitListVO(companyProfit);
+        ExcelUtil<CompanyProfitVO> util = new ExcelUtil<CompanyProfitVO>(CompanyProfitVO.class);
+        return util.exportExcel(list, "公司提现记录");
+    }
+
+    /**
+     * 获取提现详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyProfit:query')")
+    @GetMapping(value = "/{profitId}")
+    public R getInfo(@PathVariable("profitId") Long profitId)
+    {
+        CompanyProfit profit=companyProfitService.selectCompanyProfitById(profitId);
+        CompanyProfitLogs map=new CompanyProfitLogs();
+        map.setProfitId(profitId);
+        List<CompanyProfitLogs> logs= logsService.selectCompanyProfitLogsList(map);
+        return R.ok().put("profit",profit).put("logs",logs);
+    }
+
+    /**
+     * 新增提现
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyProfit:add')")
+    @Log(title = "提现", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CompanyProfit companyProfit)
+    {
+        return toAjax(companyProfitService.insertCompanyProfit(companyProfit));
+    }
+
+    /**
+     * 修改提现
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyProfit:edit')")
+    @Log(title = "提现", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CompanyProfit companyProfit)
+    {
+        return toAjax(companyProfitService.updateCompanyProfit(companyProfit));
+    }
+
+    /**
+     * 删除提现
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyProfit:remove')")
+    @Log(title = "提现", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{profitIds}")
+    public AjaxResult remove(@PathVariable Long[] profitIds)
+    {
+        return toAjax(companyProfitService.deleteCompanyProfitByIds(profitIds));
+    }
+
+    @PreAuthorize("@ss.hasPermi('company:companyProfit:audit1')")
+    @PostMapping("/audit1")
+    @Transactional
+    public R audit1(@RequestBody CompanyProfitAuditParam param)
+    {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        CompanyProfit profit=companyProfitService.selectCompanyProfitById(param.getProfitId());
+        if(profit.getProfitStatus()!=1){
+            return R.error("非法操作");
+        }
+        Company company=companyService.selectCompanyByIdForUpdate(profit.getCompanyId());
+        if(param.getStatus()==1){
+            profit.setRemark(param.getRemark());
+            profit.setProfitStatus(2);
+            profit.setUpdateTime(new Date());
+            companyProfitService.updateCompanyProfit(profit);
+            CompanyProfitLogs logs=new CompanyProfitLogs();
+            logs.setProfitId(profit.getProfitId());
+            logs.setReason(param.getRemark());
+            logs.setCreateTime(new Date());
+            logs.setTitle(loginUser.getUser().getNickName()+"审核通过");
+            logsService.insertCompanyProfitLogs(logs);
+        }
+        else if(param.getStatus()==0){
+            //驳回退款
+            profit.setRemark(param.getRemark());
+            profit.setProfitStatus(0);
+            profit.setUpdateTime(new Date());
+            companyProfitService.updateCompanyProfit(profit);
+            company.setMoney(company.getMoney().add(profit.getMoney()));
+            companyService.updateCompany(company);
+            CompanyMoneyLogs logs=new CompanyMoneyLogs();
+            logs.setCompanyId(company.getCompanyId());
+            logs.setMoney(profit.getMoney());
+            logs.setLogsType(8);
+            logs.setBalance(company.getMoney());
+            logs.setRemark("驳回退款:"+profit.getMoney());
+            logs.setCreateTime(new Date());
+            moneyLogsService.insertCompanyMoneyLogs(logs);
+
+            CompanyProfitLogs profitLogs=new CompanyProfitLogs();
+            profitLogs.setProfitId(profit.getProfitId());
+            profitLogs.setReason(param.getRemark());
+            profitLogs.setCreateTime(new Date());
+            profitLogs.setTitle(loginUser.getUser().getNickName()+"驳回退款");
+            logsService.insertCompanyProfitLogs(profitLogs);
+        }
+        return R.ok("操作成功");
+    }
+
+    @PreAuthorize("@ss.hasPermi('company:companyProfit:audit2')")
+    @PostMapping("/audit2")
+    @Transactional
+    public R audit2(@RequestBody CompanyProfitAuditParam param)
+    {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        CompanyProfit profit=companyProfitService.selectCompanyProfitById(param.getProfitId());
+        if(profit.getProfitStatus()!=2){
+            return R.error("非法操作");
+        }
+
+        if(param.getStatus()==1){
+            profit.setRemark(param.getRemark());
+            profit.setProfitStatus(4);
+            profit.setUpdateTime(new Date());
+            companyProfitService.updateCompanyProfit(profit);
+            CompanyProfitLogs logs=new CompanyProfitLogs();
+            logs.setProfitId(profit.getProfitId());
+            logs.setReason(param.getRemark());
+            logs.setCreateTime(new Date());
+            logs.setTitle(loginUser.getUser().getNickName()+"审核通过");
+            logsService.insertCompanyProfitLogs(logs);
+        }
+        else if(param.getStatus()==0){
+            //驳回退款
+            profit.setRemark(param.getRemark());
+            profit.setProfitStatus(0);
+            profit.setUpdateTime(new Date());
+            companyProfitService.updateCompanyProfit(profit);
+            Company company=companyService.selectCompanyByIdForUpdate(profit.getCompanyId());
+            company.setMoney(company.getMoney().add(profit.getMoney()));
+            companyService.updateCompany(company);
+            CompanyMoneyLogs logs=new CompanyMoneyLogs();
+            logs.setCompanyId(company.getCompanyId());
+            logs.setMoney(profit.getMoney());
+            logs.setLogsType(8);
+            logs.setBalance(company.getMoney());
+            logs.setRemark("驳回退款:"+profit.getMoney());
+            logs.setCreateTime(new Date());
+            moneyLogsService.insertCompanyMoneyLogs(logs);
+
+            CompanyProfitLogs profitLogs=new CompanyProfitLogs();
+            profitLogs.setProfitId(profit.getProfitId());
+            profitLogs.setReason(param.getRemark());
+            profitLogs.setCreateTime(new Date());
+            profitLogs.setTitle(loginUser.getUser().getNickName()+"驳回退款");
+            logsService.insertCompanyProfitLogs(profitLogs);
+        }
+        return R.ok("操作成功");
+    }
+
+    @PreAuthorize("@ss.hasPermi('company:companyProfit:audit3')")
+    @PostMapping("/audit3")
+    @Transactional
+    public R audit3(@RequestBody CompanyProfitAuditParam param)
+    {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        CompanyProfit profit=companyProfitService.selectCompanyProfitById(param.getProfitId());
+        if(profit.getProfitStatus()!=3){
+            return R.error("非法操作");
+        }
+        Company company=companyService.selectCompanyByIdForUpdate(profit.getCompanyId());
+        if(param.getStatus()==1){
+            profit.setRemark(param.getRemark());
+            profit.setProfitStatus(4);
+            profit.setUpdateTime(new Date());
+            profit.setImgUrl(param.getImgUrl());
+            companyProfitService.updateCompanyProfit(profit);
+            CompanyProfitLogs logs=new CompanyProfitLogs();
+            logs.setProfitId(profit.getProfitId());
+            logs.setReason(param.getRemark());
+            logs.setCreateTime(new Date());
+            logs.setTitle(loginUser.getUser().getNickName()+"审核通过");
+            logsService.insertCompanyProfitLogs(logs);
+        }
+        else if(param.getStatus()==0){
+            //驳回退款
+            profit.setRemark(param.getRemark());
+            profit.setProfitStatus(0);
+            profit.setUpdateTime(new Date());
+            companyProfitService.updateCompanyProfit(profit);
+            company.setMoney(company.getMoney().add(profit.getMoney()));
+            companyService.updateCompany(company);
+            CompanyMoneyLogs logs=new CompanyMoneyLogs();
+            logs.setCompanyId(company.getCompanyId());
+            logs.setMoney(profit.getMoney());
+            logs.setLogsType(8);
+            logs.setBalance(company.getMoney());
+            logs.setRemark("驳回退款:"+profit.getMoney());
+            logs.setCreateTime(new Date());
+            moneyLogsService.insertCompanyMoneyLogs(logs);
+
+            CompanyProfitLogs profitLogs=new CompanyProfitLogs();
+            profitLogs.setProfitId(profit.getProfitId());
+            profitLogs.setReason(param.getRemark());
+            profitLogs.setCreateTime(new Date());
+            profitLogs.setTitle(loginUser.getUser().getNickName()+"驳回退款");
+            logsService.insertCompanyProfitLogs(profitLogs);
+        }
+        return R.ok("操作成功");
+    }
+
+
+}

+ 143 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanyRechargeController.java

@@ -0,0 +1,143 @@
+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.domain.R;
+import com.fs.common.core.domain.model.LoginUser;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.company.domain.Company;
+import com.fs.company.domain.CompanyMoneyLogs;
+import com.fs.company.domain.CompanyRecharge;
+import com.fs.company.service.ICompanyMoneyLogsService;
+import com.fs.company.service.ICompanyRechargeService;
+import com.fs.company.service.ICompanyService;
+import com.fs.company.vo.CompanyRechargeExportVO;
+import com.fs.company.vo.CompanyRechargeVO;
+import com.fs.framework.web.service.TokenService;
+import lombok.Synchronized;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 充值Controller
+ *
+ * @author fs
+ * @date 2021-10-04
+ */
+@RestController
+@RequestMapping("/company/companyRecharge")
+public class CompanyRechargeController extends BaseController
+{
+    @Autowired
+    private TokenService tokenService;
+    @Autowired
+    private ICompanyRechargeService companyRechargeService;
+    @Autowired
+    private ICompanyService companyService;
+    @Autowired
+    private ICompanyMoneyLogsService moneyLogsService;
+    /**
+     * 查询充值列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyRecharge:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanyRecharge companyRecharge)
+    {
+        startPage();
+        List<CompanyRechargeVO> list = companyRechargeService.selectCompanyRechargeVOList(companyRecharge);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出充值列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyRecharge:export')")
+    @Log(title = "充值", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(CompanyRecharge companyRecharge)
+    {
+        List<CompanyRechargeExportVO> list = companyRechargeService.selectCompanyRechargeExportList(companyRecharge);
+        ExcelUtil<CompanyRechargeExportVO> util = new ExcelUtil<CompanyRechargeExportVO>(CompanyRechargeExportVO.class);
+        return util.exportExcel(list, "公司充值明细");
+    }
+
+    /**
+     * 获取充值详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyRecharge:query')")
+    @GetMapping(value = "/{rechargeId}")
+    public AjaxResult getInfo(@PathVariable("rechargeId") Long rechargeId)
+    {
+        return AjaxResult.success(companyRechargeService.selectCompanyRechargeById(rechargeId));
+    }
+
+    /**
+     * 新增充值
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyRecharge:add')")
+    @Log(title = "充值", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CompanyRecharge companyRecharge)
+    {
+        return toAjax(companyRechargeService.insertCompanyRecharge(companyRecharge));
+    }
+
+
+
+    /**
+     * 删除充值
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyRecharge:remove')")
+    @Log(title = "充值", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{rechargeIds}")
+    public AjaxResult remove(@PathVariable Long[] rechargeIds)
+    {
+        return toAjax(companyRechargeService.deleteCompanyRechargeByIds(rechargeIds));
+    }
+
+
+
+    @PreAuthorize("@ss.hasPermi('company:companyRecharge:audit')")
+    @PostMapping("/audit")
+    @Transactional
+    @Synchronized
+    public R audit(@RequestBody CompanyRecharge param)
+    {
+        CompanyRecharge companyRecharge=companyRechargeService.selectCompanyRechargeById(param.getRechargeId());
+        if(companyRecharge.getIsAudit()!=0){
+            return R.error("非法操作");
+        }
+        companyRecharge.setIsAudit(param.getIsAudit());
+        companyRecharge.setRemark(param.getRemark());
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        if(companyRecharge.getIsAudit()==1){
+            Company company=companyService.selectCompanyById(companyRecharge.getCompanyId());
+            company.setMoney(company.getMoney().add(companyRecharge.getMoney()));
+            companyService.updateCompany(company);
+            CompanyMoneyLogs log=new CompanyMoneyLogs();
+            log.setCompanyId(companyRecharge.getCompanyId());
+            log.setMoney(companyRecharge.getMoney());
+            log.setRemark(companyRecharge.getRemark());
+            log.setLogsType(1);
+            log.setBalance(company.getMoney());
+            log.setCreateTime(new Date());
+            moneyLogsService.insertCompanyMoneyLogs(log);
+            companyRecharge.setPayTime(new Date());
+            companyRecharge.setStatus(1);
+        }
+        companyRecharge.setAuditTime(new Date());
+        companyRecharge.setAuditUserId(loginUser.getUser().getUserId());
+        companyRechargeService.updateCompanyRecharge(companyRecharge);
+        return R.ok("操作成功");
+
+    }
+}

+ 97 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanyRedPacketBalanceLogsController.java

@@ -0,0 +1,97 @@
+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.poi.ExcelUtil;
+import com.fs.company.domain.CompanyRedPacketBalanceLogs;
+import com.fs.company.service.ICompanyRedPacketBalanceLogsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 企业红包余额记录Controller
+ *
+ * @author fs
+ * @date 2025-11-19
+ */
+@RestController
+@RequestMapping("/company/companyRedPacketBalanceLogs")
+public class CompanyRedPacketBalanceLogsController extends BaseController
+{
+    @Autowired
+    private ICompanyRedPacketBalanceLogsService companyRedPacketBalanceLogsService;
+
+    /**
+     * 查询企业红包余额记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyRedPacketBalanceLogs:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanyRedPacketBalanceLogs companyRedPacketBalanceLogs)
+    {
+        startPage();
+        List<CompanyRedPacketBalanceLogs> list = companyRedPacketBalanceLogsService.selectCompanyRedPacketBalanceLogsList(companyRedPacketBalanceLogs);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出企业红包余额记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyRedPacketBalanceLogs:export')")
+    @Log(title = "企业红包余额记录", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(CompanyRedPacketBalanceLogs companyRedPacketBalanceLogs)
+    {
+        List<CompanyRedPacketBalanceLogs> list = companyRedPacketBalanceLogsService.selectCompanyRedPacketBalanceLogsList(companyRedPacketBalanceLogs);
+        ExcelUtil<CompanyRedPacketBalanceLogs> util = new ExcelUtil<CompanyRedPacketBalanceLogs>(CompanyRedPacketBalanceLogs.class);
+        return util.exportExcel(list, "企业红包余额记录数据");
+    }
+
+    /**
+     * 获取企业红包余额记录详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyRedPacketBalanceLogs:query')")
+    @GetMapping(value = "/{logsId}")
+    public AjaxResult getInfo(@PathVariable("logsId") Long logsId)
+    {
+        return AjaxResult.success(companyRedPacketBalanceLogsService.selectCompanyRedPacketBalanceLogsByLogsId(logsId));
+    }
+
+    /**
+     * 新增企业红包余额记录
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyRedPacketBalanceLogs:add')")
+    @Log(title = "企业红包余额记录", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CompanyRedPacketBalanceLogs companyRedPacketBalanceLogs)
+    {
+        return toAjax(companyRedPacketBalanceLogsService.insertCompanyRedPacketBalanceLogs(companyRedPacketBalanceLogs));
+    }
+
+    /**
+     * 修改企业红包余额记录
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyRedPacketBalanceLogs:edit')")
+    @Log(title = "企业红包余额记录", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CompanyRedPacketBalanceLogs companyRedPacketBalanceLogs)
+    {
+        return toAjax(companyRedPacketBalanceLogsService.updateCompanyRedPacketBalanceLogs(companyRedPacketBalanceLogs));
+    }
+
+    /**
+     * 删除企业红包余额记录
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyRedPacketBalanceLogs:remove')")
+    @Log(title = "企业红包余额记录", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{logsIds}")
+    public AjaxResult remove(@PathVariable Long[] logsIds)
+    {
+        return toAjax(companyRedPacketBalanceLogsService.deleteCompanyRedPacketBalanceLogsByLogsIds(logsIds));
+    }
+}

+ 98 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanySmsController.java

@@ -0,0 +1,98 @@
+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.poi.ExcelUtil;
+import com.fs.company.domain.CompanySms;
+import com.fs.company.service.ICompanySmsService;
+import com.fs.company.vo.CompanySmsListVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 公司短信Controller
+ *
+ * @author fs
+ * @date 2023-01-09
+ */
+@RestController
+@RequestMapping("/company/companySms")
+public class CompanySmsController extends BaseController
+{
+    @Autowired
+    private ICompanySmsService companySmsService;
+
+    /**
+     * 查询公司短信列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySms:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanySms companySms)
+    {
+        startPage();
+        List<CompanySmsListVO> list = companySmsService.selectCompanySmsList(companySms);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出公司短信列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySms:export')")
+    @Log(title = "公司短信", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(CompanySms companySms)
+    {
+        List<CompanySmsListVO> list = companySmsService.selectCompanySmsList(companySms);
+        ExcelUtil<CompanySmsListVO> util = new ExcelUtil<CompanySmsListVO>(CompanySmsListVO.class);
+        return util.exportExcel(list, "companySms");
+    }
+
+    /**
+     * 获取公司短信详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySms:query')")
+    @GetMapping(value = "/{smsId}")
+    public AjaxResult getInfo(@PathVariable("smsId") Long smsId)
+    {
+        return AjaxResult.success(companySmsService.selectCompanySmsById(smsId));
+    }
+
+    /**
+     * 新增公司短信
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySms:add')")
+    @Log(title = "公司短信", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CompanySms companySms)
+    {
+        return toAjax(companySmsService.insertCompanySms(companySms));
+    }
+
+    /**
+     * 修改公司短信
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySms:edit')")
+    @Log(title = "公司短信", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CompanySms companySms)
+    {
+        return toAjax(companySmsService.updateCompanySms(companySms));
+    }
+
+    /**
+     * 删除公司短信
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySms:remove')")
+    @Log(title = "公司短信", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{smsIds}")
+    public AjaxResult remove(@PathVariable Long[] smsIds)
+    {
+        return toAjax(companySmsService.deleteCompanySmsByIds(smsIds));
+    }
+}

+ 122 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanySmsLogsController.java

@@ -0,0 +1,122 @@
+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.StringUtils;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.company.domain.CompanySmsLogs;
+import com.fs.company.param.CompanySmsLogsListParam;
+import com.fs.company.service.ICompanySmsLogsService;
+import com.fs.company.vo.CompanySmsLogsListVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 短信发送记录Controller
+ *
+ * @author fs
+ * @date 2023-01-09
+ */
+@RestController
+@RequestMapping("/company/companySmsLogs")
+public class CompanySmsLogsController extends BaseController
+{
+    @Autowired
+    private ICompanySmsLogsService companySmsLogsService;
+
+    /**
+     * 查询短信发送记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsLogs:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanySmsLogsListParam companySmsLogs)
+    {
+        startPage();
+        if(!StringUtils.isEmpty(companySmsLogs.getCreateTimeRange())){
+            companySmsLogs.setCreateTimeList(companySmsLogs.getCreateTimeRange().split("--"));
+        }
+        List<CompanySmsLogsListVO> list = companySmsLogsService.selectCompanySmsLogsList(companySmsLogs);
+        if (list != null) {
+            for (CompanySmsLogsListVO vo : list) {
+                if(vo.getPhone()!=null){
+                    vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
+                }
+
+            }
+        }
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出短信发送记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsLogs:export')")
+    @Log(title = "短信发送记录", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(CompanySmsLogsListParam companySmsLogs)
+    {
+        if(!StringUtils.isEmpty(companySmsLogs.getCreateTimeRange())){
+            companySmsLogs.setCreateTimeList(companySmsLogs.getCreateTimeRange().split("--"));
+        }
+        List<CompanySmsLogsListVO> list = companySmsLogsService.selectCompanySmsLogsList(companySmsLogs);
+        if (list != null) {
+            for (CompanySmsLogsListVO vo : list) {
+                if(vo.getPhone()!=null){
+                    vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
+                }
+
+            }
+        }
+        ExcelUtil<CompanySmsLogsListVO> util = new ExcelUtil<CompanySmsLogsListVO>(CompanySmsLogsListVO.class);
+        return util.exportExcel(list, "companySmsLogs");
+    }
+
+    /**
+     * 获取短信发送记录详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsLogs:query')")
+    @GetMapping(value = "/{logsId}")
+    public AjaxResult getInfo(@PathVariable("logsId") Long logsId)
+    {
+        return AjaxResult.success(companySmsLogsService.selectCompanySmsLogsById(logsId));
+    }
+
+    /**
+     * 新增短信发送记录
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsLogs:add')")
+    @Log(title = "短信发送记录", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CompanySmsLogs companySmsLogs)
+    {
+        return toAjax(companySmsLogsService.insertCompanySmsLogs(companySmsLogs));
+    }
+
+    /**
+     * 修改短信发送记录
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsLogs:edit')")
+    @Log(title = "短信发送记录", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CompanySmsLogs companySmsLogs)
+    {
+        return toAjax(companySmsLogsService.updateCompanySmsLogs(companySmsLogs));
+    }
+
+    /**
+     * 删除短信发送记录
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsLogs:remove')")
+    @Log(title = "短信发送记录", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{logsIds}")
+    public AjaxResult remove(@PathVariable Long[] logsIds)
+    {
+        return toAjax(companySmsLogsService.deleteCompanySmsLogsByIds(logsIds));
+    }
+}

+ 99 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanySmsOrderController.java

@@ -0,0 +1,99 @@
+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.poi.ExcelUtil;
+import com.fs.company.domain.CompanySmsOrder;
+import com.fs.company.param.CompanySmsOrderListParam;
+import com.fs.company.service.ICompanySmsOrderService;
+import com.fs.company.vo.CompanySmsOrderListVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 短信购买订单Controller
+ *
+ * @author fs
+ * @date 2023-01-09
+ */
+@RestController
+@RequestMapping("/company/companySmsOrder")
+public class CompanySmsOrderController extends BaseController
+{
+    @Autowired
+    private ICompanySmsOrderService companySmsOrderService;
+
+    /**
+     * 查询短信购买订单列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsOrder:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanySmsOrderListParam param)
+    {
+        startPage();
+        List<CompanySmsOrderListVO> list = companySmsOrderService.selectCompanySmsOrderList(param);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出短信购买订单列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsOrder:export')")
+    @Log(title = "短信购买订单", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(CompanySmsOrderListParam param)
+    {
+        List<CompanySmsOrderListVO> list = companySmsOrderService.selectCompanySmsOrderList(param);
+        ExcelUtil<CompanySmsOrderListVO> util = new ExcelUtil<CompanySmsOrderListVO>(CompanySmsOrderListVO.class);
+        return util.exportExcel(list, "companySmsOrder");
+    }
+
+    /**
+     * 获取短信购买订单详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsOrder:query')")
+    @GetMapping(value = "/{orderId}")
+    public AjaxResult getInfo(@PathVariable("orderId") Long orderId)
+    {
+        return AjaxResult.success(companySmsOrderService.selectCompanySmsOrderById(orderId));
+    }
+
+    /**
+     * 新增短信购买订单
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsOrder:add')")
+    @Log(title = "短信购买订单", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CompanySmsOrder companySmsOrder)
+    {
+        return toAjax(companySmsOrderService.insertCompanySmsOrder(companySmsOrder));
+    }
+
+    /**
+     * 修改短信购买订单
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsOrder:edit')")
+    @Log(title = "短信购买订单", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CompanySmsOrder companySmsOrder)
+    {
+        return toAjax(companySmsOrderService.updateCompanySmsOrder(companySmsOrder));
+    }
+
+    /**
+     * 删除短信购买订单
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsOrder:remove')")
+    @Log(title = "短信购买订单", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{orderIds}")
+    public AjaxResult remove(@PathVariable Long[] orderIds)
+    {
+        return toAjax(companySmsOrderService.deleteCompanySmsOrderByIds(orderIds));
+    }
+}

+ 115 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanySmsTempController.java

@@ -0,0 +1,115 @@
+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.domain.R;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.company.domain.CompanySmsTemp;
+import com.fs.company.service.ICompanySmsTempService;
+import com.fs.company.vo.CompanySmsTempListVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 短信模板Controller
+ *
+ * @author fs
+ * @date 2023-01-09
+ */
+@RestController
+@RequestMapping("/company/companySmsTemp")
+public class CompanySmsTempController extends BaseController
+{
+    @Autowired
+    private ICompanySmsTempService companySmsTempService;
+
+    /**
+     * 查询短信模板列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsTemp:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanySmsTemp companySmsTemp)
+    {
+        startPage();
+        List<CompanySmsTempListVO> list = companySmsTempService.selectCompanySmsTempListVO(companySmsTemp);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出短信模板列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsTemp:export')")
+    @Log(title = "短信模板", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(CompanySmsTemp companySmsTemp)
+    {
+        List<CompanySmsTemp> list = companySmsTempService.selectCompanySmsTempList(companySmsTemp);
+        ExcelUtil<CompanySmsTemp> util = new ExcelUtil<CompanySmsTemp>(CompanySmsTemp.class);
+        return util.exportExcel(list, "companySmsTemp");
+    }
+
+    /**
+     * 获取短信模板详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsTemp:query')")
+    @GetMapping(value = "/{tempId}")
+    public AjaxResult getInfo(@PathVariable("tempId") Long tempId)
+    {
+        return AjaxResult.success(companySmsTempService.selectCompanySmsTempById(tempId));
+    }
+
+    /**
+     * 新增短信模板
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsTemp:add')")
+    @Log(title = "短信模板", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CompanySmsTemp companySmsTemp)
+    {
+        return toAjax(companySmsTempService.insertCompanySmsTemp(companySmsTemp));
+    }
+
+    /**
+     * 修改短信模板
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsTemp:edit')")
+    @Log(title = "短信模板", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CompanySmsTemp companySmsTemp)
+    {
+        return toAjax(companySmsTempService.updateCompanySmsTemp(companySmsTemp));
+    }
+
+    /**
+     * 删除短信模板
+     */
+    @PreAuthorize("@ss.hasPermi('company:companySmsTemp:remove')")
+    @Log(title = "短信模板", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{tempIds}")
+    public AjaxResult remove(@PathVariable Long[] tempIds)
+    {
+        return toAjax(companySmsTempService.deleteCompanySmsTempByIds(tempIds));
+    }
+
+
+    @PreAuthorize("@ss.hasPermi('company:companySmsTemp:audit')")
+    @PostMapping("/audit")
+    public R audit(@RequestBody CompanySmsTemp companySmsTemp)
+    {
+        CompanySmsTemp map=new CompanySmsTemp();
+        map.setIsAudit(1);
+        map.setTempId(companySmsTemp.getTempId());
+        if(companySmsTempService.updateCompanySmsTemp(map)>0){
+            return R.ok("操作成功");
+        }
+        else{
+            return R.error("操作失败");
+        }
+    }
+}

+ 155 - 0
fs-admin-saas/src/main/java/com/fs/company/controller/company/CompanyDeptController.java

@@ -0,0 +1,155 @@
+package com.fs.company.controller.company;
+
+import com.fs.common.annotation.Log;
+import com.fs.common.constant.UserConstants;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.domain.model.LoginUser;
+import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.SecurityUtils;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.StringUtils;
+import com.fs.company.domain.CompanyDept;
+import com.fs.company.service.ICompanyDeptService;
+import com.fs.framework.web.service.TokenService;
+import org.apache.commons.lang3.ArrayUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Iterator;
+import java.util.List;
+
+@RestController
+@RequestMapping("/company/companyDept")
+public class CompanyDeptController extends BaseController
+{
+    @Autowired
+    private ICompanyDeptService deptService;
+    @Autowired
+    private TokenService tokenService;
+
+    @PreAuthorize("@ss.hasPermi('company:dept:list')")
+    @GetMapping("/list")
+    public AjaxResult list(CompanyDept dept)
+    {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        if (dept.getCompanyId() == null && loginUser.getUser() != null && loginUser.getUser().getCompanyId() != null) { dept.setCompanyId(loginUser.getUser().getCompanyId()); };
+        List<CompanyDept> depts = deptService.selectCompanyDeptList(dept);
+        return AjaxResult.success(depts);
+    }
+
+    @GetMapping("/myDeptTreeselect")
+    public AjaxResult myDeptTreeselect(CompanyDept dept)
+    {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        if (dept.getCompanyId() == null && loginUser.getUser() != null && loginUser.getUser().getCompanyId() != null) { dept.setCompanyId(loginUser.getUser().getCompanyId()); }
+        dept.setStatus("0");
+        dept.setParentId(loginUser.getUser().getDeptId());
+        List<CompanyDept> depts = deptService.selectCompanyDeptListByDeptAndParent(dept);
+        return AjaxResult.success(deptService.buildDeptTreeSelect(depts));
+    }
+
+    @PreAuthorize("@ss.hasPermi('company:dept:list')")
+    @GetMapping("/list/exclude/{deptId}")
+    public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
+    {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        CompanyDept dept=new CompanyDept();
+        if (dept.getCompanyId() == null && loginUser.getUser() != null && loginUser.getUser().getCompanyId() != null) { dept.setCompanyId(loginUser.getUser().getCompanyId()); }
+        List<CompanyDept> depts = deptService.selectCompanyDeptList(dept);
+        Iterator<CompanyDept> it = depts.iterator();
+        while (it.hasNext())
+        {
+            CompanyDept d = (CompanyDept) it.next();
+            if (d.getDeptId().intValue() == deptId
+                    || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""))
+            {
+                it.remove();
+            }
+        }
+        return AjaxResult.success(depts);
+    }
+
+    @PreAuthorize("@ss.hasPermi('company:dept:query')")
+    @GetMapping(value = "/{deptId}")
+    public AjaxResult getInfo(@PathVariable Long deptId)
+    {
+        return AjaxResult.success(deptService.selectCompanyDeptById(deptId));
+    }
+
+    @GetMapping("/treeselect")
+    public AjaxResult treeselect(CompanyDept dept)
+    {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        if (dept.getCompanyId() == null && loginUser.getUser() != null && loginUser.getUser().getCompanyId() != null) { dept.setCompanyId(loginUser.getUser().getCompanyId()); }
+        dept.setStatus("0");
+        List<CompanyDept> depts = deptService.selectCompanyDeptList(dept);
+        return AjaxResult.success(deptService.buildDeptTreeSelect(depts));
+    }
+
+    @GetMapping(value = "/roleDeptTreeselect/{roleId}")
+    public AjaxResult roleDeptTreeselect(@PathVariable("roleId") Long roleId)
+    {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        CompanyDept dept=new CompanyDept();
+        if (dept.getCompanyId() == null && loginUser.getUser() != null && loginUser.getUser().getCompanyId() != null) { dept.setCompanyId(loginUser.getUser().getCompanyId()); }
+        dept.setStatus("0");
+        List<CompanyDept> depts = deptService.selectCompanyDeptList(dept);
+        AjaxResult ajax = AjaxResult.success();
+        ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId));
+        ajax.put("depts", deptService.buildDeptTreeSelect(depts));
+        return ajax;
+    }
+
+    @PreAuthorize("@ss.hasPermi('company:dept:add')")
+    @Log(title = "部门管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated @RequestBody CompanyDept dept)
+    {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        if (dept.getCompanyId() == null && loginUser.getUser() != null && loginUser.getUser().getCompanyId() != null) { dept.setCompanyId(loginUser.getUser().getCompanyId()); }
+        if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept)))
+        {
+            return AjaxResult.error("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
+        }
+        dept.setCreateBy(SecurityUtils.getUsername());
+        return toAjax(deptService.insertCompanyDept(dept));
+    }
+
+    @PreAuthorize("@ss.hasPermi('company:dept:edit')")
+    @Log(title = "部门管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody CompanyDept dept) {
+        if(dept.getParentId().equals(dept.getDeptId())) {
+            return AjaxResult.error("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己");
+        }
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        if (dept.getCompanyId() == null && loginUser.getUser() != null && loginUser.getUser().getCompanyId() != null) { dept.setCompanyId(loginUser.getUser().getCompanyId()); }
+        if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept))) {
+            return AjaxResult.error("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在");
+        } else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus())
+                && deptService.selectNormalChildrenDeptById(dept.getDeptId()) > 0) {
+            return AjaxResult.error("该部门包含未停用的子部门!");
+        }
+        dept.setUpdateBy(SecurityUtils.getUsername());
+        return toAjax(deptService.updateCompanyDept(dept));
+    }
+
+    @PreAuthorize("@ss.hasPermi('company:dept:remove')")
+    @Log(title = "部门管理", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{deptId}")
+    public AjaxResult remove(@PathVariable Long deptId)
+    {
+        if (deptService.hasChildByDeptId(deptId)>0)
+        {
+            return AjaxResult.error("存在下级部门,不允许删除");
+        }
+        if (deptService.checkDeptExistUser(deptId)>0)
+        {
+            return AjaxResult.error("部门存在用户,不允许删除");
+        }
+        return toAjax(deptService.deleteCompanyDeptById(deptId));
+    }
+}

+ 23 - 23
fs-admin-saas/src/main/java/com/fs/course/controller/FsCoursePlaySourceConfigController.java

@@ -56,29 +56,29 @@ public class FsCoursePlaySourceConfigController extends BaseController {
                               @RequestParam(required = false, defaultValue = "10") Integer pageSize,
                               @RequestParam(required = false) Long companyId
     ) {
-//        Map<String, Object> params = new HashMap<>();
-//        params.put("name", name);
-//        params.put("appid", appid);
-//        params.put("isMall", isMall);
-//        params.put("companyId", companyId);
-//        com.fs.framework.security.LoginUser loginUser = (com.fs.framework.security.LoginUser) tokenService.getLoginUser(ServletUtils.getRequest());
-//        String json = configService.selectConfigByKey("course.config");
-//        CourseConfig config = JSONUtil.toBean(json, CourseConfig.class);
-//        Long userId = null;
-//        Long deptId = null;
-//        if(!loginUser.isAdmin() && config.getDept() != null && config.getDept()){
-//            deptId = loginUser.getDeptId();
-//            if(config.getDept() == null || !config.getDept()){
-//                userId = loginUser.getUserId();
-//            }
-//        }
-//        params.put("userId", userId);
-//        params.put("deptId", deptId);
-//
-//        PageHelper.startPage(pageNum, pageSize);
-//        List<FsCoursePlaySourceConfigVO> list = fsCoursePlaySourceConfigService.selectCoursePlaySourceConfigVOListByMap(params);
-//        return getDataTable(list);
-        throw new RuntimeException("未实现");
+        Map<String, Object> params = new HashMap<>();
+        params.put("name", name);
+        params.put("appid", appid);
+        params.put("isMall", isMall);
+        params.put("companyId", companyId);
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        String json = configService.selectConfigByKey("course.config");
+        CourseConfig config = JSONUtil.toBean(json, CourseConfig.class);
+        Long userId = null;
+        Long deptId = null;
+        if(!loginUser.isAdmin() && config.getDept() != null && config.getDept()){
+            deptId = loginUser.getDeptId();
+            if(config.getDept() == null || !config.getDept()){
+                userId = loginUser.getUserId();
+            }
+        }
+        params.put("userId", userId);
+        params.put("deptId", deptId);
+
+        PageHelper.startPage(pageNum, pageSize);
+        List<FsCoursePlaySourceConfigVO> list = fsCoursePlaySourceConfigService.selectCoursePlaySourceConfigVOListByMap(params);
+        return getDataTable(list);
+//        throw new RuntimeException("未实现");
     }
 
     @PreAuthorize("@ss.hasPermi('course:playSourceConfig:query')")

+ 16 - 18
fs-admin-saas/src/main/java/com/fs/his/controller/FsCompanyController.java

@@ -226,24 +226,22 @@ public class FsCompanyController extends BaseController {
     @RepeatSubmit
     public R recharge(@RequestBody CompanyRechargeParam param)
     {
-//        com.fs.framework.security.LoginUser loginUser = (com.fs.framework.security.LoginUser) tokenService.getLoginUser(ServletUtils.getRequest());
-//        CompanyRecharge recharge=new CompanyRecharge();
-//        String orderSn =  OrderCodeUtils.getOrderSn();
-//        if(StringUtils.isEmpty(orderSn)){
-//            return R.error("订单生成失败,请重试");
-//        }
-//        recharge.setRechargeNo(orderSn);
-//        recharge.setCompanyId(param.getCompanyId());
-//        recharge.setMoney(param.getMoney());
-//        recharge.setCreateUserId(loginUser.getCompanyUser() != null ? loginUser.getCompanyUser().getUserId() : loginUser.getUserId());
-//        recharge.setIsAudit(0);
-//        recharge.setStatus(0);
-//        recharge.setRemark(param.getRemark());
-//        recharge.setPayType(3);
-//        rechargeService.insertCompanyRecharge(recharge);
-//        return R.ok("提交成功,等待审核");
-        throw new RuntimeException("未实现");
-
+        LoginUser loginUser =  tokenService.getLoginUser(ServletUtils.getRequest());
+        CompanyRecharge recharge=new CompanyRecharge();
+        String orderSn =  OrderCodeUtils.getOrderSn();
+        if(StringUtils.isEmpty(orderSn)){
+            return R.error("订单生成失败,请重试");
+        }
+        recharge.setRechargeNo(orderSn);
+        recharge.setCompanyId(param.getCompanyId());
+        recharge.setMoney(param.getMoney());
+        recharge.setCreateUserId(loginUser.getUserId());
+        recharge.setIsAudit(0);
+        recharge.setStatus(0);
+        recharge.setRemark(param.getRemark());
+        recharge.setPayType(3);
+        rechargeService.insertCompanyRecharge(recharge);
+        return R.ok("提交成功,等待审核");
     }
 
 

+ 32 - 32
fs-admin-saas/src/main/java/com/fs/his/controller/FsCompanyDeductController.java

@@ -1,4 +1,5 @@
 package com.fs.his.controller;
+import com.fs.common.core.domain.model.LoginUser;
 import com.fs.framework.web.service.TokenService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -132,38 +133,37 @@ public class FsCompanyDeductController extends BaseController
     @RepeatSubmit
     public R audit(@RequestBody CompanyDeduct param)
     {
-//        CompanyDeduct deduct=companyDeductService.selectCompanyDeductById(param.getDeductId());
-//        if(deduct.getIsAudit()!=0){
-//            return R.error("非法操作");
-//        }
-//        deduct.setIsAudit(param.getIsAudit());
-//        deduct.setRemark(param.getRemark());
-//        com.fs.framework.security.LoginUser loginUser = (com.fs.framework.security.LoginUser) tokenService.getLoginUser(ServletUtils.getRequest());
-//        if(deduct.getIsAudit()==1){
-//            if(1==param.getBusinessType()){// 红包充值
-//                // 更新红包充值余额redis字段
-//                companyService.redPacketTopUpCompany(deduct.getCompanyId(),deduct.getMoney(),"2");
-//            }else {
-//                Company company=companyService.selectCompanyByIdForUpdate(deduct.getCompanyId());
-//                company.setMoney(company.getMoney().subtract(deduct.getMoney()));
-//                deduct.setBalance(company.getMoney());
-//                companyService.updateCompany(company);
-//                //生成流水
-//                CompanyMoneyLogs log=new CompanyMoneyLogs();
-//                log.setCompanyId(deduct.getCompanyId());
-//                log.setMoney(deduct.getMoney().multiply(new BigDecimal(-1)));
-//                log.setRemark(deduct.getRemark());
-//                log.setLogsType(2);
-//                log.setBalance(company.getMoney());
-//                log.setCreateTime(new Date());
-//                moneyLogsService.insertCompanyMoneyLogs(log);
-//            }
-//        }
-//        deduct.setAuditTime(new Date());
-//        deduct.setAuditUserId(loginUser.getCompanyUser().getUserId());
-//        companyDeductService.updateCompanyDeduct(deduct);
-//        return R.ok("操作成功");
-        throw new RuntimeException("未实现");
+        CompanyDeduct deduct=companyDeductService.selectCompanyDeductById(param.getDeductId());
+        if(deduct.getIsAudit()!=0){
+            return R.error("非法操作");
+        }
+        deduct.setIsAudit(param.getIsAudit());
+        deduct.setRemark(param.getRemark());
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        if(deduct.getIsAudit()==1){
+            if(1==param.getBusinessType()){// 红包充值
+                // 更新红包充值余额redis字段
+                companyService.redPacketTopUpCompany(deduct.getCompanyId(),deduct.getMoney(),"2");
+            }else {
+                Company company=companyService.selectCompanyByIdForUpdate(deduct.getCompanyId());
+                company.setMoney(company.getMoney().subtract(deduct.getMoney()));
+                deduct.setBalance(company.getMoney());
+                companyService.updateCompany(company);
+                //生成流水
+                CompanyMoneyLogs log=new CompanyMoneyLogs();
+                log.setCompanyId(deduct.getCompanyId());
+                log.setMoney(deduct.getMoney().multiply(new BigDecimal(-1)));
+                log.setRemark(deduct.getRemark());
+                log.setLogsType(2);
+                log.setBalance(company.getMoney());
+                log.setCreateTime(new Date());
+                moneyLogsService.insertCompanyMoneyLogs(log);
+            }
+        }
+        deduct.setAuditTime(new Date());
+        deduct.setAuditUserId(loginUser.getUserId());
+        companyDeductService.updateCompanyDeduct(deduct);
+        return R.ok("操作成功");
 
     }
 

+ 2 - 1
fs-admin-saas/src/main/java/com/fs/hisStore/controller/FsStoreAfterSalesScrmController.java

@@ -99,7 +99,8 @@ public class FsStoreAfterSalesScrmController extends BaseController
         }
 
         List<FsStoreAfterSalesVO> list = fsStoreAfterSalesService.selectFsStoreAfterSalesListVOExport(fsStoreAfterSales);
-        if("北京卓美".equals(com.fs.config.saas.ProjectConfig.getFromDB(sysConfigMapper).getCloudHost().getCompanyName())){
+        com.fs.config.saas.ProjectConfig projectConfig = com.fs.config.saas.ProjectConfig.getFromDB(sysConfigMapper);
+        if(projectConfig != null && projectConfig.getCloudHost() != null && "北京卓美".equals(projectConfig.getCloudHost().getCompanyName())){
             List<FsStoreOrderItemExportRefundZMVO> zmvoList = list.stream()
                     .map(vo -> {
                         FsStoreOrderItemExportRefundZMVO zmvo = new FsStoreOrderItemExportRefundZMVO();

+ 213 - 215
fs-admin-saas/src/main/java/com/fs/hisStore/controller/FsStoreHealthOrderScrmController.java

@@ -7,6 +7,7 @@ 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.domain.R;
+import com.fs.common.core.domain.model.LoginUser;
 import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.CloudHostUtils;
@@ -82,83 +83,82 @@ public class FsStoreHealthOrderScrmController extends BaseController {
 //    @PreAuthorize("@ss.hasPermi('store:healthStoreOrder:list')")
       @PostMapping("/healthList")
       public TableDataInfo healthStoreList(@RequestBody FsStoreOrderParam param) {
-//          PageHelper.startPage(param.getPageNum(), param.getPageSize());
-//        if(!StringUtils.isEmpty(param.getCreateTimeRange())){
-//            param.setCreateTimeList(param.getCreateTimeRange().split("--"));
-//        }
-//        if(!StringUtils.isEmpty(param.getPayTimeRange())){
-//            param.setPayTimeList(param.getPayTimeRange().split("--"));
-//        }
-//        if(!StringUtils.isEmpty(param.getDeliveryImportTimeRange())){
-//            param.setDeliveryImportTimeList(param.getDeliveryImportTimeRange().split("--"));
-//        }
-//        if(!StringUtils.isEmpty(param.getDeliverySendTimeRange())){
-//            param.setDeliverySendTimeList(param.getDeliverySendTimeRange().split("--"));
-//        }
-//        param.setIsHealth("1");
-//        List<FsStoreOrderVO> list = fsStoreOrderService.selectFsStoreOrderListVO(param);
-//        //金牛需求 区别其他项目 status = 6 (金牛代服管家) ,其他项目请避免使用订单状态status = 6
-//        TableDataInfo dataTable = getDataTable(list);
-//        if (CloudHostUtils.hasCloudHostName("康年堂")){
-//            dataTable.setMsg("knt");
-//        }
-//        if (list != null) {
-//            com.fs.framework.security.LoginUser loginUser = (com.fs.framework.security.LoginUser) tokenService.getLoginUser(ServletUtils.getRequest());
-//            for (FsStoreOrderVO vo : list) {
-//                if(StringUtils.isNotEmpty(vo.getPhone())){
-//                    vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
-//                }
-//                if (StringUtils.isNotEmpty(vo.getUserPhone())){
-//                    vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
-//                }
-//                if (CloudHostUtils.hasCloudHostName("康年堂")){
-//                    //查询顺丰代服账号
-//                    FsStoreOrderDf df = fsStoreOrderDfService.selectFsStoreOrderDfByOrderId(vo.getId());
-//                    if (df != null){
-//                        vo.setErpAccount(df.getLoginAccount());
-//                    }
-//                }
-//                //
-//                if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*") ) {
-//                    if((vo.getCost() !=null && vo.getTotalNum() != null)){
-//                        vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
-//                    }
-//                } else {
-//                    vo.setPayPostage(BigDecimal.ZERO);
-//                    vo.setCost(BigDecimal.ZERO);
-//                    vo.setFPrice(BigDecimal.ZERO);
-//                    vo.setPayDelivery(BigDecimal.ZERO);
-//                    vo.setBarCode("");
-//                    vo.setCateName("");
-//                    vo.setBankTransactionId("");
-//                }
-//
-//            }
-//        }
-//        FsStoreOrderListAndStatisticsVo vo = new FsStoreOrderListAndStatisticsVo();
-//        BeanUtils.copyProperties(dataTable, vo);
-//        if (dataTable.getTotal()>0){
-//            Map<String, BigDecimal> statistics= fsStoreOrderService.selectFsStoreOrderStatistics(param);
-//            if (statistics != null && statistics.size() >= 3){
-//                vo.setPayPriceTotal(statistics.get("pay_price").toString());
-//                vo.setPayMoneyTotal(statistics.get("pay_money").toString());
-//                vo.setPayRemainTotal(statistics.get("pay_remain").toString());
-//            }else {
-//                vo.setPayPriceTotal("0");
-//                vo.setPayMoneyTotal("0");
-//                vo.setPayRemainTotal("0");
-//            }
-//            //商品数量合计
-//            String productStatistics= fsStoreOrderService.selectFsStoreOrderProductStatistics(param);
-//            if (StringUtils.isNotBlank(productStatistics)){
-//                vo.setProductInfo(productStatistics);
-//            } else {
-//                vo.setProductInfo("");
-//            }
-//
-//        }
-//        return vo;
-          throw new RuntimeException("未实现");
+          PageHelper.startPage(param.getPageNum(), param.getPageSize());
+        if(!StringUtils.isEmpty(param.getCreateTimeRange())){
+            param.setCreateTimeList(param.getCreateTimeRange().split("--"));
+        }
+        if(!StringUtils.isEmpty(param.getPayTimeRange())){
+            param.setPayTimeList(param.getPayTimeRange().split("--"));
+        }
+        if(!StringUtils.isEmpty(param.getDeliveryImportTimeRange())){
+            param.setDeliveryImportTimeList(param.getDeliveryImportTimeRange().split("--"));
+        }
+        if(!StringUtils.isEmpty(param.getDeliverySendTimeRange())){
+            param.setDeliverySendTimeList(param.getDeliverySendTimeRange().split("--"));
+        }
+        param.setIsHealth("1");
+        List<FsStoreOrderVO> list = fsStoreOrderService.selectFsStoreOrderListVO(param);
+        //金牛需求 区别其他项目 status = 6 (金牛代服管家) ,其他项目请避免使用订单状态status = 6
+        TableDataInfo dataTable = getDataTable(list);
+        if (CloudHostUtils.hasCloudHostName("康年堂")){
+            dataTable.setMsg("knt");
+        }
+        if (list != null) {
+            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+            for (FsStoreOrderVO vo : list) {
+                if(StringUtils.isNotEmpty(vo.getPhone())){
+                    vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
+                }
+                if (StringUtils.isNotEmpty(vo.getUserPhone())){
+                    vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
+                }
+                if (CloudHostUtils.hasCloudHostName("康年堂")){
+                    //查询顺丰代服账号
+                    FsStoreOrderDf df = fsStoreOrderDfService.selectFsStoreOrderDfByOrderId(vo.getId());
+                    if (df != null){
+                        vo.setErpAccount(df.getLoginAccount());
+                    }
+                }
+                //
+                if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*") ) {
+                    if((vo.getCost() !=null && vo.getTotalNum() != null)){
+                        vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                    }
+                } else {
+                    vo.setPayPostage(BigDecimal.ZERO);
+                    vo.setCost(BigDecimal.ZERO);
+                    vo.setFPrice(BigDecimal.ZERO);
+                    vo.setPayDelivery(BigDecimal.ZERO);
+                    vo.setBarCode("");
+                    vo.setCateName("");
+                    vo.setBankTransactionId("");
+                }
+
+            }
+        }
+        FsStoreOrderListAndStatisticsVo vo = new FsStoreOrderListAndStatisticsVo();
+        BeanUtils.copyProperties(dataTable, vo);
+        if (dataTable.getTotal()>0){
+            Map<String, BigDecimal> statistics= fsStoreOrderService.selectFsStoreOrderStatistics(param);
+            if (statistics != null && statistics.size() >= 3){
+                vo.setPayPriceTotal(statistics.get("pay_price").toString());
+                vo.setPayMoneyTotal(statistics.get("pay_money").toString());
+                vo.setPayRemainTotal(statistics.get("pay_remain").toString());
+            }else {
+                vo.setPayPriceTotal("0");
+                vo.setPayMoneyTotal("0");
+                vo.setPayRemainTotal("0");
+            }
+            //商品数量合计
+            String productStatistics= fsStoreOrderService.selectFsStoreOrderProductStatistics(param);
+            if (StringUtils.isNotBlank(productStatistics)){
+                vo.setProductInfo(productStatistics);
+            } else {
+                vo.setProductInfo("");
+            }
+
+        }
+        return vo;
     }
 
     /**
@@ -274,150 +274,148 @@ public class FsStoreHealthOrderScrmController extends BaseController {
     @Log(title = "商城订单明细导出", businessType = BusinessType.EXPORT)
     @GetMapping("/healthExportItems")
     public AjaxResult exportItems1(FsStoreOrderParam param) {
-//        if ("".equals(param.getBeginTime()) && "".equals(param.getEndTime())){
-//            param.setBeginTime(null);
-//            param.setEndTime(null);
-//        }
-//        if (fsStoreOrderService.isEntityNull(param)){
-//            return AjaxResult.error("请筛选数据导出");
-//        }
-//        if(!StringUtils.isEmpty(param.getCreateTimeRange())){
-//            param.setCreateTimeList(param.getCreateTimeRange().split("--"));
-//        }
-//        if(!StringUtils.isEmpty(param.getPayTimeRange())){
-//            param.setPayTimeList(param.getPayTimeRange().split("--"));
-//        }
-//        if(!StringUtils.isEmpty(param.getDeliverySendTimeRange())){
-//            param.setDeliverySendTimeList(param.getDeliverySendTimeRange().split("--"));
-//        }
-//        if(!StringUtils.isEmpty(param.getDeliveryImportTimeRange())){
-//            param.setDeliveryImportTimeList(param.getDeliveryImportTimeRange().split("--"));
-//        }
-//        param.setIsHealth("1");
-//        List<FsStoreOrderItemExportVO> list = orderItemService.selectFsStoreOrderItemListExportVO(param);
-//        //对手机号脱敏
-//        if (list != null) {
-//            com.fs.framework.security.LoginUser loginUser = (com.fs.framework.security.LoginUser) tokenService.getLoginUser(ServletUtils.getRequest());
-//            for (FsStoreOrderItemExportVO vo : list) {
-//                if (vo.getUserPhone() != null) {
-//                    String phone = vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{1})", "$1****$2");
-//                    vo.setUserPhone(phone);
-//                }
-//                if (!StringUtils.isEmpty(vo.getJsonInfo())) {
-//                    try {
-//                        StoreOrderProductDTO orderProductDTO = JSONObject.parseObject(vo.getJsonInfo(), StoreOrderProductDTO.class);
-//                        BeanUtil.copyProperties(orderProductDTO, vo);
-//                    } catch (Exception e) {
-//                    }
-//                }
-//                //
-//                if ((loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*") ) && !Objects.isNull(vo.getCost())) {
-//                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
-//                } else {
-//                    vo.setPayPostage(BigDecimal.ZERO);
-//                    vo.setCost(BigDecimal.ZERO);
-//                    vo.setFPrice(BigDecimal.ZERO);
-//                    vo.setBarCode("");
-//                    vo.setCateName("");
-//                    vo.setBankTransactionId("");
-//                }
-//            }
-//        }
-//        ExcelUtil<FsStoreOrderItemExportVO> util = new ExcelUtil<FsStoreOrderItemExportVO>(FsStoreOrderItemExportVO.class);
-//        return util.exportExcel(list, "订单明细数据");
-        throw new RuntimeException("未实现");
+        if ("".equals(param.getBeginTime()) && "".equals(param.getEndTime())){
+            param.setBeginTime(null);
+            param.setEndTime(null);
+        }
+        if (fsStoreOrderService.isEntityNull(param)){
+            return AjaxResult.error("请筛选数据导出");
+        }
+        if(!StringUtils.isEmpty(param.getCreateTimeRange())){
+            param.setCreateTimeList(param.getCreateTimeRange().split("--"));
+        }
+        if(!StringUtils.isEmpty(param.getPayTimeRange())){
+            param.setPayTimeList(param.getPayTimeRange().split("--"));
+        }
+        if(!StringUtils.isEmpty(param.getDeliverySendTimeRange())){
+            param.setDeliverySendTimeList(param.getDeliverySendTimeRange().split("--"));
+        }
+        if(!StringUtils.isEmpty(param.getDeliveryImportTimeRange())){
+            param.setDeliveryImportTimeList(param.getDeliveryImportTimeRange().split("--"));
+        }
+        param.setIsHealth("1");
+        List<FsStoreOrderItemExportVO> list = orderItemService.selectFsStoreOrderItemListExportVO(param);
+        //对手机号脱敏
+        if (list != null) {
+            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+            for (FsStoreOrderItemExportVO vo : list) {
+                if (vo.getUserPhone() != null) {
+                    String phone = vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{1})", "$1****$2");
+                    vo.setUserPhone(phone);
+                }
+                if (!StringUtils.isEmpty(vo.getJsonInfo())) {
+                    try {
+                        StoreOrderProductDTO orderProductDTO = JSONObject.parseObject(vo.getJsonInfo(), StoreOrderProductDTO.class);
+                        BeanUtil.copyProperties(orderProductDTO, vo);
+                    } catch (Exception e) {
+                    }
+                }
+                //
+                if ((loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*") ) && !Objects.isNull(vo.getCost())) {
+                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                } else {
+                    vo.setPayPostage(BigDecimal.ZERO);
+                    vo.setCost(BigDecimal.ZERO);
+                    vo.setFPrice(BigDecimal.ZERO);
+                    vo.setBarCode("");
+                    vo.setCateName("");
+                    vo.setBankTransactionId("");
+                }
+            }
+        }
+        ExcelUtil<FsStoreOrderItemExportVO> util = new ExcelUtil<FsStoreOrderItemExportVO>(FsStoreOrderItemExportVO.class);
+        return util.exportExcel(list, "订单明细数据");
     }
 
     @PreAuthorize("@ss.hasPermi('store:healthStoreOrder:exportItems:details')")
     @Log(title = "商城订单明细导出", businessType = BusinessType.EXPORT)
     @GetMapping("/healthExportItemsDetails")
     public AjaxResult healthExportItemsDetails(FsStoreOrderParam param) {
-//        if ("".equals(param.getBeginTime()) && "".equals(param.getEndTime())){
-//            param.setBeginTime(null);
-//            param.setEndTime(null);
-//        }
-//        if (fsStoreOrderService.isEntityNull(param)){
-//            return AjaxResult.error("请筛选数据导出");
-//        }
-//        if(!StringUtils.isEmpty(param.getCreateTimeRange())){
-//            param.setCreateTimeList(param.getCreateTimeRange().split("--"));
-//        }
-//        if(!StringUtils.isEmpty(param.getPayTimeRange())){
-//            param.setPayTimeList(param.getPayTimeRange().split("--"));
-//        }
-//        if(!StringUtils.isEmpty(param.getDeliverySendTimeRange())){
-//            param.setDeliverySendTimeList(param.getDeliverySendTimeRange().split("--"));
-//        }
-//        if(!StringUtils.isEmpty(param.getDeliveryImportTimeRange())){
-//            param.setDeliveryImportTimeList(param.getDeliveryImportTimeRange().split("--"));
-//        }
-//        param.setIsHealth("1");
-//        List<FsStoreOrderItemExportVO> list = orderItemService.selectFsStoreOrderItemListExportVO(param);
-//        if("北京卓美".equals(com.fs.config.saas.ProjectConfig.getFromDB(sysConfigMapper).getCloudHost().getCompanyName())){
-//            List<FsStoreOrderItemExportZMVO> zmvoList = list.stream()
-//                    .map(vo -> {
-//                        FsStoreOrderItemExportZMVO zmvo = new FsStoreOrderItemExportZMVO();
-//                        try {
-//                            BeanUtil.copyProperties( vo,zmvo);
-//                        } catch (Exception e) {
-//                            // 处理异常
-//                            e.printStackTrace();
-//                        }
-//                        return zmvo;
-//                    })
-//                    .collect(Collectors.toList());
-//            //对手机号脱敏
-//            if (zmvoList != null) {
-//                    com.fs.framework.security.LoginUser loginUser = (com.fs.framework.security.LoginUser) tokenService.getLoginUser(ServletUtils.getRequest());
-//                    for (FsStoreOrderItemExportZMVO vo : zmvoList) {
-//                        if (!StringUtils.isEmpty(vo.getJsonInfo())) {
-//                            try {
-//                                StoreOrderProductDTO orderProductDTO = JSONObject.parseObject(vo.getJsonInfo(), StoreOrderProductDTO.class);
-//                                BeanUtil.copyProperties(orderProductDTO, vo);
-//                            } catch (Exception e) {
-//                            }
-//                        }
-//                        if ((loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*") ) && !Objects.isNull(vo.getCost())) {
-//                            vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
-//                        } else {
-//                            vo.setPayPostage(BigDecimal.ZERO);
-//                            vo.setCost(BigDecimal.ZERO);
-//                            vo.setFPrice(BigDecimal.ZERO);
-//                            vo.setBarCode("");
-//                            vo.setCateName("");
-//                            vo.setBankTransactionId("");
-//                        }
-//                    }
-//                }
-//                ExcelUtil<FsStoreOrderItemExportZMVO> util = new ExcelUtil<FsStoreOrderItemExportZMVO>(FsStoreOrderItemExportZMVO.class);
-//                return util.exportExcel(zmvoList, "订单明细数据");
-//        }
-//        //对手机号脱敏
-//        if (list != null) {
-//            com.fs.framework.security.LoginUser loginUser = (com.fs.framework.security.LoginUser) tokenService.getLoginUser(ServletUtils.getRequest());
-//            for (FsStoreOrderItemExportVO vo : list) {
-//                if (!StringUtils.isEmpty(vo.getJsonInfo())) {
-//                    try {
-//                        StoreOrderProductDTO orderProductDTO = JSONObject.parseObject(vo.getJsonInfo(), StoreOrderProductDTO.class);
-//                        BeanUtil.copyProperties(orderProductDTO, vo);
-//                    } catch (Exception e) {
-//                    }
-//                }
-//                if ((loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*") ) && !Objects.isNull(vo.getCost())) {
-//                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
-//                } else {
-//                    vo.setPayPostage(BigDecimal.ZERO);
-//                    vo.setCost(BigDecimal.ZERO);
-//                    vo.setFPrice(BigDecimal.ZERO);
-//                    vo.setBarCode("");
-//                    vo.setCateName("");
-//                    vo.setBankTransactionId("");
-//                }
-//            }
-//        }
-//        ExcelUtil<FsStoreOrderItemExportVO> util = new ExcelUtil<FsStoreOrderItemExportVO>(FsStoreOrderItemExportVO.class);
-//        return util.exportExcel(list, "订单明细数据");
-        throw new RuntimeException("未实现");
+        if ("".equals(param.getBeginTime()) && "".equals(param.getEndTime())){
+            param.setBeginTime(null);
+            param.setEndTime(null);
+        }
+        if (fsStoreOrderService.isEntityNull(param)){
+            return AjaxResult.error("请筛选数据导出");
+        }
+        if(!StringUtils.isEmpty(param.getCreateTimeRange())){
+            param.setCreateTimeList(param.getCreateTimeRange().split("--"));
+        }
+        if(!StringUtils.isEmpty(param.getPayTimeRange())){
+            param.setPayTimeList(param.getPayTimeRange().split("--"));
+        }
+        if(!StringUtils.isEmpty(param.getDeliverySendTimeRange())){
+            param.setDeliverySendTimeList(param.getDeliverySendTimeRange().split("--"));
+        }
+        if(!StringUtils.isEmpty(param.getDeliveryImportTimeRange())){
+            param.setDeliveryImportTimeList(param.getDeliveryImportTimeRange().split("--"));
+        }
+        param.setIsHealth("1");
+        List<FsStoreOrderItemExportVO> list = orderItemService.selectFsStoreOrderItemListExportVO(param);
+        if("北京卓美".equals(com.fs.config.saas.ProjectConfig.getFromDB(sysConfigMapper).getCloudHost().getCompanyName())){
+            List<FsStoreOrderItemExportZMVO> zmvoList = list.stream()
+                    .map(vo -> {
+                        FsStoreOrderItemExportZMVO zmvo = new FsStoreOrderItemExportZMVO();
+                        try {
+                            BeanUtil.copyProperties( vo,zmvo);
+                        } catch (Exception e) {
+                            // 处理异常
+                            e.printStackTrace();
+                        }
+                        return zmvo;
+                    })
+                    .collect(Collectors.toList());
+            //对手机号脱敏
+            if (zmvoList != null) {
+                LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+                    for (FsStoreOrderItemExportZMVO vo : zmvoList) {
+                        if (!StringUtils.isEmpty(vo.getJsonInfo())) {
+                            try {
+                                StoreOrderProductDTO orderProductDTO = JSONObject.parseObject(vo.getJsonInfo(), StoreOrderProductDTO.class);
+                                BeanUtil.copyProperties(orderProductDTO, vo);
+                            } catch (Exception e) {
+                            }
+                        }
+                        if ((loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*") ) && !Objects.isNull(vo.getCost())) {
+                            vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                        } else {
+                            vo.setPayPostage(BigDecimal.ZERO);
+                            vo.setCost(BigDecimal.ZERO);
+                            vo.setFPrice(BigDecimal.ZERO);
+                            vo.setBarCode("");
+                            vo.setCateName("");
+                            vo.setBankTransactionId("");
+                        }
+                    }
+                }
+                ExcelUtil<FsStoreOrderItemExportZMVO> util = new ExcelUtil<FsStoreOrderItemExportZMVO>(FsStoreOrderItemExportZMVO.class);
+                return util.exportExcel(zmvoList, "订单明细数据");
+        }
+        //对手机号脱敏
+        if (list != null) {
+            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+            for (FsStoreOrderItemExportVO vo : list) {
+                if (!StringUtils.isEmpty(vo.getJsonInfo())) {
+                    try {
+                        StoreOrderProductDTO orderProductDTO = JSONObject.parseObject(vo.getJsonInfo(), StoreOrderProductDTO.class);
+                        BeanUtil.copyProperties(orderProductDTO, vo);
+                    } catch (Exception e) {
+                    }
+                }
+                if ((loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*") ) && !Objects.isNull(vo.getCost())) {
+                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                } else {
+                    vo.setPayPostage(BigDecimal.ZERO);
+                    vo.setCost(BigDecimal.ZERO);
+                    vo.setFPrice(BigDecimal.ZERO);
+                    vo.setBarCode("");
+                    vo.setCateName("");
+                    vo.setBankTransactionId("");
+                }
+            }
+        }
+        ExcelUtil<FsStoreOrderItemExportVO> util = new ExcelUtil<FsStoreOrderItemExportVO>(FsStoreOrderItemExportVO.class);
+        return util.exportExcel(list, "订单明细数据");
     }
 
     //订单发货批量导入

+ 74 - 74
fs-admin-saas/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java

@@ -11,6 +11,7 @@ import com.fs.common.core.domain.AjaxResult;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.domain.entity.SysRole;
 import com.fs.common.core.domain.entity.SysUser;
+import com.fs.common.core.domain.model.LoginUser;
 import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.CloudHostUtils;
@@ -182,80 +183,79 @@ public class FsStoreOrderScrmController extends BaseController {
     @PreAuthorize("@ss.hasPermi('store:storeOrder:list')")
     @PostMapping("/list")
     public TableDataInfo list(@RequestBody FsStoreOrderParam param) {
-//        PageHelper.startPage(param.getPageNum(), param.getPageSize());
-//        if(!StringUtils.isEmpty(param.getCreateTimeRange())){
-//            param.setCreateTimeList(param.getCreateTimeRange().split("--"));
-//        }
-//        if(!StringUtils.isEmpty(param.getPayTimeRange())){
-//            param.setPayTimeList(param.getPayTimeRange().split("--"));
-//        }
-//        if(!StringUtils.isEmpty(param.getDeliveryImportTimeRange())){
-//            param.setDeliveryImportTimeList(param.getDeliveryImportTimeRange().split("--"));
-//        }
-//        if(!StringUtils.isEmpty(param.getDeliverySendTimeRange())){
-//            param.setDeliverySendTimeList(param.getDeliverySendTimeRange().split("--"));
-//        }
-//        param.setNotHealth(1);
-//        List<FsStoreOrderVO> list = fsStoreOrderService.selectFsStoreOrderListVO(param);
-//        //金牛需求 区别其他项目 status = 6 (金牛代服管家) ,其他项目请避免使用订单状态status = 6
-//        TableDataInfo dataTable = getDataTable(list);
-//        if (CloudHostUtils.hasCloudHostName("康年堂")){
-//            dataTable.setMsg("knt");
-//        }
-//        if (list != null) {
-//            com.fs.framework.security.LoginUser loginUser = (com.fs.framework.security.LoginUser) tokenService.getLoginUser(ServletUtils.getRequest());
-//            for (FsStoreOrderVO vo : list) {
-//                if(vo.getPhone()!=null){
-//                    vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
-//                }
-//                if(ObjectUtil.isNotEmpty(vo.getUserPhone())){
-//                    vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
-//                }
-//                if (CloudHostUtils.hasCloudHostName("康年堂")){
-//                    //查询顺丰代服账号
-//                    FsStoreOrderDf df = fsStoreOrderDfService.selectFsStoreOrderDfByOrderId(vo.getId());
-//                    if (df != null){
-//                        vo.setErpAccount(df.getLoginAccount());
-//                    }
-//                }
-//                //
-//                if ((loginUser.getPermissions().contains("his:storeAfterSales:finance")) || loginUser.getPermissions().contains("*:*:*") && (vo.getCost() != null && vo.getTotalNum() != null)) {
-//                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
-//                } else {
-//                    vo.setPayPostage(BigDecimal.ZERO);
-//                    vo.setCost(BigDecimal.ZERO);
-//                    vo.setFPrice(BigDecimal.ZERO);
-//                    vo.setPayDelivery(BigDecimal.ZERO);
-//                    vo.setBarCode("");
-//                    vo.setCateName("");
-//                    vo.setBankTransactionId("");
-//                }
-//            }
-//        }
-//        FsStoreOrderListAndStatisticsVo vo = new FsStoreOrderListAndStatisticsVo();
-//        BeanUtils.copyProperties(dataTable, vo);
-//        if (dataTable.getTotal()>0){
-//            Map<String, BigDecimal> statistics= fsStoreOrderService.selectFsStoreOrderStatistics(param);
-//            if (statistics != null && statistics.size() >= 3){
-//                vo.setPayPriceTotal(statistics.get("pay_price").toString());
-//                vo.setPayMoneyTotal(statistics.get("pay_money").toString());
-//                vo.setPayRemainTotal(statistics.get("pay_remain").toString());
-//            }else {
-//                vo.setPayPriceTotal("0");
-//                vo.setPayMoneyTotal("0");
-//                vo.setPayRemainTotal("0");
-//            }
-//            //商品数量合计
-//            String productStatistics= fsStoreOrderService.selectFsStoreOrderProductStatistics(param);
-//            if (StringUtils.isNotBlank(productStatistics)){
-//                vo.setProductInfo(productStatistics);
-//            } else {
-//                vo.setProductInfo("");
-//            }
-//
-//        }
-//        return vo;
-        throw new RuntimeException("未实现");
+        PageHelper.startPage(param.getPageNum(), param.getPageSize());
+        if(!StringUtils.isEmpty(param.getCreateTimeRange())){
+            param.setCreateTimeList(param.getCreateTimeRange().split("--"));
+        }
+        if(!StringUtils.isEmpty(param.getPayTimeRange())){
+            param.setPayTimeList(param.getPayTimeRange().split("--"));
+        }
+        if(!StringUtils.isEmpty(param.getDeliveryImportTimeRange())){
+            param.setDeliveryImportTimeList(param.getDeliveryImportTimeRange().split("--"));
+        }
+        if(!StringUtils.isEmpty(param.getDeliverySendTimeRange())){
+            param.setDeliverySendTimeList(param.getDeliverySendTimeRange().split("--"));
+        }
+        param.setNotHealth(1);
+        List<FsStoreOrderVO> list = fsStoreOrderService.selectFsStoreOrderListVO(param);
+        //金牛需求 区别其他项目 status = 6 (金牛代服管家) ,其他项目请避免使用订单状态status = 6
+        TableDataInfo dataTable = getDataTable(list);
+        if (CloudHostUtils.hasCloudHostName("康年堂")){
+            dataTable.setMsg("knt");
+        }
+        if (list != null) {
+            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+            for (FsStoreOrderVO vo : list) {
+                if(vo.getPhone()!=null){
+                    vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
+                }
+                if(ObjectUtil.isNotEmpty(vo.getUserPhone())){
+                    vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
+                }
+                if (CloudHostUtils.hasCloudHostName("康年堂")){
+                    //查询顺丰代服账号
+                    FsStoreOrderDf df = fsStoreOrderDfService.selectFsStoreOrderDfByOrderId(vo.getId());
+                    if (df != null){
+                        vo.setErpAccount(df.getLoginAccount());
+                    }
+                }
+                //
+                if ((loginUser.getPermissions().contains("his:storeAfterSales:finance")) || loginUser.getPermissions().contains("*:*:*") && (vo.getCost() != null && vo.getTotalNum() != null)) {
+                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                } else {
+                    vo.setPayPostage(BigDecimal.ZERO);
+                    vo.setCost(BigDecimal.ZERO);
+                    vo.setFPrice(BigDecimal.ZERO);
+                    vo.setPayDelivery(BigDecimal.ZERO);
+                    vo.setBarCode("");
+                    vo.setCateName("");
+                    vo.setBankTransactionId("");
+                }
+            }
+        }
+        FsStoreOrderListAndStatisticsVo vo = new FsStoreOrderListAndStatisticsVo();
+        BeanUtils.copyProperties(dataTable, vo);
+        if (dataTable.getTotal()>0){
+            Map<String, BigDecimal> statistics= fsStoreOrderService.selectFsStoreOrderStatistics(param);
+            if (statistics != null && statistics.size() >= 3){
+                vo.setPayPriceTotal(statistics.get("pay_price").toString());
+                vo.setPayMoneyTotal(statistics.get("pay_money").toString());
+                vo.setPayRemainTotal(statistics.get("pay_remain").toString());
+            }else {
+                vo.setPayPriceTotal("0");
+                vo.setPayMoneyTotal("0");
+                vo.setPayRemainTotal("0");
+            }
+            //商品数量合计
+            String productStatistics= fsStoreOrderService.selectFsStoreOrderProductStatistics(param);
+            if (StringUtils.isNotBlank(productStatistics)){
+                vo.setProductInfo(productStatistics);
+            } else {
+                vo.setProductInfo("");
+            }
+
+        }
+        return vo;
     }
 
     @PreAuthorize("@ss.hasPermi('store:storeOrder:payRemainList')")