package com.iailab.module.model.mcs.pre.controller.admin; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.model.api.mcs.McsApi; import com.iailab.module.model.api.mcs.dto.MmPredictAutoAdjustReqVO; import com.iailab.module.model.mcs.pre.entity.MmPredictAutoAdjustConfigEntity; import com.iailab.module.model.mcs.pre.service.MmPredictAutoAdjustConfigService; import com.iailab.module.model.mcs.pre.service.MmPredictInfluenceFactorResultService; import com.iailab.module.model.mcs.pre.service.MmPredictInfluenceFactorService; import com.iailab.module.model.mcs.pre.vo.*; import io.swagger.v3.oas.annotations.Operation; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static com.iailab.framework.common.pojo.CommonResult.success; /** * @description: * @author: dzd * @date: 2025/4/8 13:30 **/ @RestController @RequestMapping("/model/pre/influence-factor") public class MmPredictInfluenceFactorController { @Autowired private MmPredictInfluenceFactorService influenceFactorService; @Autowired private MmPredictInfluenceFactorResultService influenceFactorResultService; @PostMapping("/create") @Operation(summary = "创建影响因素配置") @PreAuthorize("@ss.hasPermission('pre:influence-factor:create')") public CommonResult create(@RequestBody MmPredictInfluenceFactorConfigVO vo) { influenceFactorService.create(vo); return success(true); } @PutMapping("/update") @Operation(summary = "更新影响因素配置") @PreAuthorize("@ss.hasPermission('pre:influence-factor:update')") public CommonResult update(@RequestBody MmPredictInfluenceFactorConfigVO vo) { influenceFactorService.update(vo); return success(true); } @DeleteMapping("/delete") @Operation(summary = "删除影响因素配置") @PreAuthorize("@ss.hasPermission('pre:influence-factor:delete')") public CommonResult delete(@RequestParam("id") String id) { influenceFactorService.delete(id); return success(true); } @GetMapping("/get/{id}") @Operation(summary = "获得影响因素配置") @PreAuthorize("@ss.hasPermission('pre:influence-factor:query')") public CommonResult getInfo(@PathVariable("id") String id) { MmPredictInfluenceFactorConfigVO info = influenceFactorService.getInfo(id); return success(info); } @GetMapping("/page") @Operation(summary = "获得影响因素配置分页") @PreAuthorize("@ss.hasPermission('pre:influence-factor:query')") public CommonResult> page(MmPredictInfluenceFactorPageReqVO params) { PageResult pageResult = influenceFactorService.page(params); return success(pageResult); } @GetMapping("/getResultPage") @Operation(summary = "获得影响因素结果分页") public CommonResult> getResultPage(MmPredictInfluenceFactorResultPageReqVO params) { PageResult pageResult = influenceFactorResultService.page(params); return success(pageResult); } @PostMapping("/getResultList") @Operation(summary = "获得影响因素结果列表") public CommonResult>> getResultList(@RequestBody MmPredictInfluenceFactorResultListReqVO params) { if (CollectionUtils.isEmpty(params.getOutIds())) { return success(new HashMap<>()); } Map> list = influenceFactorResultService.getResultList(params); return success(list); } @GetMapping("/getListByOutId") @Operation(summary = "通过outId获得影响因素列表") public CommonResult> getListByOutId(String outId) { if (StringUtils.isBlank(outId)) { return success(new ArrayList<>()); } List list = influenceFactorService.getListByOutId(outId); return success(list); } }