1.头像上传接口

2.修改工单记录导出接口
main
litao 3 years ago
parent 73a8a1f8b0
commit 9f565cc464
  1. 11
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/controller/WorkOrderController.java
  2. 5
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java
  3. 10
      lab-service/lab-user/lab-user.iml
  4. 35
      lab-service/lab-user/src/main/java/org/springblade/system/jinhong/BaseUtils.java
  5. 156
      lab-service/lab-user/src/main/java/org/springblade/system/jinhong/IdentityInterceptor.java
  6. 90
      lab-service/lab-user/src/main/java/org/springblade/system/jinhong/Validator.java
  7. 26
      lab-service/lab-user/src/main/java/org/springblade/system/user/controller/UserController.java

@ -3,25 +3,18 @@ package org.springblade.plugin.operation.workorder.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.plugin.operation.database.service.IDataBaseService;
import org.springblade.plugin.operation.database.service.IDataTableService;
import org.springblade.plugin.operation.system.service.IModuleInfoService;
import org.springblade.plugin.operation.system.service.IProjectInfoService;
import org.springblade.core.tool.utils.Func;
import org.springblade.plugin.operation.task.entity.TaskInfo;
import org.springblade.plugin.operation.task.service.ITaskInfoService;
import org.springblade.plugin.operation.workorder.entity.WorkOrder;
import org.springblade.plugin.operation.workorder.excel.WorkOrderExcel;
import org.springblade.plugin.operation.workorder.service.IWorkOrderService;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.entity.Dept;
@ -134,7 +127,7 @@ public class WorkOrderController extends BladeController {
@GetMapping("/workOrderExcel")
public void workOrderExcel(WorkOrder workOrder, HttpServletResponse response) {
LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>(workOrder);
wrapper.eq(WorkOrder::getManagement, AuthUtil.getDeptId());
wrapper.in(WorkOrder::getManagement, Func.toStrList(AuthUtil.getDeptId()));
if (workOrder.getTaskType() == null
&& workOrder.getTaskParent() == null
&& workOrder.getManagement() == null

@ -348,7 +348,10 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl<BladeManMadeMappe
while(insertModel <= 0){
try{
insertModel = baseMapper.insert(autoStartModel);
boolean save = this.save(autoStartModel);
if (save) {
insertModel = 1;
}
}catch (Exception e){
e.printStackTrace();
}finally {

@ -191,7 +191,6 @@
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.6.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.4" level="project" />
<orderEntry type="module" module-name="lab-system-api" />
<orderEntry type="library" name="Maven: org.springblade:lab-lims-api:2.8.1.RELEASE" level="project" />
<orderEntry type="module" module-name="lab-resource-api" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-sms:2.8.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.4" level="project" />
@ -221,6 +220,15 @@
<orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.04" level="project" />
<orderEntry type="library" name="Maven: org.apache.ant:ant:1.9.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.ant:ant-launcher:1.9.1" level="project" />
<orderEntry type="module-library">
<library name="Maven: com.yawei.oav2:yawei-pso:2.0.2">
<CLASSES>
<root url="jar://$MODULE_DIR$/../../lab-common/src/main/resources/lib/yawei-pso-2.0.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="library" name="Maven: org.springblade:blade-starter-metrics:2.8.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.6.3" level="project" />
<orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.12" level="project" />

@ -1,35 +0,0 @@
package org.springblade.system.jinhong;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
public class BaseUtils
{
/**
* 获取配置文件中的配置信息
*
* @param key配置文件key值
* @return
* @throws IOException
*/
public static String getConfigValue(String key)
{
try
{
Properties props = new Properties();
InputStream in = BaseUtils.class.getClassLoader()
.getResourceAsStream("config.properties");
BufferedReader bf = new BufferedReader(new InputStreamReader(in,
"UTF-8"));
props.load(bf);
return props.getProperty(key);
}
catch (IOException ex)
{
return "";
}
}
}

@ -1,156 +0,0 @@
package org.springblade.system.jinhong;
import java.net.URLEncoder;
import java.util.Iterator;
import java.util.Map.Entry;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.yawei.pso.PSORequest;
import com.yawei.pso.SSOResponse;
import com.yawei.pso.TicketManager;
/**
* 自定义拦截器拦截符合条件url的请求 身份验证拦截
* (是否有登录用户信息)
*/
@Slf4j
@Component
public class IdentityInterceptor extends HandlerInterceptorAdapter
{
// 读取ssoToken参数
private static final String strToken = BaseUtils.getConfigValue("ssoKey");
public final static String SEESION_USER = "seesion_user";
/**
* 在业务处理器处理请求之前被调用 如果返回false 从当前的拦截器往回执行所有拦截器的afterCompletion(),再退出拦截器链
* 如果返回true 执行下一个拦截器,直到所有的拦截器都执行完毕 再执行被拦截的Controller 然后进入拦截器链,
* 从最后一个拦截器往回执行所有的postHandle() 接着再从最后一个拦截器往回执行所有的afterCompletion()
*/
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception
{
log.debug("==============执行顺序: 1、preHandle================");
// 获取当前请求的url
String requestUri = request.getRequestURI();
Validator validator = Validator.getInstance();
// 注入当前session
// validator.init(request);
String strResponse = request.getParameter(strToken);
//真实环境需要放开如下注释
/**
*
if (strResponse != null)
{
// 如果服务器端通过认证后,会返回后执行改操作,然后写入cookie
SSOResponse ssoResp = new SSOResponse(strResponse);
TicketManager tm = ssoResp.CreatePSOTicket();
if (tm == null)
{
PSORequest psoRequest = new PSORequest(request);
String requeststr = psoRequest.CreateHash();
String keeperUrl = BaseUtils.getConfigValue("keeperUrl");
keeperUrl = keeperUrl + "?" + strToken + "="
+ URLEncoder.encode(requeststr, "UTF-8");
response.sendRedirect(keeperUrl);
}
else
{
String domainName = BaseUtils.getConfigValue("domain");
tm.SaveTicket(response, domainName);
Iterator<Entry<String, String[]>> iterator = request
.getParameterMap().entrySet().iterator();
StringBuffer param = new StringBuffer();
int i = 0;
while (iterator.hasNext())
{
Entry<String, String[]> entry = (Entry<String, String[]>) iterator
.next();
if (entry.getKey().equals(strToken))
continue;
else
{
i++;
if (i == 1)
param.append("?").append(entry.getKey())
.append("=");
else
param.append("&").append(entry.getKey())
.append("=");
if (entry.getValue() instanceof String[])
{
param.append(((String[]) entry.getValue())[0]);
}
else
{
param.append(entry.getValue());
}
}
}
response.sendRedirect(requestUri + param.toString());
return false;
}
}
else
{
TicketManager tm = new TicketManager();
if (!tm.LoadTicket(request))
{
PSORequest psoRequest = new PSORequest(request);
String requeststr = psoRequest.CreateHash();
String keeperUrl = BaseUtils.getConfigValue("keeperUrl");
keeperUrl = keeperUrl + "?" + strToken + "="
+ URLEncoder.encode(requeststr, "UTF-8");
response.sendRedirect(keeperUrl);
return false;
}
}
validator.SetUserTicket(request);
return true;
*/
return false;
}
/**
* 在业务处理器处理请求执行完成后,生成视图之前执行的动作 可在modelAndView中加入数据比如当前时间
*/
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception
{
log.debug("==============执行顺序: 2、postHandle================");
}
/**
* 在DispatcherServlet完全处理完请求后被调用,可用于清理资源等
*
* 当有拦截器抛出异常时,会从当前拦截器往回执行所有的拦截器的afterCompletion()
*/
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception
{
log.debug("==============执行顺序: 3、afterCompletion================");
}
}

@ -1,90 +0,0 @@
package org.springblade.system.jinhong;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import com.yawei.pso.TicketManager;
/**
* 验证器
*/
public class Validator
{
private static ThreadLocal<Validator> validatorHolder = new ThreadLocal<Validator>()
{
protected Validator initialValue()
{
return new Validator();
}
};
// 当前请求的session
private HttpSession session = null;
// 当前的请求
private HttpServletRequest request = null;
private Validator()
{
}
public static Validator getInstance()
{
return validatorHolder.get();
}
/**
* 执行初始化
* @param httpRequest
*/
public void init(HttpServletRequest httpRequest)
{
this.request = httpRequest;
this.session = request.getSession();
}
/**
* 将凭证身份加入到session
* @param httpRequest
*/
public void SetUserTicket(HttpServletRequest httpRequest)
{
try
{
if (httpRequest.getSession()
.getAttribute(IdentityInterceptor.SEESION_USER) == null)
{
TicketManager ticket = new TicketManager();
if (ticket.LoadTicket(httpRequest))
{
// 登录用户姓名
String userName = ticket.getUserName();
// 登录用户账号
String userAccount = ticket.getUserID();
// 登录用户标识
String userGuid = ticket.getADGUID();
System.out.println("===userName===" + userName);
System.out.println("===userAccount===" + userAccount);
System.out.println("===userGuid===" + userGuid);
}
}
else
{
}
}
catch (Exception ex)
{
}
}
/**
* 清除session
*/
public void cancel()
{
this.session = null;
}
}

@ -28,6 +28,7 @@ import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.user.entity.User;
import org.springblade.system.user.excel.UserExcel;
@ -43,6 +44,7 @@ import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.*;
@ -441,4 +443,28 @@ public class UserController {
return R.data(users);
}
}
/**
* 上传头像
*/
@PostMapping("/resultPicture")
public R<String> resultPicture(@RequestParam MultipartFile file) {
String path = "";
if (file != null) {
String fileName = StringUtil.randomUUID() + ".png";
String realPath = sysClient.getParamValue("electronic_signature_real_path").getData() + fileName;
path = sysClient.getParamValue("avatar_path").getData() + fileName;
FileOutputStream fout;
try {
fout = new FileOutputStream(realPath);
fout.write(file.getBytes());
fout.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return R.data(path);
}
}

Loading…
Cancel
Save