Skip to content

Commit 4b87d42

Browse files
committed
fix(finance-manage): 计费策略重命名
1 parent e864fda commit 4b87d42

File tree

5 files changed

+39
-14
lines changed

5 files changed

+39
-14
lines changed

services/finance-management/backend/src/main/java/com/fit2cloud/controller/BillingPolicyController.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,16 @@ public ResultHolder<Boolean> removeBillingPolicy(@Parameter(description = "计
7373
return ResultHolder.success(remove);
7474
}
7575

76+
@Operation(description = "重命名策略", summary = "重命名策略")
77+
@PutMapping("/re_name/{billing_policy_id}")
78+
@PreAuthorize("@cepc.hasAnyCePermission('BILLING_POLICY:EDIT')")
79+
public ResultHolder<BillPolicy> rePolicyName(@Parameter(description = "计费策略id") @CustomValidated(mapper = BaseBillPolicyMapper.class, handler = ExistHandler.class, field = "id", message = "计费策略id不存在", exist = false)
80+
@PathVariable("billing_policy_id") String billingPolicyId,
81+
@Validated @RequestParam("name") String name) {
82+
BillPolicy billPolicy = billingPolicyService.reName(billingPolicyId, name);
83+
return ResultHolder.success(billPolicy);
84+
}
85+
7686
@Operation(summary = "修改策略")
7787
@PutMapping("/{billing_policy_id}")
7888
@PreAuthorize("@cepc.hasAnyCePermission('BILLING_POLICY:EDIT')")

services/finance-management/backend/src/main/java/com/fit2cloud/service/IBillingPolicyService.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,13 @@ public interface IBillingPolicyService extends IService<BillPolicy> {
7272
* @return 计价策略详情
7373
*/
7474
List<BillPolicyDetails> calculateConfigPrice(String cloudAccountId);
75+
76+
/**
77+
* 策略重命名
78+
*
79+
* @param billingPolicyId 策略id
80+
* @param name 策略名称
81+
* @return 策略对象
82+
*/
83+
BillPolicy reName(String billingPolicyId, String name);
7584
}

services/finance-management/backend/src/main/java/com/fit2cloud/service/impl/BillingPolicyServiceImpl.java

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -127,17 +127,7 @@ public List<CloudAccountResponse> listCloudAccountByPolicy(String billingPolicy)
127127
@Transactional
128128
public void updateBillingPolicy(String billingPolicyId, BillingPolicyRequest request) {
129129
if (StringUtils.isNotEmpty(request.getName())) {
130-
BillPolicy billPolicy = this.getOne(new LambdaQueryWrapper<BillPolicy>()
131-
.ne(BillPolicy::getId, billingPolicyId)
132-
.eq(BillPolicy::getName, request.getName()));
133-
if (Objects.isNull(billPolicy)) {
134-
BillPolicy newBillPolicy = new BillPolicy();
135-
newBillPolicy.setName(request.getName());
136-
newBillPolicy.setId(billingPolicyId);
137-
updateById(newBillPolicy);
138-
} else {
139-
throw new Fit2cloudException(222, "策略名称已存在");
140-
}
130+
reName(billingPolicyId, request.getName());
141131
}
142132
LocalDateTime currentTime = LocalDateTime.now();
143133
updateBillingPolicyDetails(request.getBillingPolicyDetailsList(), billingPolicyId, currentTime);
@@ -253,6 +243,22 @@ public List<BillPolicyDetails> calculateConfigPrice(String cloudAccountId) {
253243
.map(BillPolicyCloudAccountMapping::getBillPolicyId).distinct().toList()));
254244
}
255245

246+
@Override
247+
public BillPolicy reName(String billingPolicyId, String name) {
248+
List<BillPolicy> billPolicyList = this.list(new LambdaQueryWrapper<BillPolicy>()
249+
.ne(BillPolicy::getId, billingPolicyId)
250+
.eq(BillPolicy::getName, name));
251+
if (CollectionUtils.isEmpty((billPolicyList))) {
252+
BillPolicy newBillPolicy = new BillPolicy();
253+
newBillPolicy.setName(name);
254+
newBillPolicy.setId(billingPolicyId);
255+
updateById(newBillPolicy);
256+
return getById(billingPolicyId);
257+
} else {
258+
throw new Fit2cloudException(222, "策略名称已存在");
259+
}
260+
}
261+
256262

257263
private List<BillingField> toBillingFieldList(Map<String, BillingFieldMeta> metaMap, Function<BillingFieldMeta, BigDecimal> getDefaultPrice, List<BillingField> oldBillingFieldList, UnitPriceConstants unitPriceConstants) {
258264
return metaMap

services/finance-management/frontend/src/api/billing_policy/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,9 @@ const reName: (
9595
loading?: Ref<boolean>
9696
) => Promise<Result<any>> = (billing_policy_id, name, loading) => {
9797
return put(
98-
`/api/billing_policy/${billing_policy_id}`,
98+
`/api/billing_policy/re_name/${billing_policy_id}`,
99+
{ name },
99100
{},
100-
{ name: name },
101101
loading
102102
);
103103
};

services/finance-management/frontend/src/views/billing_policy/components/CloudAccountCheckbox.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ const rowCloudAccountList = computed(() => {
167167
margin-top: 11px;
168168
}
169169
&:first-child {
170-
margin-top: 0;
170+
margin-top: 10px;
171171
.col {
172172
margin-top: 0;
173173
}

0 commit comments

Comments
 (0)