package com.battery.business.web;
|
|
import java.util.List;
|
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.DeleteMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.enums.BusinessType;
|
import com.battery.business.domain.TBatteryGroup;
|
import com.battery.business.battery.dto.BatteryGroupDto;
|
import com.battery.business.service.ITBatteryGroupService;
|
|
/** 电池组管理 Controller。 */
|
@RestController
|
@RequestMapping("/system/batteryGroup")
|
public class TBatteryGroupController extends BaseController
|
{
|
private final ITBatteryGroupService batteryGroupService;
|
@Autowired public TBatteryGroupController(ITBatteryGroupService batteryGroupService) { this.batteryGroupService = batteryGroupService; }
|
|
@PreAuthorize("@ss.hasPermi('system:batteryGroup:list')") @GetMapping("/list")
|
public TableDataInfo list(TBatteryGroup group) { startPage(); List<TBatteryGroup> list = batteryGroupService.selectBatteryGroupList(group); return getDataTable(list); }
|
|
@PreAuthorize("@ss.hasPermi('system:batteryGroup:list')") @GetMapping("/creatorOptions")
|
public AjaxResult creatorOptions() { return success(batteryGroupService.selectBatteryGroupCreatorOptions()); }
|
|
@PreAuthorize("@ss.hasPermi('system:batteryGroup:query')") @GetMapping("/{groupId}")
|
public AjaxResult getInfo(@PathVariable Long groupId) { return success(batteryGroupService.selectBatteryGroupById(groupId)); }
|
|
@PreAuthorize("@ss.hasPermi('system:batteryGroup:add')") @Log(title = "电池组管理", businessType = BusinessType.INSERT) @PostMapping
|
public AjaxResult add(@Validated @RequestBody BatteryGroupDto request) { TBatteryGroup group = toDomain(request); group.setCreateBy(getUsername()); return toAjax(batteryGroupService.insertBatteryGroup(group)); }
|
|
@PreAuthorize("@ss.hasPermi('system:batteryGroup:edit')") @Log(title = "电池组管理", businessType = BusinessType.UPDATE) @PutMapping
|
public AjaxResult edit(@Validated @RequestBody BatteryGroupDto request) { TBatteryGroup group = toDomain(request); group.setUpdateBy(getUsername()); return toAjax(batteryGroupService.updateBatteryGroup(group)); }
|
|
@PreAuthorize("@ss.hasPermi('system:batteryGroup:changeStatus')") @Log(title = "电池组管理", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus")
|
public AjaxResult changeStatus(@RequestBody TBatteryGroup group) { group.setUpdateBy(getUsername()); return toAjax(batteryGroupService.updateBatteryGroupStatus(group)); }
|
|
@PreAuthorize("@ss.hasPermi('system:batteryGroup:remove')") @Log(title = "电池组管理", businessType = BusinessType.DELETE) @DeleteMapping("/{groupIds}")
|
public AjaxResult remove(@PathVariable Long[] groupIds) { return toAjax(batteryGroupService.deleteBatteryGroupByIds(groupIds, getUsername())); }
|
|
/** 将公开写入 DTO 转换为现有持久化服务模型,字段值仍写入电池组当前关系。 */
|
private TBatteryGroup toDomain(BatteryGroupDto request)
|
{
|
if (request == null) return null;
|
TBatteryGroup group = new TBatteryGroup();
|
group.setGroupId(request.groupId()); group.setGroupName(request.groupName());
|
group.setModel(request.model()); group.setPurpose(request.purpose()); group.setStatus(request.status());
|
group.setZ(request.z()); group.setH(request.h()); group.setF(request.f()); group.setA(request.a()); group.setB(request.b());
|
group.setRemark(request.remark()); group.setTemplateId(request.templateId()); group.setBatteryNos(request.batteryNos());
|
java.util.List<BatteryGroupDto.FieldValueDto> values = request.currentFields();
|
if (values != null)
|
{
|
java.util.List<com.battery.business.domain.TBatteryGroupRelationField> fields = new java.util.ArrayList<>();
|
for (BatteryGroupDto.FieldValueDto value : values)
|
{
|
if (value == null) continue;
|
com.battery.business.domain.TBatteryGroupRelationField field = new com.battery.business.domain.TBatteryGroupRelationField();
|
field.setBatteryGroupFieldId(value.resolvedFieldId()); field.setFieldValue(value.resolvedValue()); fields.add(field);
|
}
|
group.setFields(fields);
|
group.setTemplateFieldRelations(fields);
|
}
|
return group;
|
}
|
}
|