| @@ -1,5 +1,6 @@ | |||||
| package com.iformall.schedule; | package com.iformall.schedule; | ||||
| import com.alibaba.fastjson.JSONArray; | |||||
| import com.alibaba.fastjson.JSONObject; | import com.alibaba.fastjson.JSONObject; | ||||
| import com.iformall.domain.dto.KwMeterDataDto; | import com.iformall.domain.dto.KwMeterDataDto; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| @@ -91,35 +92,45 @@ public class PowerBillAutoBuildSchedule { | |||||
| Date lastdate = monthDate.get("lastdate"); | Date lastdate = monthDate.get("lastdate"); | ||||
| MallUserInfo mallUserInfo = getMallUserInfo(); | MallUserInfo mallUserInfo = getMallUserInfo(); | ||||
| WxBillDaily wxBillDaily = getBillDaily(wxMerchantPowerBillConfig); | WxBillDaily wxBillDaily = getBillDaily(wxMerchantPowerBillConfig); | ||||
| JSONObject priceDetal = new JSONObject(); | |||||
| Date receiveDate = getReceiveDate(Integer.parseInt(wxPowerBillAutoConfig.getReceiveDay())); | Date receiveDate = getReceiveDate(Integer.parseInt(wxPowerBillAutoConfig.getReceiveDay())); | ||||
| long receivePay = 0L; | |||||
| long receivePay; | |||||
| String unitPrice; | |||||
| long usedPower = 0L; | |||||
| Long merchantId = wxMerchantPowerBillConfig.getMerchantId(); | Long merchantId = wxMerchantPowerBillConfig.getMerchantId(); | ||||
| if (wxMerchantPowerBillConfig.getBuildWay().equals(EnumPowerBillBuildWay.METER.getCode())) { | if (wxMerchantPowerBillConfig.getBuildWay().equals(EnumPowerBillBuildWay.METER.getCode())) { | ||||
| //根据日期拉取电量 单价 * 电量 = 电费 | //根据日期拉取电量 单价 * 电量 = 电费 | ||||
| int usedPower = getUsedPower(startdate, lastdate, merchantId); | |||||
| usedPower = getUsedPower(startdate, lastdate, merchantId); | |||||
| if (usedPower == 0) { | if (usedPower == 0) { | ||||
| logger.info("没有电量使用,不生成账单>>>>商户ID:" + merchantId); | logger.info("没有电量使用,不生成账单>>>>商户ID:" + merchantId); | ||||
| return; | return; | ||||
| } | } | ||||
| String price = wxMerchantPowerBillConfig.getPrice(); | |||||
| priceDetal.put("unitPrice", price); | |||||
| priceDetal.put("power", usedPower); | |||||
| receivePay = new BigDecimal(price).multiply(new BigDecimal(100)) | |||||
| //按电表 单价从商户配置表中取 因为会修改 | |||||
| unitPrice = wxMerchantPowerBillConfig.getPrice(); | |||||
| receivePay = new BigDecimal(unitPrice).multiply(new BigDecimal(100)) | |||||
| .multiply(new BigDecimal(usedPower)).longValue(); | .multiply(new BigDecimal(usedPower)).longValue(); | ||||
| } else { | } else { | ||||
| String unitPrice = wxPowerBillAutoConfig.getUnitPrice(); | |||||
| //按固定金额 单位从统一配置表中取 | |||||
| unitPrice = wxPowerBillAutoConfig.getUnitPrice(); | |||||
| String price = wxMerchantPowerBillConfig.getPrice(); | String price = wxMerchantPowerBillConfig.getPrice(); | ||||
| priceDetal.put("unitPrice", unitPrice); | |||||
| priceDetal.put("power", 0); | |||||
| receivePay = new BigDecimal(price).multiply(new BigDecimal(100)).longValue(); | receivePay = new BigDecimal(price).multiply(new BigDecimal(100)).longValue(); | ||||
| } | } | ||||
| JSONArray priceDetals = new JSONArray(); | |||||
| JSONObject priceDetal = new JSONObject(); | |||||
| priceDetal.put("key", "unitPrice"); | |||||
| priceDetal.put("value", unitPrice); | |||||
| priceDetals.add(priceDetal); | |||||
| priceDetal = new JSONObject(); | |||||
| priceDetal.put("key", "power"); | |||||
| priceDetal.put("value", usedPower); | |||||
| priceDetals.add(priceDetal); | |||||
| wxBillDaily.setReceivePay(receivePay); | wxBillDaily.setReceivePay(receivePay); | ||||
| wxBillDaily.setNeedPay(receivePay); | wxBillDaily.setNeedPay(receivePay); | ||||
| wxBillDaily.setReceiveDate(receiveDate); | wxBillDaily.setReceiveDate(receiveDate); | ||||
| wxBillDaily.setStarttime(startdate); | wxBillDaily.setStarttime(startdate); | ||||
| wxBillDaily.setEndtime(enddate); | wxBillDaily.setEndtime(enddate); | ||||
| wxBillDaily.setPriceDetail(priceDetal.toJSONString()); | |||||
| wxBillDaily.setPriceDetail(priceDetals.toJSONString()); | |||||
| wxBillDailyService.saveOrUpdate(wxBillDaily, mallUserInfo); | wxBillDailyService.saveOrUpdate(wxBillDaily, mallUserInfo); | ||||
| } | } | ||||