Commit eacb80da authored by xinglei's avatar xinglei

*)新增装备feign

parent 5ffc2849
package com.yeejoin.amos.boot.module.jcs.api.client;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import com.yeejoin.amos.component.feign.config.InnerInvokException;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List;
import java.util.Map;
/**
* 装备服务feign
*
* @author Dell
*/
@FeignClient(name = "AMOS-EQUIPMANAGE", path = "equip", configuration = {MultipartSupportConfig.class})
public interface EquipFeignClient {
/**
* 获取未列装人员装备列表数据
*
* @return
*/
@RequestMapping(value = "/equipSpecific/getAirEquipSpecificPage", method = RequestMethod.POST)
ResponseModel<Page<EquipmentOnCarDto>> getAirEquipSpecificPage(@RequestBody EquipSpecificDto var1) throws InnerInvokException;
/**
* 人员装备列装
*
* @return
*/
@RequestMapping(value = "/stock-detail/airport/person/bind", method = RequestMethod.POST)
ResponseModel<List<Object>> stockBindEquip(@RequestBody List<Long> ids) throws InnerInvokException;
/**
* 人员装备退装
*
* @return
*/
@RequestMapping(value = "/scrap/airport/person", method = RequestMethod.POST)
ResponseModel<Object> scrapEquip(@RequestBody String id) throws InnerInvokException;
/**
* 人员装备回库
*
* @return
*/
@RequestMapping(value = "/stock-detail/airport/person", method = RequestMethod.POST)
ResponseModel<Object> stockEquip(@RequestBody Map<String, Object> map) throws InnerInvokException;
/**
* 装备详情
*
* @return
*/
@RequestMapping(value = "/equipSpecific/getAirEquipSpecificDetail", method = RequestMethod.GET)
ResponseModel<Object> getAirEquipSpecificDetail(@RequestParam Long stockDetailId) throws InnerInvokException;
}
package com.yeejoin.amos.boot.module.jcs.api.client;
import feign.codec.Encoder;
import feign.form.spring.SpringFormEncoder;
import org.springframework.beans.factory.ObjectFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.cloud.openfeign.support.SpringEncoder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @Author: xl
* @Description:
* @Date: 2020/3/30 16:26
*/
@Configuration
public class MultipartSupportConfig {
@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;
@Bean
public Encoder feignFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
}
package com.yeejoin.amos.boot.module.jcs.api.dto;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.Data;
/**
* @Author: xl
* @Description: 装备分页查询
* @Date: 2021/6/23 11:29
*/
@Data
public class EquipSpecificDto extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 名称
*/
private String like;
/**
* 状态,默认查询未列装数据
*/
private Integer status = 1;
/**
* 装备分类code(人员装备【10000000】)
*/
private String categoryCode = "10000000";
/**
* 队伍ID
*/
private Long teamId;
/**
* 分页
*/
private Page page;
}
package com.yeejoin.amos.boot.module.jcs.api.dto;
import lombok.Data;
import java.util.Date;
/**
* @Author: xl
* @Description: 装备返回实例
* @Date: 2021/6/23 11:29
*/
@Data
public class EquipmentOnCarDto {
/**
* 车辆ID
*/
private Long carId;
/**
* 设备模板ID
*/
private Long equipmentDetailId;
/**
* 库存详情id
*/
private Long stockDetailId;
/**
* 库存数量
*/
private Double amount;
/**
* 设备实例ID
*/
private Long equipmentSpecificId;
/**
* 设备名称
*/
private String equipmentSpecificName;
/**
* 设备编码
*/
private String equipmentSpecificCode;
/**
* 装备类型
*/
private String equipmentName;
/**
* 状态
*/
private String status;
private String area;
private Long warehouseId;
private Long warehouseStructureId;
private Long equipmentOnCarId;
/**
* 创建日期
*/
private Date createDate;
private String equipDefinitionName;
}
package com.yeejoin.amos.boot.module.jcs.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 装备操作枚举
*
* @author DELL
*/
@Getter
@AllArgsConstructor
public enum EquipTypeEnum {
/**
* 退库,回库
*/
退装("scrap", "退装"),
回库("stock", "回库");
private String key;
private String name;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.yeejoin.amos.boot.module.jcs.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersJacket;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List;
/**
* 消防人员配装记录 服务类
......@@ -11,4 +17,11 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersJacket;
*/
public interface IFirefightersJacketService extends IService<FirefightersJacket> {
ResponseModel<Page<EquipmentOnCarDto>> getAirEquipSpecificPage(EquipSpecificDto equipSpecificDto, int current, int size);
boolean saveOrUpdateBatch(Long firefightersId, List<EquipmentOnCarDto> equipmentOnCarDtos);
boolean update(String type, FirefightersJacket firefightersJacket);
ResponseModel<Object> getEquipByStockDetailId(Long stockDetailId);
}
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.jcs.api.client.EquipFeignClient;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.FirefightersJacketDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersJacket;
import com.yeejoin.amos.boot.module.jcs.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jcs.api.mapper.FirefightersJacketMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IFirefightersJacketService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 消防人员配装记录 服务实现类
*
* @author tb
* @date 2021-06-07
*/
* 消防人员配装记录 服务实现类
*
* @author tb
* @date 2021-06-07
*/
@Service
public class FirefightersJacketServiceImpl extends BaseService<FirefightersJacketDto,FirefightersJacket,FirefightersJacketMapper> implements IFirefightersJacketService {
public class FirefightersJacketServiceImpl extends BaseService<FirefightersJacketDto, FirefightersJacket, FirefightersJacketMapper> implements IFirefightersJacketService {
@Autowired
private EquipFeignClient equipFeignClient;
@Override
public ResponseModel<Page<EquipmentOnCarDto>> getAirEquipSpecificPage(EquipSpecificDto equipSpecificDto, int current, int size) {
Page page = new Page(current, size);
equipSpecificDto.setPage(page);
ResponseModel<Page<EquipmentOnCarDto>> airEquipSpecificPage = equipFeignClient.getAirEquipSpecificPage(equipSpecificDto);
return airEquipSpecificPage;
}
@Override
public boolean saveOrUpdateBatch(Long firefightersId, List<EquipmentOnCarDto> equipmentOnCarDtos) {
List<Long> ids = equipmentOnCarDtos.stream().map(EquipmentOnCarDto::getStockDetailId).collect(Collectors.toList());
List<Object> result = equipFeignClient.stockBindEquip(ids).getResult();
if (result.size() > 0) {
List<FirefightersJacket> firefightersJackets = new ArrayList<>();
equipmentOnCarDtos.forEach(x -> {
FirefightersJacket firefightersJacket = new FirefightersJacket();
BeanUtils.copyProperties(x, firefightersJacket);
firefightersJacket.setEquipmentDetailId(x.getEquipmentSpecificId());
firefightersJacket.setEquipmentDetailName(x.getEquipmentSpecificName());
firefightersJacket.setEquipmentTypeName(x.getEquipDefinitionName());
firefightersJacket.setAllotmentTime(DateUtils.getDateNow());
firefightersJacket.setFirefightersId(firefightersId);
firefightersJackets.add(firefightersJacket);
});
saveOrUpdateBatch(firefightersJackets);
return true;
}
return false;
}
@Override
public boolean update(String type, FirefightersJacket firefightersJacket) {
ResponseModel<Object> objectResponseModel = null;
if (EquipTypeEnum.退装.getKey().equals(type)) {
objectResponseModel = equipFeignClient.scrapEquip(String.valueOf(firefightersJacket.getStockDetailId()));
} else if (EquipTypeEnum.回库.getKey().equals(type)) {
Map<String, Object> map = new HashMap<>();
map.put("stockDetailId", firefightersJacket.getStockDetailId());
objectResponseModel = equipFeignClient.stockEquip(map);
}
if (ValidationUtil.isEmpty(objectResponseModel)){
return false;
}
update(new UpdateWrapper<FirefightersJacket>().eq("sequence_nbr", firefightersJacket.getSequenceNbr()).set("is_delete", 1));
return true;
}
@Override
public ResponseModel<Object> getEquipByStockDetailId(Long stockDetailId) {
return equipFeignClient.getAirEquipSpecificDetail(stockDetailId);
}
}
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