k94314517
2025-07-04 50fb58286ed3b718c39a97e0987ee7561a295651
server/company/src/main/java/com/doumee/api/business/SolutionsController.java
@@ -3,10 +3,15 @@
import com.doumee.api.BaseController;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.business.model.Solutions;
import com.doumee.dao.system.vo.BigDecimalVO;
import com.doumee.service.business.SolutionsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -15,8 +20,11 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * @author 江蹄蹄
@@ -43,6 +51,14 @@
    @RequiresPermissions("business:solutions:delete")
    public ApiResponse deleteById(@PathVariable Integer id) {
        solutionsService.deleteById(id);
        return ApiResponse.success(null);
    }
    @ApiOperation("禁用启用")
    @PostMapping("/updateStatus")
    @RequiresPermissions("business:solutions:update")
    public ApiResponse updateStatus(@RequestBody Solutions solutions) {
        solutionsService.updateStatus(solutions);
        return ApiResponse.success(null);
    }
@@ -77,9 +93,37 @@
    @ApiOperation("列表查询")
    @PostMapping("/list")
    @RequiresPermissions("business:solutions:query")
    public ApiResponse<List<Solutions>> findList () {
        return ApiResponse.success(solutionsService.findListForCompany());
    public ApiResponse<List<Solutions>> findList (Solutions solutions) {
        Integer dateType = Constants.TWO;
        if(!Objects.isNull(solutions)&&!Objects.isNull(solutions.getDataType())){
            dateType = solutions.getDataType();
        }
        return ApiResponse.success(solutionsService.findListForCompany(dateType));
    }
    @ApiOperation("查询企业可使用方案(已签署)")
    @GetMapping("/getUseList")
    @RequiresPermissions("business:solutions:query")
    public ApiResponse<List<Solutions>> getUseList (@RequestParam Integer companyId,Integer dateType) {
        if(Objects.isNull(companyId)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        if(Objects.isNull(dateType)){
            dateType = Constants.TWO;
        }
        List<Solutions>  solutionsList = solutionsService.findListByCompanyId(dateType,companyId);
        return ApiResponse.success(solutionsList);
    }
    @ApiOperation("根据历史版本查询当前最新启用版本")
    @GetMapping("/getNewVersion")
    public ApiResponse<Solutions> getNewVersion (@RequestParam Integer solutionId) {
        return ApiResponse.success(solutionsService.getNewVersion(solutionId));
    }
//    @ApiOperation("列表查询")
//    @PostMapping("/page")
@@ -101,4 +145,25 @@
        return ApiResponse.success(solutionsService.findById(id));
    }
    @ApiOperation("testSolutionAddMoney")
    @GetMapping("/testSolutionAddMoney")
    public ApiResponse<BigDecimal> testSolutionAddMoney (Integer id, BigDecimal fee, String start, String end, String newDate, String newEndDate) {
        return ApiResponse.success(solutionsService.testSolutionAddMoney(id,fee, DateUtil.StringToDate(start),DateUtil.StringToDate(end)
                ,DateUtil.StringToDate(newDate),DateUtil.StringToDate(newEndDate)));
    }
    @ApiOperation("testSolutionReduceMoney")
    @GetMapping("/testSolutionReduceMoney")
    public ApiResponse<BigDecimal> testSolutionReduceMoney (Integer id, BigDecimal fee, String start, String end, String reduceStartTime,String reduceEndTime) {
        return ApiResponse.success(solutionsService.testSolutionReduceMoney(id,fee, DateUtil.StringToDate(start),DateUtil.StringToDate(end) ,DateUtil.StringToDate(reduceStartTime),DateUtil.StringToDate(reduceEndTime)));
    }
    @ApiOperation("testSolutionProduceMoney")
    @GetMapping("/testSolutionProduceMoney")
    public ApiResponse<BigDecimal> testSolutionProduceMoney (Integer id, BigDecimal fee, String start, String end,String produceStart) {
        return ApiResponse.success(solutionsService.testSolutionProduceMoney(id,fee, DateUtil.StringToDate(start),DateUtil.StringToDate(end),DateUtil.StringToDate(produceStart)));
    }
}