diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java index 820a2d8ea..fc0ddd668 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java @@ -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") diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMerchantMeterController.java b/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMerchantMeterController.java new file mode 100644 index 000000000..3e0a1a856 --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMerchantMeterController.java @@ -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(); + } +} diff --git a/mallinkAdmin/src/main/resources/db/migration/V201906201040__L_ADD_FLOW_DATA.sql b/mallinkAdmin/src/main/resources/db/migration/V201906201040__L_ADD_FLOW_DATA.sql new file mode 100644 index 000000000..b5df17dea --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201906201040__L_ADD_FLOW_DATA.sql @@ -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); diff --git a/mallinkCallback/src/main/java/com/iformall/controller/device/KwBoxV1Controller.java b/mallinkCallback/src/main/java/com/iformall/controller/device/KwBoxV1Controller.java index 66d1c6c7e..19b13d8bb 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/device/KwBoxV1Controller.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/device/KwBoxV1Controller.java @@ -52,11 +52,11 @@ public class KwBoxV1Controller extends BaseController { private ResultData cmdRegist(String imei, String ccid, Date deviceTime, Map 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 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 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 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 resData = new HashMap<>(); List> metersData = (List>)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 meters = kwBoxService.findMetersAddress(kwBox); - boolean updateMeters = false; boolean updateConfig = false; @@ -161,11 +151,12 @@ public class KwBoxV1Controller extends BaseController { updateMeters = true; } + Map 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 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); } diff --git a/mallinkCallback/src/main/java/com/iformall/controller/device/WxDeviceScreenAdController.java b/mallinkCallback/src/main/java/com/iformall/controller/device/WxDeviceScreenAdController.java index a7587b32f..b17f3276c 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/device/WxDeviceScreenAdController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/device/WxDeviceScreenAdController.java @@ -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 result = new HashMap<>(); result.put("config",wxDevice.getConfig()); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/KwMeterData.java b/mallinkService/src/main/java/com/iformall/domain/po/KwMeterData.java index 4e0151bc6..ed956ceae 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/KwMeterData.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/KwMeterData.java @@ -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 ids; @Transient diff --git a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java index 64143f7bf..c73d99534 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java @@ -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删除实体 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxDeviceServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxDeviceServiceImpl.java index e1e57c510..e345ec635 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxDeviceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxDeviceServiceImpl.java @@ -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" + "}"; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index 06dbab3a9..c1b756059 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -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) ; - } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index d22f3c54f..141e3b17f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -835,6 +835,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { long[] priceArrs = null; List> 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()); + } } } diff --git a/mallinkService/src/main/java/com/iformall/service/kw/KwBoxService.java b/mallinkService/src/main/java/com/iformall/service/kw/KwBoxService.java index 062a28e5e..6d970d5cf 100644 --- a/mallinkService/src/main/java/com/iformall/service/kw/KwBoxService.java +++ b/mallinkService/src/main/java/com/iformall/service/kw/KwBoxService.java @@ -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 findMetersAddress(KwBox record); List 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> metersData, Date deviceTime); } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/service/kw/KwMerchantMeterService.java b/mallinkService/src/main/java/com/iformall/service/kw/KwMerchantMeterService.java new file mode 100644 index 000000000..3f0c03138 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/kw/KwMerchantMeterService.java @@ -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 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 findList(KwMerchantMeter record); + + +} \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/service/kw/KwMeterDataService.java b/mallinkService/src/main/java/com/iformall/service/kw/KwMeterDataService.java index ba2b9d1ef..095995e11 100644 --- a/mallinkService/src/main/java/com/iformall/service/kw/KwMeterDataService.java +++ b/mallinkService/src/main/java/com/iformall/service/kw/KwMeterDataService.java @@ -17,5 +17,5 @@ public interface KwMeterDataService { List findList(KwMeterData kwMeterData); - int save(KwMeterData record); + int save(List recordList); } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java index 590a0c102..502ca5c56 100644 --- a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java @@ -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 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> 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 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 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 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 diff --git a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMerchantMeterServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMerchantMeterServiceImpl.java new file mode 100644 index 000000000..1dd3c5d58 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMerchantMeterServiceImpl.java @@ -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 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 findList(KwMerchantMeter record) { + return kwMerchantMeterMapper.findList(record); + } + + +} diff --git a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterDataServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterDataServiceImpl.java index f83758b80..6aa024509 100644 --- a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterDataServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterDataServiceImpl.java @@ -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 recordList) { + return kwMeterDataMapper.insertList(recordList); } } diff --git a/mallinkService/src/main/resources/mapper/WxDeviceMapper.xml b/mallinkService/src/main/resources/mapper/WxDeviceMapper.xml index c33a30a69..4c0e3e447 100644 --- a/mallinkService/src/main/resources/mapper/WxDeviceMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxDeviceMapper.xml @@ -35,7 +35,7 @@ - and `device_id` like concat('%', #{deviceId},'%') + and `device_id` = #{deviceId}