Commit 300fb130 authored by 赵啸非's avatar 赵啸非

重构部分功能模块

parent a662fe64
Pipeline #2309 canceled with stages
package com.mortals.xhx.common.pdu;
import com.mortals.framework.model.PageInfo;
import lombok.Data;
/**
* @author: zxfei
* @date: 2022/7/13 14:17
* @description:
**/
@Data
public class RespData<T> {
private T data;
private T entity;
private PageInfo pageInfo;
}
package com.mortals.xhx.feign.device;
import com.alibaba.fastjson.JSON;
import com.mortals.xhx.common.code.ApiRespCodeEnum;
import com.mortals.xhx.feign.IFeign;
import com.mortals.xhx.feign.device.pdu.DevicePdu;
import com.mortals.xhx.feign.rsp.ApiResp;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(name = "device-manager", path = "/m", fallbackFactory = DeviceFeignFallbackFactory.class)
public interface IApiDeviceFeign extends IFeign {
/**
* 根据条件查询站点列表
* @param query
* @return
*/
@PostMapping(value = "/device/list")
String getDeviceByQuery(@RequestBody DevicePdu query);
}
@Slf4j
@Component
class DeviceFeignFallbackFactory implements FallbackFactory<IApiDeviceFeign> {
@Override
public IApiDeviceFeign create(Throwable cause) {
return new IApiDeviceFeign(){
@Override
public String getDeviceByQuery(DevicePdu query) {
ApiResp<String> failResp = new ApiResp<>();
failResp.setCode(ApiRespCodeEnum.FAILED.getValue());
failResp.setMsg("暂时无法获取设备列表,请稍后再试!");
return JSON.toJSONString(failResp);
}
};
}
}
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.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 2022-10-26
*/
@FeignClient(name = "device-manager", path = "/m", fallbackFactory = DeviceFeignFallbackFactory.class)
public interface IDeviceFeign extends IFeign {
/**
* 查看设备列表
*
* @param devicePdu
* @return
*/
@PostMapping(value = "/device/list")
Rest<RespData<List<DevicePdu>>> list(@RequestBody DevicePdu devicePdu);
/**
* 查看设备
*
* @param id
* @return
*/
@GetMapping(value = "/device/info")
Rest<DevicePdu> info(@RequestParam(value = "id") Long id);
/**
* 删除设备
*
* @param ids
* @return
*/
@GetMapping(value = "/device/delete")
Rest<Void> delete(Long[] ids,@RequestHeader("Authorization") String authorization);
/**
* 设备保存更新
*
* @param devicePdu
* @return
*/
@PostMapping(value = "/device/save")
Rest<RespData<DevicePdu>> save(@RequestBody DevicePdu devicePdu,@RequestHeader("Authorization") String authorization);
}
@Slf4j
@Component
class DeviceFeignFallbackFactory implements FallbackFactory<IDeviceFeign> {
@Override
public IDeviceFeign create(Throwable t) {
return new IDeviceFeign() {
@Override
public Rest<RespData<List<DevicePdu>>> list(DevicePdu devicePdu) {
return Rest.fail("暂时无法获取设备列表,请稍后再试!");
}
@Override
public Rest<DevicePdu> info(Long id) {
return Rest.fail("暂时无法获取设备详细,请稍后再试!");
}
@Override
public Rest<Void> delete(Long[] ids, String authorization) {
return Rest.fail("暂时无法删除设备,请稍后再试!");
}
@Override
public Rest<RespData<DevicePdu>> save(DevicePdu devicePdu, String authorization) {
return Rest.fail("暂时无法保存设备,请稍后再试!");
}
};
}
}
package com.mortals.xhx.feign.device.pdu;
import lombok.Data;
import java.util.List;
@Data
public class DevicePdu {
private List<Long> idList;
/**
* 设备名称
*/
private String deviceName;
/**
* 设备编码,SN码等,默认为MAC地址
*/
private String deviceCode;
/**
* 设备的MAC地址
*/
private String deviceMac;
/**
* 站点Id,来源基础服务平台
*/
private Long siteId;
private Integer page;
private Integer size;
}
package com.mortals.xhx.feign.site;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.site.SitePdu;
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 2022-06-28
*/
@FeignClient(name = "base-manager", path = "/base", fallbackFactory = SiteFeignFallbackFactory.class)
public interface ISiteFeign extends IFeign {
/**
* 查看站点列表
*
* @param sitePdu
* @return
*/
@PostMapping(value = "/site/list")
Rest<RespData<List<SitePdu>>> list(@RequestBody SitePdu sitePdu);
/**
* 查看站点
*
* @param id
* @return
*/
@GetMapping(value = "/site/info")
Rest<SitePdu> info(@RequestParam(value = "id") Long id);
/**
* 删除站点
*
* @param ids
* @return
*/
@GetMapping(value = "/site/delete")
Rest<Void> delete(Long[] ids, @RequestHeader("Authorization") String authorization);
/**
* 站点保存更新
*
* @param sitePdu
* @return
*/
@PostMapping(value = "/site/save")
Rest<RespData<SitePdu>> save(@RequestBody SitePdu sitePdu, @RequestHeader("Authorization") String authorization);
/**
* 获取站点树
*
* @return
*/
@GetMapping(value = "/site/siteTree")
String siteTree(@RequestHeader("Authorization") String authorization);
/**
* 查询站点及子站点
*
* @param sitePdu
* @return
*/
@PostMapping(value = "/site/getFlatSitesBySiteId")
Rest<List<SitePdu>> getFlatSitesBySiteId(@RequestBody SitePdu sitePdu);
/**
* 查询站点及子站点
*
* @param sitePdu
* @return
*/
@PostMapping(value = "/site/getFlatSitesByAreaCode")
Rest<List<SitePdu>> getFlatSitesByAreaCode(@RequestBody SitePdu sitePdu);
}
@Slf4j
@Component
class SiteFeignFallbackFactory implements FallbackFactory<ISiteFeign> {
@Override
public ISiteFeign create(Throwable t) {
log.error("异常:", t);
return new ISiteFeign() {
@Override
public Rest<RespData<List<SitePdu>>> list(SitePdu sitePdu) {
return Rest.fail("暂时无法获取站点列表,请稍后再试!");
}
@Override
public Rest<SitePdu> info(Long id) {
return Rest.fail("暂时无法获取站点详细,请稍后再试!");
}
@Override
public Rest<Void> delete(Long[] ids, String authorization) {
return Rest.fail("暂时无法删除站点,请稍后再试!");
}
@Override
public Rest<RespData<SitePdu>> save(SitePdu sitePdu, String authorization) {
return Rest.fail("暂时无法保存站点,请稍后再试!");
}
@Override
public String siteTree(String authorization) {
return JSON.toJSONString(Rest.fail("暂时无法获取站点树,请稍后再试!"));
}
@Override
public Rest<List<SitePdu>> getFlatSitesBySiteId(SitePdu sitePdu) {
return Rest.fail("暂时无法获取站点子站点,请稍后再试!");
}
@Override
public Rest<List<SitePdu>> getFlatSitesByAreaCode(SitePdu sitePdu) {
return Rest.fail("暂时无法获取站点子站点,请稍后再试!");
}
};
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
package com.mortals.xhx.module.device.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.device.model.DeviceEntity;
/**
* 设备Dao
* 设备 DAO接口
*
* @author zxfei
* @date 2022-06-27
*/
public interface DeviceDao extends ICRUDDao<DeviceEntity,Long>{
}
package com.mortals.xhx.module.device.dao.ibatis;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.xhx.module.device.dao.DeviceDao;
import com.mortals.xhx.module.device.model.DeviceEntity;
import org.springframework.stereotype.Repository;
/**
* 设备DaoImpl DAO接口
*
* @author zxfei
* @date 2022-06-27
*/
@Repository("deviceDao")
public class DeviceDaoImpl extends BaseCRUDDaoMybatis<DeviceEntity,Long> implements DeviceDao {
}
package com.mortals.xhx.module.device.model.vo;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import lombok.Data;
import org.apache.poi.ss.usermodel.PictureData;
import java.util.List;
/**
* 设备视图对象
*
* @author zxfei
* @date 2022-07-01
*/
@Data
public class DeviceVo extends BaseEntityLong {
/**
* 唯一标识
*/
private String token;
/**
* 平台编码
*/
private String platformCode;
/**
* 产品编码
*/
@Excel(name = "产品类型",cacheDict = "productDict" ,type = Excel.Type.IMPORT)
private String productCode;
/**
* 是否通知第三方
*/
private Boolean switchSend=true;
/**
* 设备图片附件
*/
@Excel(name = "设备图片", type = Excel.Type.IMPORT, cellType = Excel.ColumnType.IMAGE)
@JSONField(deserialize = false,serialize = false)
@JsonIgnore
private PictureData picObj;
/** 主键ID,主键,自增长列表 */
private List <Long> idList;
/**
* 产品列表
*/
private List <Long> productIdList;
private List <Integer> deviceStatusList;
}
\ No newline at end of file
package com.mortals.xhx.module.device.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.device.model.DeviceEntity;
/**
* DeviceService
*
* 设备 service接口
*
* @author zxfei
* @date 2022-03-09
*/
public interface DeviceService extends ICRUDService<DeviceEntity,Long> {
}
\ No newline at end of file
package com.mortals.xhx.module.device.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.device.model.DeviceEntity;
import com.mortals.xhx.module.device.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 设备
*
* @author zxfei
* @date 2022-06-27
*/
@RestController
@RequestMapping("device")
@Slf4j
public class DeviceController extends BaseCRUDJsonBodyMappingController<DeviceService, DeviceEntity, Long> {
}
\ No newline at end of file
package com.mortals.xhx.module.home.pdu;
import lombok.Data;
@Data
public class BasicSettingsPdu {
/** 热搜词 */
private String hotWords;
/** 空白打印材料展示数量 */
private Integer printDisplay;
}
......@@ -23,5 +23,5 @@ public interface MatterService extends ICRUDService<MatterEntity,Long>{
* 推荐or取消推荐
* @param id
*/
void recommend(Long id);
Rest<String> recommend(Long id,Context context);
}
\ 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