Commit f0953f08 by 丁伟峰

增加了 public/parameter接口的实现

1 parent eef0845d
package com.alibaba.cloud.integration.order.controller;
import com.alibaba.cloud.integration.common.BusinessException;
import com.alibaba.cloud.integration.common.Result;
import com.alibaba.cloud.integration.order.service.PublicService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
public class PublicController {
@Autowired
private PublicService publicService;
@GetMapping("/public/parameter")
public Result<?> getPublicParameter() {
Result<?> res = null;
try {
res = publicService.getPublicParameter();
} catch (BusinessException e) {
return Result.failed(e.getMessage());
}
return res;
}
}
package com.alibaba.cloud.integration.order.dao;
import com.alibaba.cloud.integration.order.entity.PubParamsEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface PubParamsDao extends JpaRepository<PubParamsEntity, Integer> {
List<PubParamsEntity> findByBiztype(String biztype);
}
package com.alibaba.cloud.integration.order.dto;
import lombok.experimental.Accessors;
import java.util.List;
@lombok.Data
public class PubParameterRespDTO {
private List<?> enums;
@lombok.Data
@Accessors(chain = true)
public static class Enum {
private List<?> items;
private String name;
}
@lombok.Data
@Accessors(chain = true)
public static class Item {
private String label;
private String value;
}
}
package com.alibaba.cloud.integration.order.entity;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
@Entity
@Data
@Table(name="pub_params")
public class PubParamsEntity {
/**
* id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
/**
* 限定系统
*/
private String catalog;
/**
* 参数组/业务代码
*/
private String biztype;
/**
* 参数名
*/
private String pkey;
/**
* 参数值
*/
private String pvalue;
/**
* 参数解释说明
*/
private String description;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
}
package com.alibaba.cloud.integration.order.service;
import com.alibaba.cloud.integration.common.Result;
public interface PublicService {
Result<?> getPublicParameter();
}
package com.alibaba.cloud.integration.order.service.impl;
import com.alibaba.cloud.integration.common.Result;
import com.alibaba.cloud.integration.order.dao.PubParamsDao;
import com.alibaba.cloud.integration.order.dto.PubParameterRespDTO;
import com.alibaba.cloud.integration.order.service.PublicService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@Slf4j
@Service
public class PublicServiceImpl implements PublicService {
@Autowired
private PubParamsDao pubParamsDao;
@Override
public Result<?> getPublicParameter() {
List<PubParameterRespDTO.Enum> enums = new ArrayList<>();
HashMap<String, String> mapping = getMapping();
for (String k : mapping.keySet()) {
List<?> items = pubParamsDao.findByBiztype(mapping.get(k));
if (!items.isEmpty()) {
PubParameterRespDTO.Enum anEnum = new PubParameterRespDTO.Enum().setItems(items);
enums.add(anEnum);
}
}
PubParameterRespDTO data = new PubParameterRespDTO();
data.setEnums(enums);
return Result.success(data);
}
private HashMap<String, String> getMapping() {
String[] pairs = {
"engineerStatus, EngineerStatus",
"workType, Worktype",
"transportation, Transportation",
"dispatchWeight,Dispatchweight",
"engineerBase,EngineerBase",
"serviceOrderStatus,ServiceOrderStatus",
"assignOrderStatus,AssignOrderStatus",
"serviceType,ServiceType"
};
HashMap<String, String> hashMap = new HashMap<>();
// 遍历键值对
for (String pair : pairs) {
String[] keyValue = pair.split(",");
String key = keyValue[0].trim();
String value = keyValue[1].trim();
hashMap.put(key, value);
}
return hashMap;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!