ソースを参照

Merge commit '0d6941e9ba9e380f6ba90057ffc6351c75293aa3' into release

release_toaliyun_real
luozukai 7年前
コミット
9cd35ae1aa
17個のファイルの変更384行の追加112行の削除
  1. +6
    -23
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java
  2. +64
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/device/KwMerchantMeterController.java
  3. +81
    -0
      mallinkAdmin/src/main/resources/db/migration/V201906201040__L_ADD_FLOW_DATA.sql
  4. +21
    -30
      mallinkCallback/src/main/java/com/iformall/controller/device/KwBoxV1Controller.java
  5. +6
    -4
      mallinkCallback/src/main/java/com/iformall/controller/device/WxDeviceScreenAdController.java
  6. +5
    -1
      mallinkService/src/main/java/com/iformall/domain/po/KwMeterData.java
  7. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java
  8. +3
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxDeviceServiceImpl.java
  9. +5
    -9
      mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java
  10. +5
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java
  11. +20
    -2
      mallinkService/src/main/java/com/iformall/service/kw/KwBoxService.java
  12. +57
    -0
      mallinkService/src/main/java/com/iformall/service/kw/KwMerchantMeterService.java
  13. +1
    -1
      mallinkService/src/main/java/com/iformall/service/kw/KwMeterDataService.java
  14. +46
    -32
      mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java
  15. +60
    -0
      mallinkService/src/main/java/com/iformall/service/kw/impl/KwMerchantMeterServiceImpl.java
  16. +2
    -4
      mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterDataServiceImpl.java
  17. +1
    -1
      mallinkService/src/main/resources/mapper/WxDeviceMapper.xml

+ 6
- 23
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")


+ 64
- 0
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();
}
}

+ 81
- 0
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);

+ 21
- 30
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<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);
}



+ 6
- 4
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<String, String> result = new HashMap<>();
result.put("config",wxDevice.getConfig());


+ 5
- 1
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<Long> ids;
@Transient


+ 1
- 1
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删除实体


+ 3
- 3
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" +
"}";



+ 5
- 9
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) ;
}
}




+ 5
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java ファイルの表示

@@ -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());
}
}
}

+ 20
- 2
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<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);
}

+ 57
- 0
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<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);


}

+ 1
- 1
mallinkService/src/main/java/com/iformall/service/kw/KwMeterDataService.java ファイルの表示

@@ -17,5 +17,5 @@ public interface KwMeterDataService {

List<KwMeterData> findList(KwMeterData kwMeterData);

int save(KwMeterData record);
int save(List<KwMeterData> recordList);
}

+ 46
- 32
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<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


+ 60
- 0
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<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);
}


}

+ 2
- 4
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<KwMeterData> recordList) {
return kwMeterDataMapper.insertList(recordList);
}

}

+ 1
- 1
mallinkService/src/main/resources/mapper/WxDeviceMapper.xml ファイルの表示

@@ -35,7 +35,7 @@
</if>

<if test=" null != deviceId ">
and `device_id` like concat('%', #{deviceId},'%')
and `device_id` = #{deviceId}

</if>
<if test=" null != version ">


読み込み中…
キャンセル
保存