Merge remote-tracking branch 'remotes/origin/dev' into test

yun-zuoyi
汪云昊 5 years ago
commit bdca81cd58

@ -30,7 +30,7 @@ public interface ISysLocaleResourceService {
void deleteSysLocaleResourceById(Long id);
@ApiOperation(value = "查询全部系统资源",notes = "查询全部系统资源")
List listSysLocaleResource();
List<SysLocaleResource> listSysLocaleResource();
@ApiOperation(value = "系统资源复杂查询,分页,排序",notes = "系统资源复杂查询,分页,排序")
ListPager querySysLocaleResourceByPager(SysLocaleResource sysLocaleResource, Pager pager);
@ -57,4 +57,5 @@ public interface ISysLocaleResourceService {
@ApiOperation(value = "添加初始化资源")
void insertInitSysLocaleResourceList(List<SysLocaleResource> sysLocaleResources);
}

@ -26,29 +26,14 @@ import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.*;
import java.util.*;
/**
* @Description :
@ -302,12 +287,19 @@ public class SysLocaleResourceController extends CoreBaseController {
List<SysLocaleResource> sysLocaleResourceList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(),
SysLocaleResource.class);
// 初始化数据
for (SysLocaleResource sysOrderNoRule : sysLocaleResourceList) {
sysOrderNoRule.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
ConvertBean.modelInitialize(sysOrderNoRule, AuthUtil.getSessionUser());
// 初始化数据,资源去重
Map<String, SysLocaleResource> itemMap = new HashMap<>();
String resourceKey;
for (SysLocaleResource localeResource : sysLocaleResourceList) {
localeResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
ConvertBean.modelInitialize(localeResource, AuthUtil.getSessionUser());
resourceKey = localeResource.getResourceKey() + localeResource.getLanguageCode();
itemMap.put(resourceKey, localeResource);
}
sysLocaleResourceService.insertInitSysLocaleResourceList(sysLocaleResourceList);
sysLocaleResourceService.insertInitSysLocaleResourceList(new ArrayList<>(itemMap.values()));
// 重新加载资源
systemInitService.putAndLoadSysLocaleLanguage();
@ -372,4 +364,66 @@ public class SysLocaleResourceController extends CoreBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/increment-import")
@ApiOperation(value = "增量导入系统资源")
public ResultBean incrementImportSysLocaleResource(@RequestParam("file") MultipartFile file){
try {
ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
List<SysLocaleResource> sysLocaleResourceList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(),
SysLocaleResource.class);
// 初始化数据
SysLocaleResource orginResource;
for (SysLocaleResource resource : sysLocaleResourceList) {
orginResource = sysLocaleResourceService.getSysLocaleResourceByLanguageCodeAndResKey(resource.getLanguageCode()
,resource.getResourceKey());
// 是否存在
if (orginResource!=null) {
resource.setId(orginResource.getId());
}
resource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
ConvertBean.modelInitialize(resource, AuthUtil.getSessionUser());
}
sysLocaleResourceService.saveSysLocaleResource(sysLocaleResourceList);
// 重新加载资源
systemInitService.putAndLoadSysLocaleLanguage();
return ResultBean.success("导入成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (BaseImppException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
* n
* @param <T>
*
* @param list
* @param len
* @return
*/
public static <T> List<List<T>> splitList(List<T> list, int len) {
if (list == null || list.isEmpty() || len < 1) {
return Collections.emptyList();
}
List<List<T>> result = new ArrayList<>();
int size = list.size();
int count = (size + len - 1) / len;
for (int i = 0; i < count; i++) {
List<T> subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1)));
result.add(subList);
}
return result;
}
}

