Commit fc93bc63 authored by 赵啸非's avatar 赵啸非

添加样表皮肤管理

parent c7ce5f0d
package com.mortals.xhx.common.pdu.device;
import com.alibaba.fastjson.JSON;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
@Data
public class DeviceMsgReqPdu implements Serializable {
/**
* 设备编码
*/
private String deviceCode;
private String productCode;
private Long siteid;
/**
* 消息类型
*/
private String messageType;
/**
* 时间戳(毫秒)
*/
private Long timestamp;
/**
* 消息内容
*/
private String data;
public static void main(String[] args) {
ArrayList<DeviceMsgReqPdu> deq = new ArrayList<>();
DeviceMsgReqPdu deviceMsgReq = new DeviceMsgReqPdu();
deviceMsgReq.setDeviceCode("a1");
deviceMsgReq.setMessageType("heart_beat");
deviceMsgReq.setData("{xxxx}");
deviceMsgReq.setTimestamp(new Date().getTime());
deq.add(deviceMsgReq);
deviceMsgReq = new DeviceMsgReqPdu();
deviceMsgReq.setDeviceCode("a2");
deviceMsgReq.setMessageType("heart_beat");
deviceMsgReq.setData("{bbbbbb}");
deviceMsgReq.setTimestamp(new Date().getTime());
deq.add(deviceMsgReq);
System.out.println(JSON.toJSONString(deq));
}
}
package com.mortals.xhx.feign.device;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.device.DeviceMsgReqPdu;
import com.mortals.xhx.common.pdu.device.DevicePdu;
import com.mortals.xhx.feign.IFeign;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 设备 消息 Feign接口
*
* @author zxfei
* @date 2023-02-25
*/
@FeignClient(name = "device-manager", path = "/m", fallbackFactory = DeviceFeignFallbackFactory.class)
public interface IDeviceMessageFeign extends IFeign {
/**
* 设备消息通知
*
* @param devicePdu
* @return
*/
@PostMapping(value = "/api/callbackByProduct")
Rest<String> callbackByProduct(@RequestBody DeviceMsgReqPdu devicePdu);
}
@Slf4j
@Component
class DeviceMessageFeignFallbackFactory implements FallbackFactory<IDeviceMessageFeign> {
@Override
public IDeviceMessageFeign create(Throwable t) {
return new IDeviceMessageFeign() {
@Override
public Rest<String> callbackByProduct(DeviceMsgReqPdu devicePdu) {
return Rest.fail("发送消息失败,请稍后再试!");
}
};
}
}
...@@ -13,4 +13,6 @@ import lombok.Data; ...@@ -13,4 +13,6 @@ import lombok.Data;
@Data @Data
public class SkinVo extends BaseEntityLong { public class SkinVo extends BaseEntityLong {
private Long siteId;
} }
\ No newline at end of file
package com.mortals.xhx.module.skin.service.impl; package com.mortals.xhx.module.skin.service.impl;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.pdu.device.DeviceMsgReqPdu;
import com.mortals.xhx.feign.device.IDeviceMessageFeign;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
...@@ -14,6 +23,27 @@ import com.mortals.xhx.module.skin.service.SkinService; ...@@ -14,6 +23,27 @@ import com.mortals.xhx.module.skin.service.SkinService;
* @date 2023-04-03 * @date 2023-04-03
*/ */
@Service("skinService") @Service("skinService")
@Slf4j
public class SkinServiceImpl extends AbstractCRUDServiceImpl<SkinDao, SkinEntity, Long> implements SkinService { public class SkinServiceImpl extends AbstractCRUDServiceImpl<SkinDao, SkinEntity, Long> implements SkinService {
@Autowired
private IDeviceMessageFeign deviceMessageFeign;
@Override
protected void updateAfter(SkinEntity entity, Context context) throws AppException {
super.updateAfter(entity, context);
if(YesNoEnum.YES.getValue()==entity.getUsed()){
//推送皮肤更新消息
DeviceMsgReqPdu deviceMsgReqPdu = new DeviceMsgReqPdu();
deviceMsgReqPdu.setSiteid(entity.getSiteId());
deviceMsgReqPdu.setProductCode("ybj");
deviceMsgReqPdu.setMessageType("edition");
deviceMsgReqPdu.setData("W10=");
deviceMsgReqPdu.setTimestamp(System.currentTimeMillis());
Rest<String> rest = deviceMessageFeign.callbackByProduct(deviceMsgReqPdu);
log.info("send device message==>{}", JSON.toJSONString(rest));
}
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment