新购绑定
This commit is contained in:
parent
0b5f0bea3f
commit
cc0f05de55
|
|
@ -0,0 +1,90 @@
|
||||||
|
package com.bonus.material.purchase.config;
|
||||||
|
|
||||||
|
import com.bonus.common.core.constant.SecurityConstants;
|
||||||
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
|
import com.bonus.system.api.RemoteDictDataService;
|
||||||
|
import com.bonus.system.api.RemoteUserService;
|
||||||
|
import com.bonus.system.api.domain.SysDictData;
|
||||||
|
import com.bonus.system.api.domain.SysUser;
|
||||||
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 框架远程调用配置类
|
||||||
|
* @Author ma_sh
|
||||||
|
* @create 2024/10/23 16:10
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class RemoteConfig {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private RemoteDictDataService remoteDictDataService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private RemoteUserService remoteUserService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取字典值
|
||||||
|
* @param dictType
|
||||||
|
* @param dictLabel
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public String getDictValue(String dictType, String dictLabel) {
|
||||||
|
try {
|
||||||
|
Map<String, String> dictMap = new LinkedHashMap<>();
|
||||||
|
AjaxResult ajaxResult = remoteDictDataService.dictType(dictType, SecurityConstants.INNER);
|
||||||
|
if (ajaxResult.isSuccess()) {
|
||||||
|
// 假设 ajaxResult.get("data") 返回的是 List<LinkedHashMap>
|
||||||
|
List<LinkedHashMap> rawData = (List<LinkedHashMap>) ajaxResult.get("data");
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||||
|
// 将 rawData 转换为 SysDictData 列表
|
||||||
|
List<SysDictData> dataList = rawData.stream()
|
||||||
|
.map(rawDatum -> objectMapper.convertValue(rawDatum, SysDictData.class))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
// 使用 Map 存储字典数据以提高查找速度
|
||||||
|
dictMap = dataList.stream()
|
||||||
|
.collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel));
|
||||||
|
}
|
||||||
|
return dictMap.get(dictLabel);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("远程调用查询字典键值失败:", e.getMessage());
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户名
|
||||||
|
* @param userId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public String getUserName(String userId) {
|
||||||
|
try {
|
||||||
|
String userName = "";
|
||||||
|
AjaxResult ajaxResult = remoteUserService.getInfo(Long.parseLong(userId), SecurityConstants.INNER);
|
||||||
|
if (ajaxResult.isSuccess()) {
|
||||||
|
// ajaxResult.get("data") 返回的是 LinkedHashMap
|
||||||
|
LinkedHashMap<String, Object> rawDataList = (LinkedHashMap<String, Object>) ajaxResult.get("data");
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||||
|
if (rawDataList != null) {
|
||||||
|
SysUser sysUser = objectMapper.convertValue(rawDataList, SysUser.class);
|
||||||
|
userName = sysUser.getNickName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return userName;
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
log.error("远程调用查询用户名失败:", e.getMessage());
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -36,7 +36,7 @@ public class PurchaseBindController extends BaseController {
|
||||||
* 一级分页查询
|
* 一级分页查询
|
||||||
*/
|
*/
|
||||||
@ApiOperation(value = "查询新购验收绑定详细列表")
|
@ApiOperation(value = "查询新购验收绑定详细列表")
|
||||||
@RequiresPermissions("purchase:bind:list")
|
//@RequiresPermissions("purchase:bind:list")
|
||||||
@GetMapping(value = "/list")
|
@GetMapping(value = "/list")
|
||||||
public TableDataInfo getList(PurchaseDto dto) {
|
public TableDataInfo getList(PurchaseDto dto) {
|
||||||
startPage();
|
startPage();
|
||||||
|
|
|
||||||
|
|
@ -5,22 +5,15 @@ import com.bonus.common.biz.config.DateTimeHelper;
|
||||||
import com.bonus.common.biz.config.QrCodeUtils;
|
import com.bonus.common.biz.config.QrCodeUtils;
|
||||||
import com.bonus.common.biz.constant.MaterialConstants;
|
import com.bonus.common.biz.constant.MaterialConstants;
|
||||||
import com.bonus.common.biz.enums.HttpCodeEnum;
|
import com.bonus.common.biz.enums.HttpCodeEnum;
|
||||||
import com.bonus.common.core.constant.SecurityConstants;
|
|
||||||
import com.bonus.common.core.utils.DateUtils;
|
import com.bonus.common.core.utils.DateUtils;
|
||||||
import com.bonus.common.core.web.domain.AjaxResult;
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.common.security.utils.SecurityUtils;
|
import com.bonus.common.security.utils.SecurityUtils;
|
||||||
import com.bonus.material.basic.domain.BmUnit;
|
import com.bonus.material.purchase.config.RemoteConfig;
|
||||||
import com.bonus.material.purchase.dto.PurchaseDto;
|
import com.bonus.material.purchase.dto.PurchaseDto;
|
||||||
import com.bonus.material.purchase.mapper.PurchaseBindMapper;
|
import com.bonus.material.purchase.mapper.PurchaseBindMapper;
|
||||||
import com.bonus.material.purchase.service.IPurchaseBindService;
|
import com.bonus.material.purchase.service.IPurchaseBindService;
|
||||||
import com.bonus.material.purchase.vo.PurchaseVo;
|
import com.bonus.material.purchase.vo.PurchaseVo;
|
||||||
import com.bonus.material.task.mapper.TmTaskMapper;
|
import com.bonus.material.task.mapper.TmTaskMapper;
|
||||||
import com.bonus.system.api.RemoteDictDataService;
|
|
||||||
import com.bonus.system.api.RemoteUserService;
|
|
||||||
import com.bonus.system.api.domain.SysDictData;
|
|
||||||
import com.bonus.system.api.domain.SysUser;
|
|
||||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import com.google.zxing.WriterException;
|
import com.google.zxing.WriterException;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
|
@ -46,14 +39,11 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
||||||
@Resource
|
@Resource
|
||||||
private PurchaseBindMapper purchaseBindMapper;
|
private PurchaseBindMapper purchaseBindMapper;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private RemoteUserService remoteUserService;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private TmTaskMapper tmTaskMapper;
|
private TmTaskMapper tmTaskMapper;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private RemoteDictDataService remoteDictDataService;
|
private RemoteConfig remoteConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询所有绑定信息
|
* 查询所有绑定信息
|
||||||
|
|
@ -92,38 +82,11 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
||||||
* @param list
|
* @param list
|
||||||
*/
|
*/
|
||||||
private void extracted(List<PurchaseVo> list) {
|
private void extracted(List<PurchaseVo> list) {
|
||||||
try {
|
for (PurchaseVo purchaseVo : list) {
|
||||||
AjaxResult result = remoteDictDataService.dictType("purchase_task_status", SecurityConstants.INNER);
|
String userName = remoteConfig.getUserName(purchaseVo.getCreateBy());
|
||||||
if (result.isSuccess()) {
|
purchaseVo.setCreateBy(userName == null ? "" : userName);
|
||||||
// 假设 ajaxResult.get("data") 返回的是 List<LinkedHashMap>
|
String dictValue = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString());
|
||||||
List<LinkedHashMap> rawData = (List<LinkedHashMap>) result.get("data");
|
purchaseVo.setStatusName(dictValue == null ? "" : dictValue);
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
|
||||||
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
||||||
// 将 rawData 转换为 SysDictData 列表
|
|
||||||
List<SysDictData> dataList = rawData.stream()
|
|
||||||
.map(rawDatum -> mapper.convertValue(rawDatum, SysDictData.class))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
// 使用 Map 存储字典数据以提高查找速度
|
|
||||||
Map<String, String> dictMap = dataList.stream()
|
|
||||||
.collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel));
|
|
||||||
for (PurchaseVo purchaseVo : list) {
|
|
||||||
AjaxResult ajaxResult = remoteUserService.getInfo(Long.parseLong(purchaseVo.getCreateBy()), SecurityConstants.INNER);
|
|
||||||
if (ajaxResult.isSuccess()) {
|
|
||||||
// ajaxResult.get("data") 返回的是 LinkedHashMap
|
|
||||||
LinkedHashMap<String, Object> rawDataList = (LinkedHashMap<String, Object>) ajaxResult.get("data");
|
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
||||||
if (rawDataList != null) {
|
|
||||||
SysUser sysUser = objectMapper.convertValue(rawDataList, SysUser.class);
|
|
||||||
purchaseVo.setCreateBy(sysUser.getNickName() == null ? "" : sysUser.getNickName());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
String name = dictMap.get(purchaseVo.getStatus().toString());
|
|
||||||
purchaseVo.setStatusName(name == null ? "" : name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -150,35 +113,13 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
||||||
@Override
|
@Override
|
||||||
public List<PurchaseVo> getDetails(PurchaseDto dto) {
|
public List<PurchaseVo> getDetails(PurchaseDto dto) {
|
||||||
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
|
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
|
||||||
extractedDict(list);
|
if (CollectionUtils.isNotEmpty(list)) {
|
||||||
return list;
|
for (PurchaseVo purchaseVo : list) {
|
||||||
}
|
String name = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString());
|
||||||
|
purchaseVo.setStatusName(name == null ? "" : name);
|
||||||
private void extractedDict(List<PurchaseVo> list) {
|
|
||||||
try {
|
|
||||||
AjaxResult ajaxResult = remoteDictDataService.dictType("purchase_task_status", SecurityConstants.INNER);
|
|
||||||
if (ajaxResult.isSuccess()) {
|
|
||||||
// 假设 ajaxResult.get("data") 返回的是 List<LinkedHashMap>
|
|
||||||
List<LinkedHashMap> rawData = (List<LinkedHashMap>) ajaxResult.get("data");
|
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
||||||
// 将 rawData 转换为 SysDictData 列表
|
|
||||||
List<SysDictData> dataList = rawData.stream()
|
|
||||||
.map(rawDatum -> objectMapper.convertValue(rawDatum, SysDictData.class))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
// 使用 Map 存储字典数据以提高查找速度
|
|
||||||
Map<String, String> dictMap = dataList.stream()
|
|
||||||
.collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel));
|
|
||||||
if (CollectionUtils.isNotEmpty(list)) {
|
|
||||||
for (PurchaseVo purchaseVo : list) {
|
|
||||||
String name = dictMap.get(purchaseVo.getStatus().toString());
|
|
||||||
purchaseVo.setStatusName(name == null ? "" : name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("远程服务调用查询失败:", e.getMessage());
|
|
||||||
}
|
}
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue