把var pList = new List<PriceCalculatorPackges>(); var priceCalculatorSet = PriceCalculatorSet.PriceCalculatorSet_GetByID(model.PriceCalculatorSetId); var pm = new PriceCalculatorHelperModel(); pm = JsonConvert.DeserializeObject<PriceCalculatorHelperModel>(priceCalculatorSet.BaseSetting); if(pm != null) { if (!pm.packgeName.StrIsNullOrEmpty()) { decimal price = totalPrice; if (pm.profit_rate != 0 && totalPrice != 0) { price = totalPrice + (totalPrice * pm.profit_rate / 100); } var pmodel = new PriceCalculatorPackges { hours = totalHours, packgeName = pm.packgeName, price = Convert.ToInt32(StringExte.ChinaRound(price.ToString().ToFloat(0), 0)), project = viewProject, words = pm.words }; //把首单特价也附加上 var famount = 0m; if (pm.firstOrderModel == 1) { //按固定价 famount = pm.firstOrderValue; } else { //按百分比 famount = price + (price * pm.firstOrderValue / 100); } pmodel.firstOrderPrice = (decimal)StringExte.ChinaRound((double)famount, 0); pmodel.firstOrderMark = !pm.firstOrderMark.StrIsNullOrEmpty() ? pm.firstOrderMark.Replace("{price}", pmodel.firstOrderPrice.NToString()) : ""; pmodel.firstOrderAppendModel = pm.firstOrderAppendModel; pList.Add(pmodel); } }里面的内容提炼成新的方法
时间: 2023-02-08 20:59:58 浏览: 63
这段代码创建了一个名为pList的List变量,类型为PriceCalculatorPackges。然后它通过调用PriceCalculatorSet的静态方法PriceCalculatorSet_GetByID来获取一个PriceCalculatorSet对象,并将其赋值给priceCalculatorSet变量。接着,它创建了一个新的PriceCalculatorHelperModel对象,并使用JsonConvert.DeserializeObject将priceCalculatorSet.BaseSetting反序列化为PriceCalculatorHelperModel对象。最后,如果pm不为null,它会检查pm.packgeName是否为空,如果不是,则将price设为totalPrice,并判断pm.profit_rate是否不等于0,如果是,那么就会对price进行某些操作。
相关问题
List<CustomerInfo> customerInfoList = new ArrayList<>(); List<PostLoanOrder> orderList = new ArrayList<>(); List<PostControllerLegalInfo> plistInfo = new ArrayList<>(); List<PostLoanReceipt> receipts = new ArrayList<>(); List<PostRepaymentPlan> plans = new ArrayList<>(); List<AuthBatchAndSendDto> authBatchAndSendDtoList = new ArrayList<>(); 改进代码
可以使用 diamond operator 来简化代码,还可以使用 var 关键字来更清晰地表达变量类型:
```java
var customerInfoList = new ArrayList<CustomerInfo>();
var orderList = new ArrayList<PostLoanOrder>();
var plistInfo = new ArrayList<PostControllerLegalInfo>();
var receipts = new ArrayList<PostLoanReceipt>();
var plans = new ArrayList<PostRepaymentPlan>();
var authBatchAndSendDtoList = new ArrayList<AuthBatchAndSendDto>();
```
此外,如果这些变量都是在同一个类中使用的,可以将它们作为类的成员变量,这样代码会更加简洁。
plist = list(serial.tools.list_ports.comports())
这行代码的作用是获取当前计算机上所有可用的串口列表,并将其保存在 `plist` 变量中。其中 `serial.tools.list_ports` 是 PySerial 库中的一个模块,可以用来列举系统上所有可用的串口。`comports()` 是该模块中的一个函数,用来列举所有可用的串口。`list()` 函数用于将返回值转化为列表形式。执行这行代码后,`plist` 列表中每个元素都是一个包含串口名称、描述信息、硬件ID等信息的元组。