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,14 +20,17 @@
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 江蹄蹄
 * @date 2024/01/15 11:15
 * @date 2024/01/16 10:03
 */
@Api(tags = "保险方案信息表(历史版本)")
@Api(tags = "保险方案信息表")
@RestController
@RequestMapping("/business/solutions")
public class SolutionsController extends BaseController {
@@ -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);
    }
@@ -67,18 +83,59 @@
        return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @ApiOperation("【平台端】分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:solutions:query")
    public ApiResponse<PageData<Solutions>> findPage (@RequestBody PageWrap<Solutions> pageWrap) {
        return ApiResponse.success(solutionsService.findPage(pageWrap));
    }
    @ApiOperation("列表查询")
    @PostMapping("/list")
    @RequiresPermissions("business:solutions:query")
    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")
//    public ApiResponse<List<Solutions>> findPage (@RequestBody Solutions solutions) {
//        return ApiResponse.success(solutionsService.findList(solutions));
//    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:solutions:exportExcel")
    public void exportExcel (@RequestBody PageWrap<Solutions> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(Solutions.class).export(solutionsService.findPage(pageWrap).getRecords(), "保险方案信息表(历史版本)", response);
        ExcelExporter.build(Solutions.class).export(solutionsService.findPage(pageWrap).getRecords(), "保险方案信息表", response);
    }
    @ApiOperation("根据ID查询")
@@ -87,4 +144,26 @@
    public ApiResponse findById(@PathVariable Integer id) {
        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)));
    }
}