From 38738b94b499ba1ccd37ab8824b5569db6662d5f Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 07 六月 2025 13:04:13 +0800 Subject: [PATCH] 波次策略功能完善 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveRuleController.java | 7 +++ rsf-admin/src/page/waveRule/WaveRuleEdit.jsx | 10 ++++- rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java | 5 ++ rsf-admin/src/page/waveRule/WaveRuleCreate.jsx | 18 +++----- rsf-admin/src/page/waveRule/WaveRuleList.jsx | 5 +- rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java | 4 ++ rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaveRule.java | 18 +++++++++ rsf-admin/src/i18n/zh.js | 2 8 files changed, 52 insertions(+), 17 deletions(-) diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js index 6690321..bb18c4d 100644 --- a/rsf-admin/src/i18n/zh.js +++ b/rsf-admin/src/i18n/zh.js @@ -1046,7 +1046,7 @@ }, waveRule: { code: "缂栫爜", - type: "绫诲瀷", + type: "娉㈡绫诲瀷", name: "鍚嶇О", }, } diff --git a/rsf-admin/src/page/waveRule/WaveRuleCreate.jsx b/rsf-admin/src/page/waveRule/WaveRuleCreate.jsx index 2cb1f91..25a01d6 100644 --- a/rsf-admin/src/page/waveRule/WaveRuleCreate.jsx +++ b/rsf-admin/src/page/waveRule/WaveRuleCreate.jsx @@ -33,7 +33,7 @@ const WaveRuleCreate = (props) => { const { open, setOpen } = props; - + const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_wave_rule_code')) || []; const translate = useTranslate(); const notify = useNotify(); @@ -85,18 +85,14 @@ <DialogContent sx={{ mt: 2 }}> <Grid container rowSpacing={2} columnSpacing={2}> <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.waveRule.code" - source="code" - parse={v => v} - autoFocus - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <NumberInput + <AutocompleteInput + choices={dicts} + optionText="label" label="table.field.waveRule.type" source="type" - /> + optionValue="value" + parse={v => v} + validate={[required()]} /> </Grid> <Grid item xs={6} display="flex" gap={1}> <TextInput diff --git a/rsf-admin/src/page/waveRule/WaveRuleEdit.jsx b/rsf-admin/src/page/waveRule/WaveRuleEdit.jsx index 8c3bbb7..0291814 100644 --- a/rsf-admin/src/page/waveRule/WaveRuleEdit.jsx +++ b/rsf-admin/src/page/waveRule/WaveRuleEdit.jsx @@ -42,6 +42,7 @@ const WaveRuleEdit = () => { const translate = useTranslate(); + const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_wave_rule_code')) || []; return ( <Edit @@ -68,14 +69,19 @@ label="table.field.waveRule.code" source="code" parse={v => v} + readOnly autoFocus /> </Stack> <Stack direction='row' gap={2}> - <NumberInput + <AutocompleteInput + choices={dicts} + optionText="label" label="table.field.waveRule.type" source="type" - /> + optionValue="value" + parse={v => v} + validate={[required()]} /> </Stack> <Stack direction='row' gap={2}> <TextInput diff --git a/rsf-admin/src/page/waveRule/WaveRuleList.jsx b/rsf-admin/src/page/waveRule/WaveRuleList.jsx index f370efe..fc7861c 100644 --- a/rsf-admin/src/page/waveRule/WaveRuleList.jsx +++ b/rsf-admin/src/page/waveRule/WaveRuleList.jsx @@ -97,7 +97,7 @@ marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, }} title={"menu.waveRule"} - empty={<EmptyData onClick={() => { setCreateDialog(true) }} />} + empty={false} filters={filters} sort={{ field: "create_time", order: "desc" }} actions={( @@ -120,9 +120,8 @@ > <NumberField source="id" /> <TextField source="code" label="table.field.waveRule.code" /> - <NumberField source="type" label="table.field.waveRule.type" /> + <TextField source="type$" label="table.field.waveRule.type" /> <TextField source="name" label="table.field.waveRule.name" /> - <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> <TextField source="nickname" /> </ReferenceField> diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveRuleController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveRuleController.java index 91072c0..abd2969 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveRuleController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveRuleController.java @@ -11,7 +11,10 @@ import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.manager.entity.WaveRule; import com.vincent.rsf.server.manager.service.WaveRuleService; +import com.vincent.rsf.server.system.constant.SerialRuleCode; import com.vincent.rsf.server.system.controller.BaseController; +import com.vincent.rsf.server.system.utils.SerialRuleUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -59,6 +62,10 @@ waveRule.setCreateTime(new Date()); waveRule.setUpdateBy(getLoginUserId()); waveRule.setUpdateTime(new Date()); + String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_WAVE_RULE_CODE, null); + if (!StringUtils.isBlank(ruleCode)) { + waveRule.setCode(ruleCode); + } if (!waveRuleService.save(waveRule)) { return R.error("Save Fail"); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaveRule.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaveRule.java index bff5741..9e0bc44 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaveRule.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaveRule.java @@ -3,6 +3,11 @@ import com.baomidou.mybatisplus.annotation.TableLogic; import java.text.SimpleDateFormat; import java.util.Date; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.vincent.rsf.server.system.constant.DictTypeCode; +import com.vincent.rsf.server.system.entity.DictData; +import com.vincent.rsf.server.system.service.DictDataService; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; import java.util.Date; @@ -20,6 +25,7 @@ import com.vincent.rsf.server.system.entity.User; import java.io.Serializable; import java.util.Date; +import java.util.Objects; @Data @TableName("man_wave_rule") @@ -133,6 +139,18 @@ // null // 澶囨敞 // ); + public String getType$() { + if (null == this.type){ return null; } + DictDataService dictDataService = SpringUtils.getBean(DictDataService.class); + DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>() + .eq(DictData::getDictTypeCode, DictTypeCode.SYS_WAVE_RULE_CODE) + .eq(DictData::getValue, this.type)); + if (Objects.isNull(dictData)) { + return null; + } + return dictData.getLabel(); + } + public String getStatus$(){ if (null == this.status){ return null; } switch (this.status){ diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java index a0e6052..3fd143e 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java @@ -65,4 +65,9 @@ /**PO鍗曟墽琛岀姸鎬�*/ public final static String SYS_PO_EXCE_STATUS = "sys_po_exce_status"; + /** + *娉㈡绛栫暐绫诲瀷 + */ + public final static String SYS_WAVE_RULE_CODE = "sys_wave_rule_code"; + } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java index 07f2ea3..3d1d48c 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java @@ -80,6 +80,10 @@ /**浼佷笟缂栫爜*/ public final static String SYS_COMPANYS_CODE = "sys_companys_code"; + /** + * 娉㈡绛栫暐 + */ + public final static String SYS_WAVE_RULE_CODE = "sys_wave_type"; } -- Gitblit v1.9.1