| @@ -20,7 +20,6 @@ import org.springframework.web.bind.annotation.*; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.util.Date; | |||
| import java.util.Map; | |||
| /** | |||
| @@ -60,12 +59,11 @@ public class WxPropertyContractController extends BaseController { | |||
| MallUserInfo user = getUser(); | |||
| wxPropertyContract.setTenantId(user.getTenantId()); | |||
| wxPropertyContract.setAdjustPeriodHandle(); | |||
| Date oldDate = wxPropertyContract.getRentalStartDate(); | |||
| if(wxPropertyContract.getRentStartType()!=null && wxPropertyContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | |||
| wxPropertyContract.setRentalStartDate(wxPropertyContract.getStartDate()); | |||
| } | |||
| return wxPropertyContractService.saveOrUpdate(wxPropertyContract, user.getId(), user.getName(), oldDate); | |||
| return wxPropertyContractService.saveOrUpdate(wxPropertyContract, user.getId(), user.getName()); | |||
| } | |||
| @PostMapping("updateRentStartTime") | |||
| @@ -73,38 +71,23 @@ public class WxPropertyContractController extends BaseController { | |||
| public ResultData updateRentStartTime(@RequestBody WxPropertyContract wxPropertyContract) { | |||
| logger.debug("[" + getIpAddr() + "] WxPropertyContractController::updateRentStartTime"); | |||
| WxPropertyContract propertyContract = wxPropertyContractMapper.selectByPrimaryKey(wxPropertyContract.getId()); | |||
| propertyContract.setRentalStartDate(wxPropertyContract.getRentalStartDate()); | |||
| Date oldDate = wxPropertyContract.getRentalStartDate(); | |||
| if(wxPropertyContract.getRentStartType()!=null && wxPropertyContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | |||
| propertyContract.setRentalStartDate(propertyContract.getStartDate()); | |||
| } | |||
| MallUserInfo user = getUser(); | |||
| propertyContract.setTenantId(user.getTenantId()); | |||
| propertyContract.setAdjustPeriodHandle(); | |||
| propertyContract.setRentStartType(wxPropertyContract.getRentStartType()); | |||
| return wxPropertyContractService.saveOrUpdate(propertyContract, user.getId(), user.getName(), oldDate); | |||
| return wxPropertyContractService.saveOrUpdate(propertyContract, user.getId(), user.getName()); | |||
| } | |||
| @PostMapping("update") | |||
| @SystemControllerLog(description = "物业合同-修改") | |||
| public ResultData update(@RequestBody WxPropertyContract wxPropertyContract) { | |||
| logger.debug("[" + getIpAddr() + "] WxPropertyContractController::update"); | |||
| WxPropertyContract propertyContract = wxPropertyContractMapper.selectByPrimaryKey(wxPropertyContract.getId()); | |||
| propertyContract.setRentalStartDate(wxPropertyContract.getRentalStartDate()); | |||
| Date oldDate = wxPropertyContract.getRentalStartDate(); | |||
| if (wxPropertyContract.getRentStartType() != null && wxPropertyContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())) { | |||
| propertyContract.setRentalStartDate(propertyContract.getStartDate()); | |||
| } | |||
| MallUserInfo user = getUser(); | |||
| propertyContract.setTenantId(user.getTenantId()); | |||
| propertyContract.setAdjustPeriodHandle(); | |||
| propertyContract.setRentStartType(wxPropertyContract.getRentStartType()); | |||
| wxPropertyContract.setTenantId(user.getTenantId()); | |||
| wxPropertyContract.setAdjustPeriodHandle(); | |||
| //第三步提交 SWITCH | |||
| return wxPropertyContractService.saveOrUpdate(wxPropertyContract, user.getId(), user.getName(), oldDate); | |||
| return wxPropertyContractService.saveOrUpdate(wxPropertyContract, user.getId(), user.getName()); | |||
| } | |||
| @GetMapping("/del") | |||
| @@ -0,0 +1,64 @@ | |||
| package com.iformall.controller.device; | |||
| import com.iformall.annotation.SystemControllerLog; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.Result; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.controller.base.BaseController; | |||
| import com.iformall.domain.po.KwMerchantMeter; | |||
| import com.iformall.service.kw.KwMerchantMeterService; | |||
| import io.swagger.annotations.Api; | |||
| import io.swagger.annotations.ApiImplicitParam; | |||
| import io.swagger.annotations.ApiImplicitParams; | |||
| import io.swagger.annotations.ApiOperation; | |||
| import org.slf4j.Logger; | |||
| import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.web.bind.annotation.*; | |||
| @RestController | |||
| @RequestMapping("kwMerchantMeter") | |||
| @Api(description="电表设备") | |||
| public class KwMerchantMeterController extends BaseController { | |||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||
| @Autowired | |||
| private KwMerchantMeterService kwMerchantMeterService; | |||
| @ApiOperation("设备列表") | |||
| @GetMapping("list") | |||
| @ApiImplicitParams({ | |||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||
| @SystemControllerLog(description = "电表设备-设备列表") | |||
| public Result list(@ModelAttribute KwMerchantMeter kwMerchantMeter, Integer pageNum, Integer pageSize) { | |||
| if (kwMerchantMeter == null) kwMerchantMeter = new KwMerchantMeter(); | |||
| return new ResultData(); | |||
| } | |||
| @ApiOperation("绑定设备") | |||
| @PostMapping("bind") | |||
| @SystemControllerLog(description = "电表设备-绑定设备") | |||
| public Result bind(@RequestBody KwMerchantMeter kwMerchantMeter) { | |||
| if (kwMerchantMeter == null) | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| return new ResultData(); | |||
| } | |||
| @ApiOperation("解绑定设备") | |||
| @PostMapping("unbind") | |||
| @SystemControllerLog(description = "电表设备-解绑定设备") | |||
| public Result unbind(@RequestBody KwMerchantMeter kwMerchantMeter) { | |||
| if (kwMerchantMeter == null) | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| return new ResultData(); | |||
| } | |||
| } | |||
| @@ -0,0 +1,81 @@ | |||
| delete from wx_flow_config where tenant_id !='456'; | |||
| INSERT INTO `wx_flow_config` (`id`, `parent_id`, `tenant_id`, `name`, `type`, `model_id`, `create_date`, `update_date`, `sort`) | |||
| VALUES | |||
| (1561037689, 0, '1001', '账单审批', 0, 0, '2019-06-11 13:49:43', '2019-06-11 13:49:43', 2), | |||
| (1561000622, 0, '1001', '合同审批', 0, 0, '2019-06-11 13:42:18', '2019-06-11 13:42:18', 1), | |||
| (1561026138, 1561000622, '1001', '多径点位合同签约', 5, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 2), | |||
| (1561035391, 1561000622, '1001', '商铺合同签约', 4, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 1), | |||
| (1561002700, 1561000622, '1001', '商铺合同终止', 6, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 3), | |||
| (1561028078, 1561000622, '1001', '多经点位合同终止', 7, 0, '2019-06-11 14:02:43', '2019-06-11 14:02:43', 4), | |||
| (1560971400, 1561037689, '1001', '账单应收金额变更', 8, 0, '2019-06-11 14:02:44', '2019-06-11 14:02:44', 1), | |||
| (1561054659, 0, '1002', '账单审批', 0, 0, '2019-06-11 13:49:43', '2019-06-11 13:49:43', 2), | |||
| (1561051609, 0, '1002', '合同审批', 0, 0, '2019-06-11 13:42:18', '2019-06-11 13:42:18', 1), | |||
| (1560987400, 1561051609, '1002', '多经点位合同终止', 7, 0, '2019-06-11 14:02:43', '2019-06-11 14:02:43', 4), | |||
| (1560983105, 1561051609, '1002', '多径点位合同签约', 5, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 2), | |||
| (1560971226, 1561051609, '1002', '商铺合同终止', 6, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 3), | |||
| (1561057278, 1561051609, '1002', '商铺合同签约', 4, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 1), | |||
| (1561030661, 1561054659, '1002', '账单应收金额变更', 8, 0, '2019-06-11 14:02:44', '2019-06-11 14:02:44', 1), | |||
| (1561020831, 0, '1003', '合同审批', 0, 0, '2019-06-11 13:42:18', '2019-06-11 13:42:18', 1), | |||
| (1560974564, 0, '1003', '账单审批', 0, 0, '2019-06-11 13:49:43', '2019-06-11 13:49:43', 2), | |||
| (1560983628, 1560974564, '1003', '账单应收金额变更', 8, 0, '2019-06-11 14:02:44', '2019-06-11 14:02:44', 1), | |||
| (1561019138, 1561020831, '1003', '商铺合同签约', 4, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 1), | |||
| (1560985450, 1561020831, '1003', '多径点位合同签约', 5, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 2), | |||
| (1561052800, 1561020831, '1003', '多经点位合同终止', 7, 0, '2019-06-11 14:02:43', '2019-06-11 14:02:43', 4), | |||
| (1561020810, 1561020831, '1003', '商铺合同终止', 6, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 3), | |||
| (1561030951, 0, '1004', '合同审批', 0, 0, '2019-06-11 13:42:18', '2019-06-11 13:42:18', 1), | |||
| (1561031751, 0, '1004', '账单审批', 0, 0, '2019-06-11 13:49:43', '2019-06-11 13:49:43', 2), | |||
| (1561047137, 1561030951, '1004', '商铺合同终止', 6, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 3), | |||
| (1560980346, 1561030951, '1004', '多径点位合同签约', 5, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 2), | |||
| (1560990605, 1561030951, '1004', '多经点位合同终止', 7, 0, '2019-06-11 14:02:43', '2019-06-11 14:02:43', 4), | |||
| (1561004716, 1561030951, '1004', '商铺合同签约', 4, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 1), | |||
| (1561059134, 1561031751, '1004', '账单应收金额变更', 8, 0, '2019-06-11 14:02:44', '2019-06-11 14:02:44', 1), | |||
| (1561058629, 0, '1005', '合同审批', 0, 0, '2019-06-11 13:42:18', '2019-06-11 13:42:18', 1), | |||
| (1560981619, 0, '1005', '账单审批', 0, 0, '2019-06-11 13:49:43', '2019-06-11 13:49:43', 2), | |||
| (1561016658, 1560981619, '1005', '账单应收金额变更', 8, 0, '2019-06-11 14:02:44', '2019-06-11 14:02:44', 1), | |||
| (1561031019, 1561058629, '1005', '商铺合同签约', 4, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 1), | |||
| (1561050999, 1561058629, '1005', '多径点位合同签约', 5, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 2), | |||
| (1561023445, 1561058629, '1005', '多经点位合同终止', 7, 0, '2019-06-11 14:02:43', '2019-06-11 14:02:43', 4), | |||
| (1561059049, 1561058629, '1005', '商铺合同终止', 6, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 3), | |||
| (1561013248, 0, '1006', '账单审批', 0, 0, '2019-06-11 13:49:43', '2019-06-11 13:49:43', 2), | |||
| (1561044349, 0, '1006', '合同审批', 0, 0, '2019-06-11 13:42:18', '2019-06-11 13:42:18', 1), | |||
| (1561012583, 1561013248, '1006', '账单应收金额变更', 8, 0, '2019-06-11 14:02:44', '2019-06-11 14:02:44', 1), | |||
| (1561049102, 1561044349, '1006', '多经点位合同终止', 7, 0, '2019-06-11 14:02:43', '2019-06-11 14:02:43', 4), | |||
| (1561052002, 1561044349, '1006', '商铺合同签约', 4, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 1), | |||
| (1561038202, 1561044349, '1006', '多径点位合同签约', 5, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 2), | |||
| (1560979080, 1561044349, '1006', '商铺合同终止', 6, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 3), | |||
| (1561020704, 0, '1007', '账单审批', 0, 0, '2019-06-11 13:49:43', '2019-06-11 13:49:43', 2), | |||
| (1561056649, 0, '1007', '合同审批', 0, 0, '2019-06-11 13:42:18', '2019-06-11 13:42:18', 1), | |||
| (1561006459, 1561020704, '1007', '账单应收金额变更', 8, 0, '2019-06-11 14:02:44', '2019-06-11 14:02:44', 1), | |||
| (1561048605, 1561056649, '1007', '商铺合同终止', 6, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 3), | |||
| (1561024693, 1561056649, '1007', '多径点位合同签约', 5, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 2), | |||
| (1560977117, 1561056649, '1007', '多经点位合同终止', 7, 0, '2019-06-11 14:02:43', '2019-06-11 14:02:43', 4), | |||
| (1561052381, 1561056649, '1007', '商铺合同签约', 4, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 1), | |||
| (1561034575, 0, '1008', '合同审批', 0, 0, '2019-06-11 13:42:18', '2019-06-11 13:42:18', 1), | |||
| (1561060600, 0, '1008', '账单审批', 0, 0, '2019-06-11 13:49:43', '2019-06-11 13:49:43', 2), | |||
| (1561048087, 1561034575, '1008', '商铺合同签约', 4, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 1), | |||
| (1560997446, 1561034575, '1008', '商铺合同终止', 6, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 3), | |||
| (1561051779, 1561034575, '1008', '多径点位合同签约', 5, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 2), | |||
| (1560987028, 1561034575, '1008', '多经点位合同终止', 7, 0, '2019-06-11 14:02:43', '2019-06-11 14:02:43', 4), | |||
| (1561025368, 1561060600, '1008', '账单应收金额变更', 8, 0, '2019-06-11 14:02:44', '2019-06-11 14:02:44', 1), | |||
| (1560979235, 0, '1009', '账单审批', 0, 0, '2019-06-11 13:49:43', '2019-06-11 13:49:43', 2), | |||
| (1561044274, 0, '1009', '合同审批', 0, 0, '2019-06-11 13:42:18', '2019-06-11 13:42:18', 1), | |||
| (1560982828, 1560979235, '1009', '账单应收金额变更', 8, 0, '2019-06-11 14:02:44', '2019-06-11 14:02:44', 1), | |||
| (1561041930, 1561044274, '1009', '商铺合同终止', 6, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 3), | |||
| (1561051961, 1561044274, '1009', '多径点位合同签约', 5, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 2), | |||
| (1561000314, 1561044274, '1009', '多经点位合同终止', 7, 0, '2019-06-11 14:02:43', '2019-06-11 14:02:43', 4), | |||
| (1560972165, 1561044274, '1009', '商铺合同签约', 4, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 1), | |||
| (1561009249, 0, '789', '合同审批', 0, 0, '2019-06-11 13:42:18', '2019-06-11 13:42:18', 1), | |||
| (1561048493, 0, '789', '账单审批', 0, 0, '2019-06-11 13:49:43', '2019-06-11 13:49:43', 2), | |||
| (1561020995, 1561009249, '789', '商铺合同终止', 6, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 3), | |||
| (1561008855, 1561009249, '789', '多经点位合同终止', 7, 0, '2019-06-11 14:02:43', '2019-06-11 14:02:43', 4), | |||
| (1560973533, 1561009249, '789', '商铺合同签约', 4, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 1), | |||
| (1561033189, 1561009249, '789', '多径点位合同签约', 5, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 2), | |||
| (1561041774, 1561048493, '789', '账单应收金额变更', 8, 0, '2019-06-11 14:02:44', '2019-06-11 14:02:44', 1), | |||
| (1561054066, 0, '790', '合同审批', 0, 0, '2019-06-11 13:42:18', '2019-06-11 13:42:18', 1), | |||
| (1560974795, 0, '790', '账单审批', 0, 0, '2019-06-11 13:49:43', '2019-06-11 13:49:43', 2), | |||
| (1561056192, 1560974795, '790', '账单应收金额变更', 8, 0, '2019-06-11 14:02:44', '2019-06-11 14:02:44', 1), | |||
| (1561048116, 1561054066, '790', '多经点位合同终止', 7, 0, '2019-06-11 14:02:43', '2019-06-11 14:02:43', 4), | |||
| (1560973899, 1561054066, '790', '多径点位合同签约', 5, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 2), | |||
| (1561010589, 1561054066, '790', '商铺合同签约', 4, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 1), | |||
| (1560977371, 1561054066, '790', '商铺合同终止', 6, 0, '2019-06-11 14:02:42', '2019-06-11 14:02:42', 3); | |||
| @@ -52,11 +52,11 @@ public class KwBoxV1Controller extends BaseController { | |||
| private ResultData cmdRegist(String imei, String ccid, Date deviceTime, Map<String,Object> paramMap) | |||
| { | |||
| String fwv = (String)paramMap.get("FWV"); | |||
| String fwv = (String)paramMap.get(KwBoxService.PREFIX_FW_VERSION); | |||
| if (StringUtil.isNullOrEmpty(fwv)) | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| String hwv = (String)paramMap.get("HWV"); | |||
| String hwv = (String)paramMap.get(KwBoxService.PREFIX_HW_VERSION); | |||
| if (StringUtil.isNullOrEmpty(hwv)) | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| @@ -68,7 +68,7 @@ public class KwBoxV1Controller extends BaseController { | |||
| if (!kwBox.getRegisterStatus().equals(EnumBoxRegisterStatus.INIT.getCode())) | |||
| return new ResultData(ErrorCode.DEVICE_ALREADY_EXIST); | |||
| saveCmd(kwBox.getTenantId(),"regist",imei,ccid,deviceTime,paramMap); | |||
| saveCmd(kwBox.getTenantId(),KwBoxService.CMD_REGISTER,imei,ccid,deviceTime,paramMap); | |||
| KwBox record = new KwBox(); | |||
| record.setId(kwBox.getId()); | |||
| @@ -82,14 +82,14 @@ public class KwBoxV1Controller extends BaseController { | |||
| kwBoxService.saveOrUpdate(record); | |||
| Map<String,Object> data = new HashMap<>(); | |||
| data.put("sysStatus",record.getRegisterStatus()); | |||
| data.put(KwBoxService.PREFIX_SYS_STATUS,record.getRegisterStatus()); | |||
| if (kwBox.getComKey() != null) | |||
| data.put("comKey",kwBox.getComKey()); | |||
| data.put(KwBoxService.PREFIX_COM_KEY,kwBox.getComKey()); | |||
| if (kwBox.getConfig() != null) | |||
| data.put("config",kwBox.getConfig()); | |||
| data.put(KwBoxService.PREFIX_CONFIG,kwBox.getConfig()); | |||
| List<String> meters = kwBoxService.findMetersAddress(kwBox); | |||
| if (!meters.isEmpty()) | |||
| data.put("meters",meters); | |||
| data.put(KwBoxService.PREFIX_METERS,meters); | |||
| return new ResultData(data); | |||
| } | |||
| @@ -104,7 +104,7 @@ public class KwBoxV1Controller extends BaseController { | |||
| if (!kwBox.getRegisterStatus().equals(EnumBoxRegisterStatus.REGISTERED.getCode())) | |||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||
| saveCmd(kwBox.getTenantId(),"login",imei,ccid,deviceTime,paramMap); | |||
| saveCmd(kwBox.getTenantId(),KwBoxService.CMD_LOGIN,imei,ccid,deviceTime,paramMap); | |||
| KwBox record = new KwBox(); | |||
| record.setId(kwBox.getId()); | |||
| @@ -114,7 +114,7 @@ public class KwBoxV1Controller extends BaseController { | |||
| kwBoxService.saveOrUpdate(record); | |||
| Map<String,Object> data = new HashMap<>(); | |||
| if (kwBox.getConfig() != null) | |||
| data.put("config",kwBox.getConfig() ); | |||
| data.put(KwBoxService.PREFIX_CONFIG,kwBox.getConfig() ); | |||
| return new ResultData(data); | |||
| } | |||
| @@ -129,27 +129,17 @@ public class KwBoxV1Controller extends BaseController { | |||
| if (!kwBox.getRegisterStatus().equals(EnumBoxRegisterStatus.REGISTERED.getCode())) | |||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||
| saveCmd(kwBox.getTenantId(),"hb",imei,ccid,deviceTime,paramMap); | |||
| saveCmd(kwBox.getTenantId(),KwBoxService.CMD_HEARTBEAT,imei,ccid,deviceTime,paramMap); | |||
| KwBox record = new KwBox(); | |||
| record.setId(kwBox.getId()); | |||
| record.setLastOnlineTime(new Date()); | |||
| kwBoxService.saveOrUpdate(record); | |||
| Map<String,Object> resData = new HashMap<>(); | |||
| List<Map<String,String>> metersData = (List<Map<String,String>>)paramMap.get("meters"); | |||
| if (!metersData.isEmpty()) { | |||
| metersData.stream().forEach(m->{ | |||
| String addr = m.get("addr"); | |||
| String activePower = m.get("ap"); //active power | |||
| kwBoxService.saveMeterData(kwBox, deviceTime, addr, activePower); | |||
| }); | |||
| } | |||
| kwBoxService.saveMeterData(kwBox, metersData, deviceTime); | |||
| List<String> meters = kwBoxService.findMetersAddress(kwBox); | |||
| boolean updateMeters = false; | |||
| boolean updateConfig = false; | |||
| @@ -161,11 +151,12 @@ public class KwBoxV1Controller extends BaseController { | |||
| updateMeters = true; | |||
| } | |||
| Map<String,Object> resData = new HashMap<>(); | |||
| if (updateMeters) { | |||
| resData.put("meters", meters); | |||
| resData.put(KwBoxService.PREFIX_METERS, meters); | |||
| } | |||
| if (updateConfig) { | |||
| resData.put("config", kwBox.getConfig()); | |||
| resData.put(KwBoxService.PREFIX_CONFIG, kwBox.getConfig()); | |||
| } | |||
| return new ResultData(resData); | |||
| @@ -179,19 +170,19 @@ public class KwBoxV1Controller extends BaseController { | |||
| @PostMapping("command") | |||
| public Result command(@RequestBody Map<String,Object> paramMap) { | |||
| String cmd = (String)paramMap.get("CMD"); | |||
| String cmd = (String)paramMap.get(KwBoxService.PREFIX_CMD); | |||
| if (StringUtil.isNullOrEmpty(cmd)) | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| String imei = (String)paramMap.get("IMEI"); | |||
| String imei = (String)paramMap.get(KwBoxService.PREFIX_IMEI); | |||
| if (StringUtil.isNullOrEmpty(imei)) | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| String ccid = (String)paramMap.get("CCID"); | |||
| String ccid = (String)paramMap.get(KwBoxService.PREFIX_ICCID); | |||
| if (StringUtil.isNullOrEmpty(ccid)) | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| String time = (String)paramMap.get("TIME"); | |||
| String time = (String)paramMap.get(KwBoxService.PREFIX_TIME); | |||
| if (StringUtil.isNullOrEmpty(time)) | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| @@ -206,11 +197,11 @@ public class KwBoxV1Controller extends BaseController { | |||
| switch(cmd) | |||
| { | |||
| case "regist": | |||
| case KwBoxService.CMD_REGISTER: | |||
| return cmdRegist(imei,ccid,deviceTime,paramMap); | |||
| case "login": | |||
| case KwBoxService.CMD_LOGIN: | |||
| return cmdLogin(imei,ccid,deviceTime,paramMap); | |||
| case "hb": | |||
| case KwBoxService.CMD_HEARTBEAT: | |||
| return cmdHb(imei,ccid,deviceTime,paramMap); | |||
| } | |||
| @@ -92,11 +92,13 @@ public class WxDeviceScreenAdController extends BaseController { | |||
| WxDevice wxDevice = findDevice(deviceId); | |||
| if (wxDevice == null) | |||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||
| WxDevice record = new WxDevice(); | |||
| record.setId(wxDevice.getId()); | |||
| if (wxDevice.getFirstHbTime() == null) | |||
| wxDevice.setFirstHbTime(new Date()); | |||
| wxDevice.setLastHbTime(new Date()); | |||
| wxDevice.setVersion(paramMap.get("version")); | |||
| wxDeviceService.saveOrUpdate(wxDevice); | |||
| record.setFirstHbTime(new Date()); | |||
| record.setLastHbTime(new Date()); | |||
| record.setVersion(paramMap.get("version")); | |||
| wxDeviceService.saveOrUpdate(record); | |||
| Map<String, String> result = new HashMap<>(); | |||
| result.put("config",wxDevice.getConfig()); | |||
| @@ -19,8 +19,12 @@ import java.util.List; | |||
| @ToString(callSuper = true) | |||
| @EqualsAndHashCode(callSuper = true) | |||
| public class KwMeterData extends BaseEntity { | |||
| @Id | |||
| protected Long id; | |||
| @Id | |||
| protected Long fake_id; | |||
| @Transient | |||
| protected List<Long> ids; | |||
| @Transient | |||
| @@ -40,7 +40,7 @@ public interface WxPropertyContractService { | |||
| * @param oldDate | |||
| * @return | |||
| */ | |||
| ResultData saveOrUpdate(WxPropertyContract record, Long userId, String userName, Date oldDate); | |||
| ResultData saveOrUpdate(WxPropertyContract record, Long userId, String userName); | |||
| /** | |||
| * 根据Id删除实体 | |||
| @@ -29,9 +29,9 @@ public class WxDeviceServiceImpl implements WxDeviceService { | |||
| WxDeviceMapper wxDeviceMapper; | |||
| final String DEVICE_DEFAULT_CONFIG_SCREEN_AD = "{" + | |||
| "\"heartbeatInterval\":300000," + //5MIN | |||
| "\"dataRefreshInterval\":3600000," + //1HOUR | |||
| "\"pageChangeInterval\":10000," + //10SEC | |||
| "\"heartbeatInterval\":300," + //5MIN | |||
| "\"dataRefreshInterval\":3600," + //1HOUR | |||
| "\"pageChangeInterval\":10," + //10SEC | |||
| "\"animationTheme\":0" + | |||
| "}"; | |||
| @@ -211,7 +211,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||
| @Override | |||
| @Transactional(rollbackFor = {Exception.class}) | |||
| public ResultData saveOrUpdate(WxPropertyContract record, Long userId, String userName, Date oldDate) { | |||
| public ResultData saveOrUpdate(WxPropertyContract record, Long userId, String userName) { | |||
| // 保存调整金额(预账单调整) | |||
| boolean haspreview = false; | |||
| if(!CollectionUtils.isEmpty(record.getPreviewBillRentList())){ | |||
| @@ -707,9 +707,10 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||
| if (wxPropertyContract != null) { | |||
| int receivePeriod = wxPropertyContract.getReceivePeriod().intValue(); | |||
| Integer lease = wxPropertyContract.getLease(); | |||
| Date rentalStartDate = propertyContract.getRentalStartDate(); | |||
| if (propertyContract.getRentShopType().equals(EnumRentStartType.STARTTIME.getCode())) { | |||
| rentalStartDate = propertyContract.getStartDate(); | |||
| Date rentalStartDate = wxPropertyContract.getRentalStartDate(); | |||
| System.out.println(wxPropertyContract.getRentStartType().intValue() + "------------------"); | |||
| if (wxPropertyContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())) { | |||
| rentalStartDate = wxPropertyContract.getStartDate(); | |||
| } | |||
| propertyContract.setRentalStartDate(rentalStartDate); | |||
| Long price = propertyContract.getPrice(); | |||
| @@ -980,11 +981,6 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||
| wxBillProperty.setPropertyContractId(wxPropertyContract.getId()); | |||
| wxBillPropertyMapper.updateInvalidStatus(wxBillProperty); | |||
| } | |||
| public static void main(String[] args) { | |||
| List l = new ArrayList(); | |||
| l.add(1) ; | |||
| } | |||
| } | |||
| @@ -835,6 +835,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||
| long[] priceArrs = null; | |||
| List<Map<String, Object>> shopInfos = new ArrayList<>(); | |||
| if (wxRentContract.getRentShopType().equals(EnumRentShopType.SHOP.getCode()) && | |||
| wxRentContract.getRentInputWay().equals(EnumRentContractRentInputWay.PART.getCode()) && | |||
| !wxRentContract.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())) { | |||
| String rentInfo = wxRentContract.getRentInfo(); | |||
| JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); | |||
| @@ -2075,6 +2076,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||
| wxBillRentMapper.updateInvalidStatus(wxBillRent); | |||
| //解绑商户和商铺关系 | |||
| wxMerchantService.disable(wxRentContractMapper.selectByPrimaryKey(wxRentContract.getId()).getMerchantId()); | |||
| WxRentContract rentContract = wxRentContractMapper.selectByPrimaryKey(wxRentContract.getId()); | |||
| if(rentContract != null && rentContract.getMerchantId() != null){ | |||
| wxMerchantService.disable(rentContract.getMerchantId()); | |||
| } | |||
| } | |||
| } | |||
| @@ -10,9 +10,27 @@ import com.iformall.domain.po.KwMeterData; | |||
| import java.util.Date; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| public interface KwBoxService { | |||
| final static String PREFIX_CMD = "CMD"; | |||
| final static String CMD_REGISTER = "regist"; | |||
| final static String CMD_LOGIN = "login"; | |||
| final static String CMD_HEARTBEAT = "hb"; | |||
| final static String PREFIX_IMEI = "IMEI"; | |||
| final static String PREFIX_ICCID = "CCID"; | |||
| final static String PREFIX_TIME = "TIME"; | |||
| final static String PREFIX_HW_VERSION = "HWV"; | |||
| final static String PREFIX_FW_VERSION = "FWV"; | |||
| final static String PREFIX_COM_KEY = "comKey"; | |||
| final static String PREFIX_SYS_STATUS = "sysStatus"; | |||
| final static String PREFIX_CONFIG = "config"; | |||
| final static String PREFIX_METERS = "meters"; | |||
| final static String METER_ADDRESS = "addr"; | |||
| final static String METER_ACTIVE_POWER = "ap"; | |||
| /** | |||
| @@ -60,9 +78,9 @@ public interface KwBoxService { | |||
| List<String> findMetersAddress(KwBox record); | |||
| List<KwMeter> findMeters(KwBox record); | |||
| KwMeter findMeter(KwBox record, String addr); | |||
| KwMeter findMeter(KwBox record, String addr); | |||
| KwBox findByImei(String imei); | |||
| KwMeterData saveMeterData(KwBox record, Date deviceTime, String addr, String activePower); | |||
| KwMeterData saveMeterData(KwBox record, List<Map<String,String>> metersData, Date deviceTime); | |||
| } | |||
| @@ -0,0 +1,57 @@ | |||
| package com.iformall.service.kw; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.po.KwMerchantMeter; | |||
| import java.util.List; | |||
| public interface KwMerchantMeterService { | |||
| /** | |||
| * 根据实体查询分页列表 | |||
| * | |||
| * @param record | |||
| * @param pageIndex | |||
| * @param pageSize | |||
| * @return | |||
| */ | |||
| PageInfo<KwMerchantMeter> listAsPage(KwMerchantMeter record, Integer pageIndex, Integer pageSize); | |||
| /** | |||
| * 根据Id获得实体 | |||
| * | |||
| * @param id | |||
| * @return | |||
| */ | |||
| KwMerchantMeter getById(Long id); | |||
| /** | |||
| * 保存或更新实体 | |||
| * | |||
| * @param record | |||
| */ | |||
| ResultData saveOrUpdate(KwMerchantMeter record); | |||
| /** | |||
| * 根据Id删除实体 | |||
| * | |||
| * @param id | |||
| */ | |||
| void deleteById(Long id); | |||
| /** | |||
| * 根据实体查询分页列表 | |||
| * | |||
| * @param record | |||
| * @return | |||
| */ | |||
| List<KwMerchantMeter> findList(KwMerchantMeter record); | |||
| } | |||
| @@ -17,5 +17,5 @@ public interface KwMeterDataService { | |||
| List<KwMeterData> findList(KwMeterData kwMeterData); | |||
| int save(KwMeterData record); | |||
| int save(List<KwMeterData> recordList); | |||
| } | |||
| @@ -24,6 +24,7 @@ import org.springframework.stereotype.Service; | |||
| import java.util.ArrayList; | |||
| import java.util.Date; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| import java.util.stream.Collectors; | |||
| @@ -40,6 +41,7 @@ public class KwBoxServiceImpl implements KwBoxService { | |||
| @Autowired | |||
| KwMeterService kwMeterService; | |||
| @Override | |||
| public PageInfo<KwBox> listAsPage(KwBox record, Integer pageIndex, Integer pageSize) { | |||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> kwBoxMapper.findList(record)); | |||
| @@ -89,42 +91,54 @@ public class KwBoxServiceImpl implements KwBoxService { | |||
| } | |||
| @Override | |||
| public KwMeterData saveMeterData(KwBox kwBox, Date deviceTime, String addr, String activePower){ | |||
| KwMeter kwMeter = findMeter(kwBox, addr); | |||
| if (kwMeter==null) return null; | |||
| public KwMeterData saveMeterData(KwBox kwBox, List<Map<String,String>> metersData, Date deviceTime){ | |||
| KwMeterData kwMeterData = new KwMeterData(); | |||
| kwMeterData.setTenantId(kwBox.getTenantId()); | |||
| kwMeterData.setAddress(addr); | |||
| kwMeterData.setBoxId(kwBox.getId()); | |||
| kwMeterData.setCreateTime(new Date()); | |||
| kwMeterData.setDeviceTime(deviceTime); | |||
| kwMeterData.setMeterId(kwMeter.getId()); | |||
| if (!StringUtil.isNullOrEmpty(activePower)) { | |||
| kwMeterData.setTotalPower(Integer.parseInt(activePower)); | |||
| } | |||
| if (!metersData.isEmpty()) { | |||
| if (kwMeterData.getTotalPower() != null) { | |||
| KwMeterData record = new KwMeterData(); | |||
| record.setBoxId(kwBox.getId()); | |||
| record.setMeterId(kwMeter.getId()); | |||
| record.setTotalPower(0); //set in sql not null | |||
| record.setSortColumns(KwMeterData.Field.DeviceTime_DESC); | |||
| PageInfo<KwMeterData> kwMeterDataPage = kwMeterDataService.listAsPage(record,1,1); | |||
| if (kwMeterDataPage.getList().size() > 0) { | |||
| kwMeterData.setUsedPower( | |||
| kwMeterData.getTotalPower()-kwMeterDataPage.getList().get(0).getTotalPower()); | |||
| kwMeterData.setLastDeviceTime(kwMeterDataPage.getList().get(0).getDeviceTime()); | |||
| kwMeterData.setLastTotalPower(kwMeterDataPage.getList().get(0).getTotalPower()); | |||
| } | |||
| List<KwMeterData> kwMeterDataList = new ArrayList<>(); | |||
| Date recordTime = new Date(); | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| metersData.stream().forEach(m->{ | |||
| String addr = m.get(KwBoxService.METER_ADDRESS); | |||
| String activePower = m.get(KwBoxService.METER_ACTIVE_POWER); //active power | |||
| KwMeter kwMeter = findMeter(kwBox, addr); | |||
| if (kwMeter==null) return; | |||
| KwMeterData kwMeterData = new KwMeterData(); | |||
| kwMeterData.setId(idWorker.nextId()); | |||
| kwMeterData.setTenantId(kwBox.getTenantId()); | |||
| kwMeterData.setAddress(addr); | |||
| kwMeterData.setBoxId(kwBox.getId()); | |||
| kwMeterData.setCreateTime(recordTime); | |||
| kwMeterData.setDeviceTime(deviceTime); | |||
| kwMeterData.setMeterId(kwMeter.getId()); | |||
| if (!StringUtil.isNullOrEmpty(activePower)) { | |||
| kwMeterData.setTotalPower(Integer.parseInt(activePower)); | |||
| } | |||
| if (kwMeterData.getTotalPower() != null) { | |||
| KwMeterData record = new KwMeterData(); | |||
| record.setBoxId(kwBox.getId()); | |||
| record.setMeterId(kwMeter.getId()); | |||
| record.setTotalPower(0); //set in sql not null | |||
| record.setSortColumns(KwMeterData.Field.DeviceTime_DESC); | |||
| PageInfo<KwMeterData> kwMeterDataPage = kwMeterDataService.listAsPage(record,1,1); | |||
| if (kwMeterDataPage.getList().size() > 0) { | |||
| kwMeterData.setUsedPower( | |||
| kwMeterData.getTotalPower()-kwMeterDataPage.getList().get(0).getTotalPower()); | |||
| kwMeterData.setLastDeviceTime(kwMeterDataPage.getList().get(0).getDeviceTime()); | |||
| kwMeterData.setLastTotalPower(kwMeterDataPage.getList().get(0).getTotalPower()); | |||
| } | |||
| } | |||
| kwMeterDataList.add(kwMeterData); | |||
| }); | |||
| kwMeterDataService.save(kwMeterDataList); | |||
| } | |||
| kwMeterDataService.save(kwMeterData); | |||
| return kwMeterData; | |||
| return null; | |||
| } | |||
| @Override | |||
| @@ -0,0 +1,60 @@ | |||
| package com.iformall.service.kw.impl; | |||
| import com.github.pagehelper.PageHelper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.IdWorker; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.po.KwMerchantMeter; | |||
| import com.iformall.mapper.KwMerchantMeterMapper; | |||
| import com.iformall.service.kw.KwMerchantMeterService; | |||
| import org.slf4j.Logger; | |||
| import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Service; | |||
| import java.util.List; | |||
| @Service | |||
| public class KwMerchantMeterServiceImpl implements KwMerchantMeterService { | |||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||
| @Autowired | |||
| KwMerchantMeterMapper kwMerchantMeterMapper; | |||
| @Override | |||
| public PageInfo<KwMerchantMeter> listAsPage(KwMerchantMeter record, Integer pageIndex, Integer pageSize) { | |||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> kwMerchantMeterMapper.findList(record)); | |||
| } | |||
| @Override | |||
| public KwMerchantMeter getById(Long id) { | |||
| return kwMerchantMeterMapper.selectByPrimaryKey(id); | |||
| } | |||
| @Override | |||
| public ResultData saveOrUpdate(KwMerchantMeter record) { | |||
| if (record.getId() == null) { | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| record.setId(idWorker.nextId()); | |||
| kwMerchantMeterMapper.insertSelective(record); | |||
| } else { | |||
| kwMerchantMeterMapper.updateByPrimaryKeySelective(record); | |||
| } | |||
| return new ResultData(); | |||
| } | |||
| @Override | |||
| public void deleteById(Long id) { | |||
| kwMerchantMeterMapper.deleteByPrimaryKey(id); | |||
| } | |||
| @Override | |||
| public List<KwMerchantMeter> findList(KwMerchantMeter record) { | |||
| return kwMerchantMeterMapper.findList(record); | |||
| } | |||
| } | |||
| @@ -45,10 +45,8 @@ public class KwMeterDataServiceImpl implements KwMeterDataService { | |||
| } | |||
| @Override | |||
| public int save(KwMeterData record) { | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| record.setId(idWorker.nextId()); | |||
| return kwMeterDataMapper.insertSelective(record); | |||
| public int save(List<KwMeterData> recordList) { | |||
| return kwMeterDataMapper.insertList(recordList); | |||
| } | |||
| } | |||
| @@ -35,7 +35,7 @@ | |||
| </if> | |||
| <if test=" null != deviceId "> | |||
| and `device_id` like concat('%', #{deviceId},'%') | |||
| and `device_id` = #{deviceId} | |||
| </if> | |||
| <if test=" null != version "> | |||