Commit 8856858f authored by 王飞's avatar 王飞

Merge branch 'gaixiankang' into 'dev'

PDF - 检验报告模板 (一半)、通过角色名查询用户信息接口

See merge request !109
parents e8d94514 32023026
package com.ruoyi.domain.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 检验报告PDF VO类
* @author gxk
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InspectionReportPdfVO {
/**
* 报告编号
*/
private String reportNumber;
/**
* 产品名称
*/
private String productName;
/**
* 产品型号
*/
private String productModel;
/**
* 委托单位
*/
private String entrustedUnit;
/**
* 检验中心名称
*/
private String inspectionCenterName;
/**
* 检验中心地址
*/
private String inspectionCenterAddress;
/**
* 检验中心电话
*/
private String inspectionCenterTelephone;
/**
* 检验中心邮编
*/
private String inspectionCenterPostcode;
/**
* 委托单位地址
*/
private String clientAddress;
/**
* 委托单位电话
*/
private String entrustedUnitTelephone;
/**
* 委托单位邮编
*/
private String clientPostalCode;
/**
* 样品名称
*/
private String sampleName;
/**
* 型号规格
*/
private String typeSpecification;
/**
* 生产企业
*/
private String productionEnterprise;
/**
* 送样者
*/
private String sampleSender;
/**
* 送样日期
*/
private String sampleDeliveryDate;
/**
* 样品数量
*/
private String sampleQuantity;
/**
* 生产日期
*/
private String productionDate;
/**
* 检验项目
*/
private String inspectionItem;
/**
* 检验结论
*/
private String testConclusion;
/**
* 签发日期
*/
private String issueDate;
/**
* 备注
*/
private String remark;
/**
* 任务编号
*/
private String taskNumber;
/**
*
*/
private String sampleSum;
/**
* 车辆类型
*/
private String vehicleType;
/**
* 车辆识别码
*/
private String vehicleIdentificationNumber;
/**
* 样品编号汇总
*/
private String sampleNumberSummary;
}
package com.ruoyi.service;
import javax.servlet.http.HttpServletResponse;
/**
* PDF模板管理Service接口
* @author gxk
*/
public interface PdfTemplateManagementService {
/**
* 检验报告PDF下载
* @param response
* @throws Exception
*/
void generateInspectionReport(HttpServletResponse response) throws Exception;
}
...@@ -270,60 +270,60 @@ public class BookServiceImpl extends ServiceImpl<BookMapper, Book> implements Bo ...@@ -270,60 +270,60 @@ public class BookServiceImpl extends ServiceImpl<BookMapper, Book> implements Bo
@Override @Override
public void generateTempPDF(HttpServletResponse response) throws Exception { public void generateTempPDF(HttpServletResponse response) throws Exception {
PdfReader reader = null; // PdfReader reader = null;
PdfStamper ps = null; // PdfStamper ps = null;
OutputStream fos = null; // OutputStream fos = null;
ByteArrayOutputStream bos = null; // ByteArrayOutputStream bos = null;
Base64.InputStream fin = null; // Base64.InputStream fin = null;
ServletOutputStream out = null; // ServletOutputStream out = null;
try { // try {
// 模板绝对路径--服务器 // // 模板绝对路径--服务器
String fileName = "/template/receipt_template.pdf"; // String fileName = "/template/receipt_template.pdf";
// 读取现有模板内容 // // 读取现有模板内容
reader = new PdfReader(fileName); // reader = new PdfReader(fileName);
// 创建输出流 // // 创建输出流
bos = new ByteArrayOutputStream(); // bos = new ByteArrayOutputStream();
// 实例化PdfStamper准备编辑pdf内容 // // 实例化PdfStamper准备编辑pdf内容
ps = new PdfStamper(reader, bos); // ps = new PdfStamper(reader, bos);
//
// 获取表单所有元素 // // 获取表单所有元素
AcroFields fields = ps.getAcroFields(); // AcroFields fields = ps.getAcroFields();
//
// 设置具体字体格式的编码, 不设置的话中文可能不会显示 // // 设置具体字体格式的编码, 不设置的话中文可能不会显示
BaseFont bf = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); // BaseFont bf = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
fields.addSubstitutionFont(bf); // fields.addSubstitutionFont(bf);
//
// 动态添加所需要的数据,key跟模板中对应文本域名称一致 // // 动态添加所需要的数据,key跟模板中对应文本域名称一致
Map<String, String> map = new HashMap<>(); // Map<String, String> map = new HashMap<>();
map.put("code", "1234567890fjdksjfdsfdsffdsjfdssssssttttttttttttttt"); // map.put("code", "1234567890fjdksjfdsfdsffdsjfdssssssttttttttttttttt");
map.put("table_image", "C:/Users/gxk/Pictures/Saved Pictures/nvm.png"); // map.put("table_image", "C:/Users/gxk/Pictures/Saved Pictures/nvm.png");
//
// 渲染 // // 渲染
fillData(fields, map, ps); // fillData(fields, map, ps);
//
//必须要调用这个,否则文档不会生成的 // //必须要调用这个,否则文档不会生成的
ps.setFormFlattening(true); // ps.setFormFlattening(true);
if(ps != null){ // if(ps != null){
ps.close(); // ps.close();
} // }
//生成pdf路径存放的路径 // //生成pdf路径存放的路径
fos = response.getOutputStream(); // fos = response.getOutputStream();
fos.write(bos.toByteArray()); // fos.write(bos.toByteArray());
//
}catch (Exception e){ // }catch (Exception e){
e.printStackTrace(); // e.printStackTrace();
}finally { // }finally {
if(fos!=null){ // if(fos!=null){
fos.flush(); // fos.flush();
fos.close(); // fos.close();
} // }
if (bos != null){ // if (bos != null){
bos.close(); // bos.close();
} // }
if(reader != null){ // if(reader != null){
reader.close(); // reader.close();
} // }
} // }
} }
/** /**
...@@ -333,19 +333,19 @@ public class BookServiceImpl extends ServiceImpl<BookMapper, Book> implements Bo ...@@ -333,19 +333,19 @@ public class BookServiceImpl extends ServiceImpl<BookMapper, Book> implements Bo
* @param ps * @param ps
*/ */
public void fillData(AcroFields fields, Map<String, String> data, PdfStamper ps) { public void fillData(AcroFields fields, Map<String, String> data, PdfStamper ps) {
try { // try {
for (String key : data.keySet()) { // for (String key : data.keySet()) {
String value = data.get(key); // String value = data.get(key);
if (key.contains("image")) { // if (key.contains("image")) {
addImageToPdf(key, fields, ps, value); // addImageToPdf(key, fields, ps, value);
continue; // continue;
} // }
// 为字段赋值,注意字段名称是区分大小写的 // // 为字段赋值,注意字段名称是区分大小写的
fields.setField(key, value); // fields.setField(key, value);
} // }
} catch (Exception e) { // } catch (Exception e) {
e.printStackTrace(); // e.printStackTrace();
} // }
} }
/** /**
...@@ -360,21 +360,21 @@ public class BookServiceImpl extends ServiceImpl<BookMapper, Book> implements Bo ...@@ -360,21 +360,21 @@ public class BookServiceImpl extends ServiceImpl<BookMapper, Book> implements Bo
*/ */
private static void addImageToPdf(String key,AcroFields form, PdfStamper stamper, String filePath) throws DocumentException, IOException, IOException { private static void addImageToPdf(String key,AcroFields form, PdfStamper stamper, String filePath) throws DocumentException, IOException, IOException {
// 通过图片域名获取所在页和坐标,左下角为起点 // // 通过图片域名获取所在页和坐标,左下角为起点
int pageNo = form.getFieldPositions(key).get(0).page; // int pageNo = form.getFieldPositions(key).get(0).page;
Rectangle signRect = form.getFieldPositions(key).get(0).position; // Rectangle signRect = form.getFieldPositions(key).get(0).position;
float x = signRect.getLeft(); // float x = signRect.getLeft();
float y = signRect.getBottom(); // float y = signRect.getBottom();
//
// 读图片 // // 读图片
Image image = Image.getInstance(filePath); // Image image = Image.getInstance(filePath);
// 获取操作的页面 // // 获取操作的页面
PdfContentByte under = stamper.getOverContent(pageNo); // PdfContentByte under = stamper.getOverContent(pageNo);
// 根据域的大小缩放图片 // // 根据域的大小缩放图片
image.scaleToFit(signRect.getWidth() * 2, signRect.getHeight()); // image.scaleToFit(signRect.getWidth() * 2, signRect.getHeight());
// 添加图片并设置位置(个人通过此设置使得图片垂直水平居中,可参考,具体情况已实际为准) // // 添加图片并设置位置(个人通过此设置使得图片垂直水平居中,可参考,具体情况已实际为准)
image.setAbsolutePosition(x, y); // image.setAbsolutePosition(x, y);
under.addImage(image); // under.addImage(image);
} }
} }
......
package com.ruoyi.service.impl;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.*;
import com.ruoyi.domain.vo.PhotoStorageVO;
import com.ruoyi.service.PdfTemplateManagementService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.util.Map;
/**
* PDF模板管理Service业务层处理
* @author gxk
*/
@Service
@Transactional
public class PdfTemplateManagementServiceImpl implements PdfTemplateManagementService {
/**
* 检验报告PDF下载
* @param response
*/
@Override
public void generateInspectionReport(HttpServletResponse response) throws Exception {
PdfReader reader = null;
PdfStamper ps = null;
OutputStream fos = null;
ByteArrayOutputStream bos = null;
try {
// 模板绝对路径--服务器
String fileName = "/template/receipt_template_02_27.pdf";
// 读取现有模板内容
reader = new PdfReader(fileName);
// 创建输出流
bos = new ByteArrayOutputStream();
// 实例化PdfStamper准备编辑pdf内容
ps = new PdfStamper(reader, bos);
// 获取表单所有元素
AcroFields fields = ps.getAcroFields();
// 设置具体字体格式的编码, 不设置的话中文可能不会显示
BaseFont bf = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
fields.addSubstitutionFont(bf);
// 渲染
// fillData(fields, map, ps);
renderData(fields);
PhotoStorageVO photoStorageVO = new PhotoStorageVO();
Class<? extends PhotoStorageVO> aClass = photoStorageVO.getClass();
Field[] declaredFields = aClass.getDeclaredFields();
for (Field field : declaredFields) {
String name = field.getName();
System.out.println(name);
}
//必须要调用这个,否则文档不会生成的
ps.setFormFlattening(true);
if(ps != null){
ps.close();
}
//生成pdf路径存放的路径
fos = response.getOutputStream();
fos.write(bos.toByteArray());
}catch (Exception e){
e.printStackTrace();
}finally {
if(fos!=null){
fos.flush();
fos.close();
}
if (bos != null){
bos.close();
}
if(reader != null){
reader.close();
}
}
}
/**
* 渲染数据
* @param fields
*/
private void renderData(AcroFields fields) {
}
/**
* 填充模板中的数据
* @param fields
* @param data 是一个Map<String,String> 主要存储 key 表单模板中的单元格名 value为想要赋的值,遍历
* @param ps
*/
public void fillData(AcroFields fields, Map<String, String> data, PdfStamper ps) {
try {
for (String key : data.keySet()) {
String value = data.get(key);
if (key.contains("image")) {
addImageToPdf(key, fields, ps, value);
continue;
}
// 为字段赋值,注意字段名称是区分大小写的
fields.setField(key, value);
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 添加图片
* @param key 应为模板名
* @param form 动态字段
* @param stamper
* @param filePath 本地图片路径
* @throws DocumentException
* @throws IOException
* @throws IOException
*/
private static void addImageToPdf(String key,AcroFields form, PdfStamper stamper, String filePath) throws DocumentException, IOException, IOException {
// 通过图片域名获取所在页和坐标,左下角为起点
int pageNo = form.getFieldPositions(key).get(0).page;
Rectangle signRect = form.getFieldPositions(key).get(0).position;
float x = signRect.getLeft();
float y = signRect.getBottom();
// 读图片
Image image = Image.getInstance(filePath);
// 获取操作的页面
PdfContentByte under = stamper.getOverContent(pageNo);
// 根据域的大小缩放图片
image.scaleToFit(signRect.getWidth() * 2, signRect.getHeight());
// 添加图片并设置位置(个人通过此设置使得图片垂直水平居中,可参考,具体情况已实际为准)
image.setAbsolutePosition(x, y);
under.addImage(image);
}
/**
* 通过属性名获取属性在对象里的值
* @param obj
* @param propertyName
* @return
* @param <T>
*/
public static <T> T getPropertyValue(Object obj, String propertyName) {
try {
// 获取对象的类
Class<?> objClass = obj.getClass();
// 获取类的指定属性
Field field = objClass.getDeclaredField(propertyName);
// 设置属性为可访问
field.setAccessible(true);
// 获取属性的值
@SuppressWarnings("unchecked")
T value = (T) field.get(obj);
return value;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
package com.ruoyi.web;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.service.PdfTemplateManagementService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
/**
* @author gxk
*/
@Api(tags = "PDF模板管理")
@RestController
@RequestMapping("/pdf")
public class PdfTemplateManagementController {
@Autowired
private PdfTemplateManagementService pdfTemplateManagementService;
/**
* 检验报告PDF下载
* @param response
*/
@Anonymous
@ApiOperation("检验报告PDF下载")
@GetMapping(value = "/inspectionReport", produces = "application/json")
public void download(HttpServletResponse response) {
response.setHeader("content-disposition","attachment;fileName="+"ReceiptPrinter.pdf");
try {
// demo-模板
pdfTemplateManagementService.generateInspectionReport(response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.ruoyi.web; package com.ruoyi.web;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
......
package com.ruoyi.web.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* 通过角色查询用户信息DTO
* @author gxk
*/
@Data
@ApiModel
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserByRoleRequest {
@ApiModelProperty("角色名称")
@NotNull(message = "角色名称不能为空")
@NotEmpty(message = "角色名称不能为空")
private String roleName;
}
...@@ -3,6 +3,12 @@ package com.ruoyi.web.controller.system; ...@@ -3,6 +3,12 @@ package com.ruoyi.web.controller.system;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.collection.CollUtil;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.web.request.UserByRoleRequest;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.skywalking.apm.toolkit.trace.Tag; import org.apache.skywalking.apm.toolkit.trace.Tag;
import org.apache.skywalking.apm.toolkit.trace.Tags; import org.apache.skywalking.apm.toolkit.trace.Tags;
...@@ -37,9 +43,10 @@ import com.ruoyi.system.service.ISysUserService; ...@@ -37,9 +43,10 @@ import com.ruoyi.system.service.ISysUserService;
/** /**
* 用户信息 * 用户信息
* *
* @author ruoyi * @author ruoyi
*/ */
@Api(tags = "用户信息")
@RestController @RestController
@RequestMapping("/system/user") @RequestMapping("/system/user")
public class SysUserController extends BaseController public class SysUserController extends BaseController
...@@ -70,6 +77,26 @@ public class SysUserController extends BaseController ...@@ -70,6 +77,26 @@ public class SysUserController extends BaseController
return getDataTable(list); return getDataTable(list);
} }
/**
* 通过角色名获取用户信息
* @param request
* @return
*/
@ApiOperation("通过角色名获取用户信息")
@PostMapping("/getUserByRole")
public R<List<SysUser>> getUserByRole(@Validated @RequestBody UserByRoleRequest request) {
// 通过角色名获取角色信息
SysRole role = new SysRole();
role.setRoleName(request.getRoleName());
List<SysRole> roleList = roleService.selectRoleList(role);
if (CollUtil.isNotEmpty(roleList)) {
List<SysUser> list = userService.selectUserListByRoleId(roleList.get(0).getRoleId());
return R.ok(list);
} else {
return R.fail("角色不存在");
}
}
@Trace @Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "param1", value = "arg[1]"), @Tag(key = "result", value = "returnedObj")}) @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "param1", value = "arg[1]"), @Tag(key = "result", value = "returnedObj")})
@Log(title = "用户管理", businessType = BusinessType.EXPORT) @Log(title = "用户管理", businessType = BusinessType.EXPORT)
......
...@@ -5,7 +5,7 @@ import com.ruoyi.common.core.domain.entity.SysUser; ...@@ -5,7 +5,7 @@ import com.ruoyi.common.core.domain.entity.SysUser;
/** /**
* 用户 业务层 * 用户 业务层
* *
* @author ruoyi * @author ruoyi
*/ */
public interface ISysUserService public interface ISysUserService
...@@ -20,7 +20,7 @@ public interface ISysUserService ...@@ -20,7 +20,7 @@ public interface ISysUserService
/** /**
* 根据条件分页查询用户列表 * 根据条件分页查询用户列表
* *
* @param user 用户信息 * @param user 用户信息
* @return 用户信息集合信息 * @return 用户信息集合信息
*/ */
...@@ -28,7 +28,7 @@ public interface ISysUserService ...@@ -28,7 +28,7 @@ public interface ISysUserService
/** /**
* 根据条件分页查询已分配用户角色列表 * 根据条件分页查询已分配用户角色列表
* *
* @param user 用户信息 * @param user 用户信息
* @return 用户信息集合信息 * @return 用户信息集合信息
*/ */
...@@ -43,7 +43,7 @@ public interface ISysUserService ...@@ -43,7 +43,7 @@ public interface ISysUserService
/** /**
* 根据条件分页查询未分配用户角色列表 * 根据条件分页查询未分配用户角色列表
* *
* @param user 用户信息 * @param user 用户信息
* @return 用户信息集合信息 * @return 用户信息集合信息
*/ */
...@@ -51,7 +51,7 @@ public interface ISysUserService ...@@ -51,7 +51,7 @@ public interface ISysUserService
/** /**
* 通过用户名查询用户 * 通过用户名查询用户
* *
* @param userName 用户名 * @param userName 用户名
* @return 用户对象信息 * @return 用户对象信息
*/ */
...@@ -59,7 +59,7 @@ public interface ISysUserService ...@@ -59,7 +59,7 @@ public interface ISysUserService
/** /**
* 通过用户ID查询用户 * 通过用户ID查询用户
* *
* @param userId 用户ID * @param userId 用户ID
* @return 用户对象信息 * @return 用户对象信息
*/ */
...@@ -67,7 +67,7 @@ public interface ISysUserService ...@@ -67,7 +67,7 @@ public interface ISysUserService
/** /**
* 根据用户ID查询用户所属角色组 * 根据用户ID查询用户所属角色组
* *
* @param userName 用户名 * @param userName 用户名
* @return 结果 * @return 结果
*/ */
...@@ -75,7 +75,7 @@ public interface ISysUserService ...@@ -75,7 +75,7 @@ public interface ISysUserService
/** /**
* 根据用户ID查询用户所属岗位组 * 根据用户ID查询用户所属岗位组
* *
* @param userName 用户名 * @param userName 用户名
* @return 结果 * @return 结果
*/ */
...@@ -83,7 +83,7 @@ public interface ISysUserService ...@@ -83,7 +83,7 @@ public interface ISysUserService
/** /**
* 校验用户名称是否唯一 * 校验用户名称是否唯一
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -107,21 +107,21 @@ public interface ISysUserService ...@@ -107,21 +107,21 @@ public interface ISysUserService
/** /**
* 校验用户是否允许操作 * 校验用户是否允许操作
* *
* @param user 用户信息 * @param user 用户信息
*/ */
public void checkUserAllowed(SysUser user); public void checkUserAllowed(SysUser user);
/** /**
* 校验用户是否有数据权限 * 校验用户是否有数据权限
* *
* @param userId 用户id * @param userId 用户id
*/ */
public void checkUserDataScope(Long userId); public void checkUserDataScope(Long userId);
/** /**
* 新增用户信息 * 新增用户信息
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -129,7 +129,7 @@ public interface ISysUserService ...@@ -129,7 +129,7 @@ public interface ISysUserService
/** /**
* 注册用户信息 * 注册用户信息
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -137,7 +137,7 @@ public interface ISysUserService ...@@ -137,7 +137,7 @@ public interface ISysUserService
/** /**
* 修改用户信息 * 修改用户信息
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -145,7 +145,7 @@ public interface ISysUserService ...@@ -145,7 +145,7 @@ public interface ISysUserService
/** /**
* 用户授权角色 * 用户授权角色
* *
* @param userId 用户ID * @param userId 用户ID
* @param roleIds 角色组 * @param roleIds 角色组
*/ */
...@@ -153,7 +153,7 @@ public interface ISysUserService ...@@ -153,7 +153,7 @@ public interface ISysUserService
/** /**
* 修改用户状态 * 修改用户状态
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -161,7 +161,7 @@ public interface ISysUserService ...@@ -161,7 +161,7 @@ public interface ISysUserService
/** /**
* 修改用户基本信息 * 修改用户基本信息
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -169,7 +169,7 @@ public interface ISysUserService ...@@ -169,7 +169,7 @@ public interface ISysUserService
/** /**
* 修改用户头像 * 修改用户头像
* *
* @param userName 用户名 * @param userName 用户名
* @param avatar 头像地址 * @param avatar 头像地址
* @return 结果 * @return 结果
...@@ -178,7 +178,7 @@ public interface ISysUserService ...@@ -178,7 +178,7 @@ public interface ISysUserService
/** /**
* 重置用户密码 * 重置用户密码
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
...@@ -186,7 +186,7 @@ public interface ISysUserService ...@@ -186,7 +186,7 @@ public interface ISysUserService
/** /**
* 重置用户密码 * 重置用户密码
* *
* @param userName 用户名 * @param userName 用户名
* @param password 密码 * @param password 密码
* @return 结果 * @return 结果
...@@ -195,7 +195,7 @@ public interface ISysUserService ...@@ -195,7 +195,7 @@ public interface ISysUserService
/** /**
* 通过用户ID删除用户 * 通过用户ID删除用户
* *
* @param userId 用户ID * @param userId 用户ID
* @return 结果 * @return 结果
*/ */
...@@ -203,7 +203,7 @@ public interface ISysUserService ...@@ -203,7 +203,7 @@ public interface ISysUserService
/** /**
* 批量删除用户信息 * 批量删除用户信息
* *
* @param userIds 需要删除的用户ID * @param userIds 需要删除的用户ID
* @return 结果 * @return 结果
*/ */
...@@ -211,11 +211,12 @@ public interface ISysUserService ...@@ -211,11 +211,12 @@ public interface ISysUserService
/** /**
* 导入用户数据 * 导入用户数据
* *
* @param userList 用户数据列表 * @param userList 用户数据列表
* @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
* @param operName 操作用户 * @param operName 操作用户
* @return 结果 * @return 结果
*/ */
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName); public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
} }
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