@ -38,7 +38,7 @@ public class I3CoreQueueReceiver {
@RabbitListener(queues = QUEUE_IMPP_MESSAGE)
public void processImppMessage(SysMessage msg, Channel channel, Message message) {
try {
LOGGER.info("【MQ-QUEUE_IMPP_MESSAGE】数据接收成功{}",msg);
LOGGER.debug("【MQ-QUEUE_IMPP_MESSAGE】数据接收成功{}",msg);
//信息已处理
channel.basicAck(message.getMessageProperties().getDeliveryTag(),false);

@ -66,7 +66,7 @@ public class MessageLetterQueueReceiver {
*/
@RabbitListener(queues = PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER)
public void processImppMessage(String data, Channel channel, Message message) {
LOGGER.info("【MQ-{}】 数据接收成功:{}", PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER, data);
LOGGER.debug("【MQ-{}】 数据接收成功:{}", PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER, data);
SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
try {
ConvertBean.serviceModelInitialize(msg, "system");

@ -55,7 +55,7 @@ public class MessageMailQueueReceiver {
SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
Long startTime = System.currentTimeMillis();
try {
LOGGER.info("【MQ-QUEUE_IMPP_MESSAGE_MAIL】数据接收成功{}", msg);
LOGGER.debug("【MQ-QUEUE_IMPP_MESSAGE_MAIL】数据接收成功{}", msg);
if (msg.getMessageSendTime() == null) {
msg.setMessageSendTime(TimeTool.getNowTime(true));
}

@ -60,7 +60,7 @@ public class MessageSWebNoticeQueueReceiver {
*/
@RabbitListener(queues = PlatformConstWords.QUEUE_SWEB_NOTICE)
public void processImppMail(String data, Channel channel, Message message) {
LOGGER.info("【MQ-{}】 数据接收成功:{}", PlatformConstWords.QUEUE_SWEB_NOTICE, data);
LOGGER.debug("【MQ-{}】 数据接收成功:{}", PlatformConstWords.QUEUE_SWEB_NOTICE, data);
// 添加消息
SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
try {

@ -59,7 +59,7 @@ public class ScheduleQueueReceiver {
public void processSchedule(String data, Channel channel, Message message) {
try {
SysLogTaskTime logTaskTime = JsonUtilTool.decode(data, SysLogTaskTime.class);
LOGGER.info("【MQ-QUEUE_IMPP_SCHEDULE】数据接收成功{}", logTaskTime);
LOGGER.debug("【MQ-QUEUE_IMPP_SCHEDULE】数据接收成功{}", logTaskTime);
// 跟新最后执行时间 及 任务状态
if(logTaskTime != null){
SysTaskPlan taskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(logTaskTime.getName(), logTaskTime.getGroupName());

@ -26,10 +26,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -222,58 +220,7 @@ public class SysLocaleResourceService implements ISysLocaleResourceService {
@Override
public void insertInitSysLocaleResourceList(List<SysLocaleResource> sysLocaleResourceList) {
sysLocaleResourceRDao.deleteAll();
// 资源去重
Map<String, Map<String, SysLocaleResource>> resourceMap = new HashMap<>();
Map<String, SysLocaleResource> itemMap;
for (SysLocaleResource localeResource : sysLocaleResourceList) {
if (resourceMap.containsKey(localeResource.getResourceKey())) {
itemMap = resourceMap.get(localeResource.getResourceKey());
} else {
itemMap = new HashMap<>();
resourceMap.put(localeResource.getResourceKey(), itemMap);
}
itemMap.put(localeResource.getLanguageCode(), localeResource);
}
List<SysLocaleResource> resourceList = new ArrayList<>();
for (String key : resourceMap.keySet()) {
for (SysLocaleResource value : resourceMap.get(key).values()) {
resourceList.add(value);
}
}
for (List<SysLocaleResource> sysLocaleResources : splitList(resourceList, 1000)) {
sysLocaleResourceRDao.saveAll(sysLocaleResources);
}
sysLocaleResourceRDao.saveAll(sysLocaleResourceList);
}
/**
* n
* @param <T>
*
* @param list
* @param len
* @return
*/
public static <T> List<List<T>> splitList(List<T> list, int len) {
if (list == null || list.isEmpty() || len < 1) {
return Collections.emptyList();
}
List<List<T>> result = new ArrayList<>();
int size = list.size();
int count = (size + len - 1) / len;
for (int i = 0; i < count; i++) {
List<T> subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1)));
result.add(subList);
}
return result;
}
}

Loading…
Cancel
Save