Просмотр исходного кода

Merge remote-tracking branch 'origin/develop' into develop

release_toaliyun_real
luozukai 7 лет назад
Родитель
Сommit
c25075991d
5 измененных файлов: 70 добавлений и 10 удалений
  1. +7
    -6
      mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceController.java
  2. +7
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceScreenAdController.java
  3. +2
    -1
      mallinkService/src/main/java/com/iformall/service/WxDeviceService.java
  4. +53
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxDeviceServiceImpl.java
  5. +1
    -1
      mallinkService/src/main/resources/mapper/WxOrderMapper.xml

+ 7
- 6
mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceController.java Просмотреть файл

@@ -53,8 +53,8 @@ public class WxDeviceController extends BaseController {
wxDevice.setStatus(EnumDeviceStatus.VALID.getCode());
wxDevice.setOnlineStatus(EnumDeviceOnlineStatus.OFFLINE.getCode());
wxDevice.setTenantId(getTenantId());
wxDeviceService.saveOrUpdate(wxDevice);
return new ResultData();
return wxDeviceService.saveOrUpdate(wxDevice);
}

@ApiOperation("更新设备")
@@ -65,8 +65,8 @@ public class WxDeviceController extends BaseController {
if (wxDevice.getId() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
wxDevice.setTenantId(getTenantId());
wxDeviceService.saveOrUpdate(wxDevice);
return new ResultData();
return wxDeviceService.saveOrUpdate(wxDevice);
}

@ApiOperation("设备详情")
@@ -90,8 +90,9 @@ public class WxDeviceController extends BaseController {
wxDevice.setId(id);
wxDevice.setTenantId(getTenantId());
wxDevice.setStatus(EnumDeviceStatus.INVALID.getCode());
wxDeviceService.saveOrUpdate(wxDevice);
return new ResultData();

return wxDeviceService.saveOrUpdate(wxDevice);

}

}

+ 7
- 1
mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceScreenAdController.java Просмотреть файл

@@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@@ -95,7 +96,12 @@ public class WxDeviceScreenAdController extends BaseController {
wxDevice.setLastHbTime(new Date());
wxDevice.setVersion(paramMap.get("version"));
wxDeviceService.saveOrUpdate(wxDevice);
return new ResultData(wxDevice);

Map<String, String> result = new HashMap<>();
result.put("config",wxDevice.getConfig());
result.put("name", wxDevice.getName());
result.put("location", wxDevice.getLocation());
return new ResultData(result);
}

@ApiOperation("基础信息")


+ 2
- 1
mallinkService/src/main/java/com/iformall/service/WxDeviceService.java Просмотреть файл

@@ -2,6 +2,7 @@ package com.iformall.service;


import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxDevice;

import java.util.List;
@@ -34,7 +35,7 @@ public interface WxDeviceService {
*
* @param record
*/
void saveOrUpdate(WxDevice record);
ResultData saveOrUpdate(WxDevice record);


/**


+ 53
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxDeviceServiceImpl.java Просмотреть файл

@@ -1,11 +1,15 @@
package com.iformall.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;

import com.iformall.common.ResultData;
import com.iformall.domain.po.WxDevice;
import com.iformall.enums.EnumDeviceStatus;
import com.iformall.enums.EnumDeviceType;
import com.iformall.mapper.WxDeviceMapper;
import com.iformall.service.WxDeviceService;
import org.slf4j.Logger;
@@ -24,6 +28,14 @@ public class WxDeviceServiceImpl implements WxDeviceService {
@Autowired
WxDeviceMapper wxDeviceMapper;

final String DEVICE_DEFAULT_CONFIG_SCREEN_AD = "{" +
"\"heartbeatInterval\":300000," + //5MIN
"\"dataRefreshInterval\":3600000," + //1HOUR
"\"pageChangeInterval\":10000," + //10SEC
"\"animationTheme\":0" +
"}";


@Override
public PageInfo<WxDevice> listAsPage(WxDevice record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxDeviceMapper.findList(record));
@@ -34,20 +46,60 @@ public class WxDeviceServiceImpl implements WxDeviceService {
return wxDeviceMapper.selectByPrimaryKey(id);
}


private String getDefaultConfig(int type) {

if (type == EnumDeviceType.SCREEN.getCode()) {
return DEVICE_DEFAULT_CONFIG_SCREEN_AD;
}
return null;
}

private boolean checkConfig(int type, String config) {
JSONObject jConfig;
try {
jConfig = JSONObject.parseObject(config);
} catch (Exception e) {
return false;
}

if (type == EnumDeviceType.SCREEN.getCode()) {
Integer heartBeatIntervel = jConfig.getInteger("heartbeatInterval");
Integer dataRefreshIntervel = jConfig.getInteger("dataRefreshInterval");
Integer pageChangeInterval = jConfig.getInteger("pageChangeInterval");
Integer animationTheme = jConfig.getInteger("animationTheme");
if (heartBeatIntervel == null ||
dataRefreshIntervel == null ||
pageChangeInterval == null ||
animationTheme == null) {
return false;
}
}
return true;
}

@Override
public void saveOrUpdate(WxDevice record) {
public ResultData saveOrUpdate(WxDevice record) {
if (record.getId() == null) {
final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId());
record.setCreateDate(new Date());
record.setUpdateDate(new Date());
record.setConfig(getDefaultConfig(record.getType()));
wxDeviceMapper.insertSelective(record);
} else {
record.setUpdateDate(new Date());
if (record.getConfig() != null) {
if (!checkConfig(record.getType(),record.getConfig())) {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
}
}
wxDeviceMapper.updateByPrimaryKeySelective(record);
}
return new ResultData();
}


@Override
public void deleteById(Long id) {
wxDeviceMapper.deleteByPrimaryKey(id);


+ 1
- 1
mallinkService/src/main/resources/mapper/WxOrderMapper.xml Просмотреть файл

@@ -700,7 +700,7 @@
</select>
<update id="updateStatusByOrderGroupId" parameterType="com.iformall.domain.po.WxOrder">
update wx_order set order_status=#{orderStatus} where tenant_id=#{tenantId} and order_group_id=#{orderGroupId}
update wx_order set order_status=#{orderStatus} where tenant_id=#{tenantId} and order_group_id=#{orderGroupId} and order_status=10
</update>

</mapper>

Загрузка…
Отмена
Сохранить