Commit 5c662b43 authored by chenying's avatar chenying

6.12修改权限,修改下载数据,修改用户添加接口

parent 00afa7d3
......@@ -160,39 +160,57 @@ public class WarehouseExcel {
/** 循环创建仓库数据行数
* */
rowCount=rowCount+1;
HSSFCellStyle rowStyle = getStyle(workbook);
for(int i = 0;i<resultWarehouseNoAndTDLSNAndTimeVo.get(a).getDownloadWarehouseVos().size();i++) {
HSSFRow row = sheet.createRow((short) rowCount + i);
if (resultWarehouseNoAndTDLSNAndTimeVo.get(a).getDownloadWarehouseVos().size()==0){
HSSFRow row = sheet.createRow((short) rowCount);
HSSFCell cell = null;
Long time=Long.valueOf(resultWarehouseNoAndTDLSNAndTimeVo.get(a).getDownloadWarehouseVos().get(i).getTime());
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=new Date(time);
cell2 = row2.createCell(1);
cell2.setCellValue(date.getYear());
cell2.setCellStyle(rowStyle);
cell = row.createCell(0);
cell.setCellValue(date.getMonth()+1);
cell.setCellStyle(rowStyle);
cell = row.createCell(1);
cell.setCellValue(date.getDay());
cell.setCellStyle(rowStyle);
cell = row.createCell(2);
cell.setCellValue(date.getHours()+":"+date.getMinutes());
cell.setCellStyle(rowStyle);
cell = row.createCell(3);
cell.setCellValue("-");
cell.setCellStyle(rowStyle);
cell = row.createCell(4);
cell.setCellValue(resultWarehouseNoAndTDLSNAndTimeVo.get(a).getDownloadWarehouseVos().get(i).getTemperature());
cell.setCellStyle(rowStyle);
cell = row.createCell(5);
cell.setCellValue(resultWarehouseNoAndTDLSNAndTimeVo.get(a).getDownloadWarehouseVos().get(i).getHumidity());
cell.setCellStyle(rowStyle);
cell = row.createCell(6);
cell.setCellValue(resultWarehouseNoAndTDLSNAndTimeVo.get(a).getDownloadWarehouseVos().get(i).getAlarm());
cell.setCellStyle(rowStyle);
HSSFCellStyle rowStyle = getStyle(workbook);
for (int n = 0; n < 7; n++) {
cell = row.createCell(n);
//设置列的格式
cell.setCellStyle(rowStyle);
//将标题添加到列中
cell.setCellValue(new HSSFRichTextString(resultWarehouseNoAndTDLSNAndTimeVo.get(a).getGatewaySN()+"该时间段没有数据"));
}
//设置行高
row.setHeight((short) (26 * 20));
//合并单元格(参数1:起始行,参数2:截至行,参数3:起始列,参数4:截至列)
sheet.addMergedRegion(new CellRangeAddress(rowCount, rowCount, 0, 6));
rowCount=rowCount+1;
}else{
HSSFCellStyle rowStyle = getStyle(workbook);
for(int i = 0;i<resultWarehouseNoAndTDLSNAndTimeVo.get(a).getDownloadWarehouseVos().size();i++) {
HSSFRow row = sheet.createRow((short) rowCount + i);
HSSFCell cell = null;
Long time=Long.valueOf(resultWarehouseNoAndTDLSNAndTimeVo.get(a).getDownloadWarehouseVos().get(i).getTime());
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=new Date(time);
cell2 = row2.createCell(1);
cell2.setCellValue(date.getYear());
cell2.setCellStyle(rowStyle);
cell = row.createCell(0);
cell.setCellValue(date.getMonth()+1);
cell.setCellStyle(rowStyle);
cell = row.createCell(1);
cell.setCellValue(date.getDay());
cell.setCellStyle(rowStyle);
cell = row.createCell(2);
cell.setCellValue(date.getHours()+":"+date.getMinutes());
cell.setCellStyle(rowStyle);
cell = row.createCell(3);
cell.setCellValue("-");
cell.setCellStyle(rowStyle);
cell = row.createCell(4);
cell.setCellValue(resultWarehouseNoAndTDLSNAndTimeVo.get(a).getDownloadWarehouseVos().get(i).getTemperature());
cell.setCellStyle(rowStyle);
cell = row.createCell(5);
cell.setCellValue(resultWarehouseNoAndTDLSNAndTimeVo.get(a).getDownloadWarehouseVos().get(i).getHumidity());
cell.setCellStyle(rowStyle);
cell = row.createCell(6);
cell.setCellValue(resultWarehouseNoAndTDLSNAndTimeVo.get(a).getDownloadWarehouseVos().get(i).getAlarm());
cell.setCellStyle(rowStyle);
row.setHeight((short) (26 * 20));
}
}
rowCount=rowCount+resultWarehouseNoAndTDLSNAndTimeVo.get(a).getDownloadWarehouseVos().size();
}
......
package com.example.tdl.domain.vo;
import java.util.List;
public class AddRoleForWitiumVo {
private String companyName;
private String roleName;
private String remark;
private List<String> permissionGroupVos;
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public List<String> getPermissionGroupVos() {
return permissionGroupVos;
}
public void setPermissionGroupVos(List<String> permissionGroupVos) {
this.permissionGroupVos = permissionGroupVos;
}
}
......@@ -7,8 +7,6 @@ public class DownloadForWarehouseVo {
private String warehouseNo;
private String TDLSN;
public String getStartTime() {
return startTime;
}
......@@ -33,11 +31,4 @@ public class DownloadForWarehouseVo {
this.warehouseNo = warehouseNo;
}
public String getTDLSN() {
return TDLSN;
}
public void setTDLSN(String TDLSN) {
this.TDLSN = TDLSN;
}
}
......@@ -21,6 +21,26 @@ public class ResultWarehouseNoAndTDLSNAndTimeVo {
private Float humidityMin;
private String createTime;
private String endTime;
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
private List<DownloadWarehouseVo> downloadWarehouseVos;
public List<DownloadWarehouseVo> getDownloadWarehouseVos() {
......
package com.example.tdl.domain.vo;
import java.util.List;
public class SideAndPermissionVo {
private String sideTitle;
private List<PermissionGroupVo> permissionGroupVos;
public String getSideTitle() {
return sideTitle;
}
public void setSideTitle(String sideTitle) {
this.sideTitle = sideTitle;
}
public List<PermissionGroupVo> getPermissionGroupVos() {
return permissionGroupVos;
}
public void setPermissionGroupVos(List<PermissionGroupVo> permissionGroupVos) {
this.permissionGroupVos = permissionGroupVos;
}
}
package com.example.tdl.domain.vo;
import java.util.List;
public class SideGroupVo {
private String parentSide;
private List<SideAndPermissionVo> sideAndPermissionVos;
public String getParentSide() {
return parentSide;
}
public void setParentSide(String parentSide) {
this.parentSide = parentSide;
}
public List<SideAndPermissionVo> getSideAndPermissionVos() {
return sideAndPermissionVos;
}
public void setSideAndPermissionVos(List<SideAndPermissionVo> sideAndPermissionVos) {
this.sideAndPermissionVos = sideAndPermissionVos;
}
}
package com.example.tdl.domain.vo;
import java.util.List;
public class UpdateRoleForWitiumVo {
private List<String> companyNameVar;
private String roleName;
public List<String> getCompanyNameVar() {
return companyNameVar;
}
public void setCompanyNameVar(List<String> companyNameVar) {
this.companyNameVar = companyNameVar;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
}
......@@ -13,6 +13,26 @@ public class UpdateUserVo {
private String roleName;
private String companyName;
private String updateTime;
public String getUpdateTime() {
return updateTime;
}
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getUserName() {
return userName;
}
......
......@@ -12,7 +12,7 @@ import java.util.Map;
@Mapper
public interface RoleMapper {
List<RoleNameVo> getAllRoleName(String companyName);
List<RoleNameVo> getRoleNameByCompanyName(String companyName);
Integer getByRoleName(@Param("roleName") String roleName,@Param("companyName") String companyName);
......@@ -22,6 +22,8 @@ public interface RoleMapper {
int addRoleAndPermission(Map<String,Object> map);
int updatePermissionForWitium(Map<String,Object> map);
int updateRole(UpdateRoleVo updateRoleVo);
int deleteRole(Map<String,Object> map);
......
......@@ -12,4 +12,10 @@ public interface SideMapper {
List<ResultSideVo> selectAllTitle(@Param("roleName") String roleName,@Param("companyName") String companyName);
List<ResultSideVo> selectBySideTitle(@Param("roleName") String roleName,@Param("companyName") String companyName, @Param("sideTitle") String sideTitle);
List<String> getSideTitleParentName();
List<String> getSideTitleByParentName(String sideTitle);
String getParentPermissionBySideTitle(String sideTitle);
}
......@@ -16,8 +16,8 @@ public class RoleService {
@Autowired
private RoleMapper roleMapper;
public List<RoleNameVo> getAllRoleName(String companyName){
return roleMapper.getAllRoleName(companyName);
public List<RoleNameVo> getRoleNameByCompanyName(String companyName){
return roleMapper.getRoleNameByCompanyName(companyName);
}
public Integer getByRoleName(String roleName,String companyName){
......@@ -36,6 +36,10 @@ public class RoleService {
return roleMapper.addRoleAndPermission(map);
}
public int updatePermissionForWitium(Map<String,Object> map){
return roleMapper.updatePermissionForWitium(map);
}
public int updateRole(UpdateRoleVo updateRoleVo){
return roleMapper.updateRole(updateRoleVo);
}
......
......@@ -21,4 +21,16 @@ public class SideService {
return sideMapper.selectBySideTitle(roleName,companyName,sideTitle);
}
public List<String> getSideTitleParentName(){
return sideMapper.getSideTitleParentName();
}
public List<String> getSideTitleByParentName(String sideTitle){
return sideMapper.getSideTitleByParentName(sideTitle);
}
public String getParentPermissionBySideTitle(String sideTitle){
return sideMapper.getParentPermissionBySideTitle(sideTitle);
}
}
package com.example.tdl.util;
import com.google.gson.Gson;
public class WeatherUtil {
private static Gson gson = new Gson();
public String getWeather(){
String data = HttpRequester.get("http://api.openweathermap.org/data/2.5/forecast/daily?id=524901&lang=zh_cn");
return data;
}
public static void main(String[] args) {
String data = HttpRequester.startGet("http://api.openweathermap.org/data/2.5/weather?lat=31.142716&lon=121.3522077&units=metric&lang=zh_cn&appid=3a621d27bba397e536278f32ad41eb23");
//解析数据
System.out.print(data);
}
}
......@@ -75,7 +75,7 @@ public class DownloadController {
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value = "/download",method = RequestMethod.POST)
public String downLoad(HttpServletResponse response,HttpServletRequest request,@RequestBody DownloadForWarehouseVo downloadForWarehouseVo) {
public String downLoad(HttpServletResponse response,HttpServletRequest request,@RequestBody DownloadForWarehouseVo downloadForWarehouseVo) throws ParseException {
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
......@@ -94,80 +94,60 @@ public class DownloadController {
fb.setMessage(i18n.getMessage(request,"warehouseNo"));
return gson.toJson(fb);
}
if (StringUtils.isEmpty(downloadForWarehouseVo.getTDLSN())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"TDLSN"));
return gson.toJson(fb);
}
if(warehouseService.getWarehouseNo(downloadForWarehouseVo.getWarehouseNo()) ==0){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"Nonexistent"));
return gson.toJson(fb);
}
List<ResultWarehouseNoAndTDLSNAndTimeVo> resultWarehouseNoAndTDLSNAndTimeVo=tdlLogService.getByWarehouseNoAndTDLSNAndTime(downloadForWarehouseVo);
if (resultWarehouseNoAndTDLSNAndTimeVo.size()==0){
List<ResultWarehouseNoAndTDLSNAndTimeVo> resultWarehouseNoAndTDLSNAndTimeVos=tdlLogService.getByWarehouseNoAndTDLSNAndTime(downloadForWarehouseVo);
if (resultWarehouseNoAndTDLSNAndTimeVos.size()==0){
fb.setCode(0);
fb.setMessage("没有数据");
return gson.toJson(fb);
}
for (int a=0;a<resultWarehouseNoAndTDLSNAndTimeVo.size();a++){
List<DownloadWarehouseVo> downloadWarehouseVos=new ArrayList<>();
String sqls ="SELECT \"b\", \"T\", \"h\" FROM \"tdl_policy\".\""+resultWarehouseNoAndTDLSNAndTimeVo.get(a).getGatewayType()+"_"+resultWarehouseNoAndTDLSNAndTimeVo.get(a).getGatewaySN()+"\" WHERE (\"tdl\" = 'TDL-"+downloadForWarehouseVo.getTDLSN()+"') ORDER BY time ";
QueryResult queryResults = influxDBTemplate.query(new Query(sqls, database));
downloadWarehouseVos=getWarehouseData(queryResults);
for (int i=0;i<downloadWarehouseVos.size();i++){
if (downloadWarehouseVos.get(i).getTemperature()>resultWarehouseNoAndTDLSNAndTimeVo.get(a).getTemMax()||
downloadWarehouseVos.get(i).getTemperature()<resultWarehouseNoAndTDLSNAndTimeVo.get(a).getTemMin()||
downloadWarehouseVos.get(i).getHumidity()>resultWarehouseNoAndTDLSNAndTimeVo.get(a).getHumidityMax()||
downloadWarehouseVos.get(i).getHumidity()<resultWarehouseNoAndTDLSNAndTimeVo.get(a).getHumidityMin()){
downloadWarehouseVos.get(i).setAlarm("报警");
}else{
downloadWarehouseVos.get(i).setAlarm("正常");
}
}
if (downloadWarehouseVos.size()==0){
fb.setCode(0);
fb.setMessage("没有数据");
return gson.toJson(fb);
}
resultWarehouseNoAndTDLSNAndTimeVo.get(a).setDownloadWarehouseVos(downloadWarehouseVos);
String sqls="";
String fileName = downloadForWarehouseVo.getWarehouseNo() + "仓库温湿度观测记录表-" + System.currentTimeMillis();
File file = new File("E:" + File.separator + fileName);
if (!file.exists()) {
file.mkdir();
}
try {
String fileName = downloadForWarehouseVo.getWarehouseNo()+"仓库温湿度观测记录表-" +System.currentTimeMillis();
WarehouseExcel warehouseExcel = new WarehouseExcel(fileName,resultWarehouseNoAndTDLSNAndTimeVo,user.getUserName(),response);
File file=new File("E:"+File.separator+fileName);
if(!file.exists()){
file.mkdir();
for (int a=0;a<resultWarehouseNoAndTDLSNAndTimeVos.size();a++) {
ResultWarehouseNoAndTDLSNAndTimeVo resultWarehouseNoAndTDLSNAndTimeVo=new ResultWarehouseNoAndTDLSNAndTimeVo();
List<DownloadWarehouseVo> downloadWarehouseVos = new ArrayList<>();
if (resultWarehouseNoAndTDLSNAndTimeVos.get(a).getEndTime() == null) {
sqls = "SELECT \"b\", \"T\", \"h\" FROM \"tdl_policy\".\"" + resultWarehouseNoAndTDLSNAndTimeVos.get(a).getGatewayType() + "_" + resultWarehouseNoAndTDLSNAndTimeVos.get(a).getGatewaySN() + "\" WHERE (\"tdl\" = 'TDL-" + resultWarehouseNoAndTDLSNAndTimeVos.get(a).getTDLSN() + "') and time >= '" + resultWarehouseNoAndTDLSNAndTimeVos.get(a).getCreateTime() + "' ORDER BY time ";
} else {
sqls = "SELECT \"b\", \"T\", \"h\" FROM \"tdl_policy\".\"" + resultWarehouseNoAndTDLSNAndTimeVos.get(a).getGatewayType() + "_" + resultWarehouseNoAndTDLSNAndTimeVos.get(a).getGatewaySN() + "\" WHERE (\"tdl\" = 'TDL-" + resultWarehouseNoAndTDLSNAndTimeVos.get(a).getTDLSN() + "') and time >= '" + resultWarehouseNoAndTDLSNAndTimeVos.get(a).getCreateTime() + "' and time<= '" + resultWarehouseNoAndTDLSNAndTimeVos.get(a).getEndTime() + "' ORDER BY time ";
}
HSSFWorkbook wb = warehouseExcel.downloadExcel();
if(wb !=null){
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename="+fileName);
OutputStream os = new FileOutputStream(new File(file+".xls"));
wb.write(os);
os.flush();
os.close();
ZipCompressUtil zipCom = new ZipCompressUtil(file+".zip",file+".xls");
try{
zipCom.zip();
}catch(Exception e){
e.printStackTrace();
logger.info(e.toString());
QueryResult queryResults = influxDBTemplate.query(new Query(sqls, database));
downloadWarehouseVos = getWarehouseData(queryResults);
if (downloadWarehouseVos.size()>0){
for (int i = 0; i < downloadWarehouseVos.size(); i++) {
if (downloadWarehouseVos.get(i).getTemperature() > resultWarehouseNoAndTDLSNAndTimeVos.get(a).getTemMax() ||
downloadWarehouseVos.get(i).getTemperature() < resultWarehouseNoAndTDLSNAndTimeVos.get(a).getTemMin() ||
downloadWarehouseVos.get(i).getHumidity() > resultWarehouseNoAndTDLSNAndTimeVos.get(a).getHumidityMax() ||
downloadWarehouseVos.get(i).getHumidity() < resultWarehouseNoAndTDLSNAndTimeVos.get(a).getHumidityMin()) {
downloadWarehouseVos.get(i).setAlarm("报警");
} else {
downloadWarehouseVos.get(i).setAlarm("正常");
}
}
resultWarehouseNoAndTDLSNAndTimeVos.get(a).setDownloadWarehouseVos(downloadWarehouseVos);
try {
// OSSClient ossClient = AliyunOSSClientUtil.getOSSClient();
// AliyunOSSClientUtil.uploadObject2OSS(ossClient, new File(file +".zip"));
if (new File(file+".xls").delete()){
// new File(file+".zip").delete();
fb.setCode(1);
fb.setMessage("https://tdlcloud.oss-cn-shanghai.aliyuncs.com/warehouse/" +fileName+".zip");
return gson.toJson(fb);
}else{
WarehouseExcel warehouseExcel = new WarehouseExcel(fileName, resultWarehouseNoAndTDLSNAndTimeVos, user.getUserName(), response);
HSSFWorkbook wb = warehouseExcel.downloadExcel();
if (wb != null) {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
OutputStream os = new FileOutputStream(new File(file + ".xls"));
wb.write(os);
os.flush();
os.close();
} else {
fb.setCode(0);
fb.setMessage("下载失败");
fb.setMessage("上传失败");
}
} catch (Exception e) {
e.printStackTrace();
......@@ -177,9 +157,26 @@ public class DownloadController {
}
}else{
fb.setCode(0);
fb.setMessage("上传失败");
fb.setMessage("没有数据");
return gson.toJson(fb);
}
}
try {
ZipCompressUtil zipCom = new ZipCompressUtil(file + ".zip", file + ".xls");
zipCom.zip();
// OSSClient ossClient = AliyunOSSClientUtil.getOSSClient();
// AliyunOSSClientUtil.uploadObject2OSS(ossClient, new File(file +".zip"));
if (new File(file + ".xls").delete()) {
new File(file+".zip").delete();
fb.setCode(1);
fb.setMessage("https://tdlcloud.oss-cn-shanghai.aliyuncs.com/warehouse/" + fileName + ".zip");
return gson.toJson(fb);
} else {
fb.setCode(0);
fb.setMessage("下载失败");
}
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
logger.info(e.toString());
fb.setCode(0);
......@@ -231,7 +228,7 @@ public class DownloadController {
}
//将utc时间转换成时间戳
public static String dateToStamp(String s) throws ParseException {
public String dateToStamp(String s) throws ParseException {
Date date =null ;
if(s.length() !=20 ) {
date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse(s);
......
......@@ -5,12 +5,10 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.example.tdl.domain.dto.CommFeedback;
import com.example.tdl.domain.vo.AddOrUpdatePermissionVo;
import com.example.tdl.domain.vo.PermissionGroupVo;
import com.example.tdl.domain.vo.PermissionShowVo;
import com.example.tdl.domain.vo.UserRedisVo;
import com.example.tdl.domain.vo.*;
import com.example.tdl.service.PermissionService;
import com.example.tdl.service.RoleHasPermissionService;
import com.example.tdl.service.SideService;
import com.example.tdl.service.redis.TokenRedisService;
import com.google.gson.Gson;
import io.swagger.annotations.ApiImplicitParam;
......@@ -48,6 +46,9 @@ public class PermissionController {
@Autowired
private RoleHasPermissionService roleHasPermissionService;
@Autowired
private SideService sideService;
@Autowired
private TokenRedisService tokenRedisService;
......@@ -65,8 +66,26 @@ public class PermissionController {
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
List<SideGroupVo> sideGroupVos=new ArrayList<>();
//获取该公司的所有权限
String name = "管理员";
// List<String> parentSideLists=sideService.getSideTitleParentName();
//
// for (String parentSideName: parentSideLists){
// List<String> sideTitles = sideService.getSideTitleByParentName(parentSideName);
// SideGroupVo sideGroupVo = new SideGroupVo();
// List<SideAndPermissionVo> sideAndPermissionVos = new ArrayList<>();
// for(String sideName:sideTitles){
// SideAndPermissionVo sideAndPermissionVo =new SideAndPermissionVo();
// sideAndPermissionVo.setSideTitle(sideName);
// sideAndPermissionVos.add(sideAndPermissionVo);
// String permissionName=sideService.getParentPermissionBySideTitle(sideName);
// }
// sideGroupVo.setParentSide(parentSideName);
// sideGroupVo.setSideAndPermissionVos(sideAndPermissionVos);
// sideGroupVos.add(sideGroupVo);
// }
List<String> permissionLists = roleHasPermissionService.getByRoleName(name,user.getCompanyName());
List<String> parentLists =permissionService.getPermissionParentName();
List<PermissionGroupVo> vo =new ArrayList<>();
......@@ -90,6 +109,8 @@ public class PermissionController {
}
}
return vo;
// return sideGroupVos;
}
//根据角色获取所有的权限
......
......@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.example.tdl.domain.dto.CommFeedback;
import com.example.tdl.domain.vo.*;
import com.example.tdl.service.RoleHasPermissionService;
import com.example.tdl.service.RoleService;
import com.example.tdl.service.UserService;
import com.example.tdl.service.redis.TokenRedisService;
......@@ -45,6 +46,9 @@ public class RoleController {
@Autowired
private UserService userService=new UserService();
@Autowired
private RoleHasPermissionService roleHasPermissionService=new RoleHasPermissionService();
@Autowired
private TokenRedisService tokenRedisService;
......@@ -71,16 +75,18 @@ public class RoleController {
}
//查询所有角色名
@ApiOperation(value = "查询所有角色名",notes = "查询所有角色名")
@ApiOperation(value = "根据公司名查询所有角色名",notes = "查询所有角色名")
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value="/getAllRoleName",method = RequestMethod.GET)
public Object getAllRoleName(HttpServletRequest request){
@RequestMapping(value="/getRoleNameByCompanyName",method = RequestMethod.POST)
public Object getRoleNameByCompanyName(@RequestBody String companyName, HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
List<RoleNameVo> roleNameVoList = roleService.getAllRoleName(user.getCompanyName());
JSONObject json = JSON.parseObject(companyName);
companyName= (String) json.get("companyName");
List<RoleNameVo> roleNameVoList = roleService.getRoleNameByCompanyName(companyName);
return roleNameVoList;
}
......@@ -270,5 +276,177 @@ public class RoleController {
return gson.toJson(fb);
}
//辉度修改其他公司的角色权限
@ApiOperation(value = "辉度修改其他公司的角色权限",notes = "辉度修改其他公司的角色权限,传递参数:" +
" roleName:角色名," +
" permissions: [" +
" 权限名" +
" ]," +
" companyName:角色所属公司")
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value = "/updateRoleForWitium", method = RequestMethod.POST)
public Object updateRoleForWitium(@RequestBody UpdateRoleForWitiumVo updateRoleForWitiumVo,HttpServletRequest request) {
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if (updateRoleForWitiumVo.getCompanyNameVar().size()==0){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"companyName"));
return gson.toJson(fb);
}
if (StringUtils.isEmpty(updateRoleForWitiumVo.getRoleName())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"roleName"));
return gson.toJson(fb);
}
String companyNameVar="";
for(int i=0;i<updateRoleForWitiumVo.getCompanyNameVar().size();i++){
companyNameVar+=updateRoleForWitiumVo.getCompanyNameVar().get(i)+"&";
}
try {
Map<String,Object> map=new HashMap<>();
map.put("roleName",updateRoleForWitiumVo.getRoleName());
map.put("companyNameVar",companyNameVar);
map.put("num",updateRoleForWitiumVo.getCompanyNameVar().size());
roleService.updatePermissionForWitium(map);
Map<String,Object> ms=new HashMap<>();
ms.put("msg",map.get("msg"));
if (ms.get("msg").equals("修改权限成功")){
fb.setCode(1);
fb.setMessage(ms.get("msg").toString());
}else {
fb.setCode(0);
fb.setMessage(ms.get("msg").toString());
}
} catch (org.springframework.dao.DataAccessException e) {
e.printStackTrace();
logger.info(e.toString());
fb.setCode(0);
fb.setMessage("操作失败");
}
return gson.toJson(fb);
}
//添加角色
@ApiOperation(value = "辉度添加其他公司角色",notes = "辉度添加其他公司角色,传递参数:" +
" roleName:角色名," +
" companyName:需要添加的公司," +
" permissions: [" +
" 权限名" +
" ]," +
" remark:备注")
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value = "/addRoleForWitium", method = RequestMethod.POST)
public Object addRoleForWitium(@RequestBody AddRoleForWitiumVo addRoleForWitiumVo,HttpServletRequest request) {
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if (StringUtils.isEmpty(addRoleForWitiumVo.getCompanyName())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"companyName"));
return gson.toJson(fb);
}
if (StringUtils.isEmpty(addRoleForWitiumVo.getRoleName())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"roleName"));
return gson.toJson(fb);
}
Integer a=roleService.getByRoleName(addRoleForWitiumVo.getRoleName(),addRoleForWitiumVo.getCompanyName());
if (a>0){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"repeatedRole"));
return gson.toJson(fb);
}
String permissionVar="";
for(int i=0;i<addRoleForWitiumVo.getPermissionGroupVos().size();i++){
permissionVar+=addRoleForWitiumVo.getPermissionGroupVos().get(i)+" ";
}
try {
Map<String,Object> map=new HashMap<>();
map.put("roleName",addRoleForWitiumVo.getRoleName());
map.put("createTime",System.currentTimeMillis());
map.put("updateTime",System.currentTimeMillis());
map.put("remark",addRoleForWitiumVo.getRemark());
map.put("companyName",addRoleForWitiumVo.getCompanyName());
map.put("permissionName",permissionVar);
map.put("num",addRoleForWitiumVo.getPermissionGroupVos().size());
roleService.addRoleAndPermission(map);
Map<String,Object> ms=new HashMap<>();
ms.put("msg",map.get("msg"));
if (ms.get("msg").equals("角色添加成功")){
fb.setCode(1);
fb.setMessage(ms.get("msg").toString());
}else {
fb.setCode(0);
fb.setMessage(ms.get("msg").toString());
}
} catch (DataAccessException e) {
fb.setCode(0);
fb.setMessage("操作失败");
}
return gson.toJson(fb);
}
}
/*@ApiOperation(value = "辉度修改其他公司的角色权限",notes = "辉度修改其他公司的角色权限,传递参数:" +
" roleName:角色名," +
" permissions: [" +
" 权限名" +
" ]," +
" companyName:角色所属公司")
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value = "/updateRoleForWitium", method = RequestMethod.POST)
public Object updateRoleForWitium(@RequestBody UpdateRoleForWitiumVo updateRoleForWitiumVo,HttpServletRequest request) {
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if (StringUtils.isEmpty(updateRoleForWitiumVo.getCompanyName())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"companyName"));
return gson.toJson(fb);
}
if (StringUtils.isEmpty(updateRoleForWitiumVo.getRoleName())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"roleName"));
return gson.toJson(fb);
}
String permissionVar="";
for(int i=0;i<updateRoleForWitiumVo.getPermissionGroupVos().size();i++){
permissionVar+=updateRoleForWitiumVo.getPermissionGroupVos().get(i)+" ";
}
try {
Map<String,Object> map=new HashMap<>();
map.put("roleName",updateRoleForWitiumVo.getRoleName());
map.put("companyName",updateRoleForWitiumVo.getCompanyName());
map.put("permissionName",permissionVar);
map.put("num",updateRoleForWitiumVo.getPermissionGroupVos().size());
roleHasPermissionService.addRoleHasPermission(map);
Map<String,Object> ms=new HashMap<>();
ms.put("msg",map.get("msg"));
if (ms.get("msg").equals("权限操作成功")){
fb.setCode(1);
fb.setMessage(ms.get("msg").toString());
}else {
fb.setCode(0);
fb.setMessage(ms.get("msg").toString());
}
} catch (org.springframework.dao.DataAccessException e) {
e.printStackTrace();
logger.info(e.toString());
fb.setCode(0);
fb.setMessage("操作失败");
}
return gson.toJson(fb);
}*/
......@@ -145,7 +145,7 @@ public class UserController {
fb.setMessage(i18n.getMessage(request,"userName"));
return gson.toJson(fb);
}
if (!userVo.getUserName().matches("^[a-zA-Z][a-zA-Z0-9_]{5,19}$")) {
if (!userVo.getUserName().matches("^[a-zA-Z][a-zA-Z0-9_]{5,19}$")){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"usernameRule"));
return gson.toJson(fb);
......@@ -190,7 +190,7 @@ public class UserController {
fb.setMessage(i18n.getMessage(request,"email"));
return gson.toJson(fb);
}
if( !userVo.getEmail().matches("\\w+(\\.\\w*)*@\\w+(\\.\\w{2,3}){1,3}")){
if( !userVo.getEmail().matches("^\\w[-\\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\\.)+[A-Za-z]{2,14}$")){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"emailRule"));
return gson.toJson(fb);
......@@ -238,7 +238,7 @@ public class UserController {
//修改用户
@ApiOperation(value = "修改用户",notes = "修改用户都要传" +
@ApiOperation(value = "修改用户",notes = "修改用户,companyName,updateTime不用传,需要传递的参数:" +
" userNumber:用户编号," +
" userName:用户名," +
" nickName:昵称," +
......@@ -253,14 +253,12 @@ public class UserController {
public Object updateUser(@RequestBody UpdateUserVo userVo,HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
String port = request.getHeader("AccountLanguage");
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if (StringUtils.isEmpty(userVo.getUserNumber())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"userNumber"));
return gson.toJson(fb);
}
ResultUserVo userInfo=userService.getByUserNumber(userVo.getUserNumber());
if (StringUtils.isEmpty(userVo.getNickName())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"nickName"));
......@@ -276,6 +274,7 @@ public class UserController {
fb.setMessage(i18n.getMessage(request,"phoneRule"));
return gson.toJson(fb);
}
ResultUserVo userInfo=userService.getByUserNumber(userVo.getUserNumber());
if (userInfo!=null&& !userInfo.getPhone().equals(userVo.getPhone()) && userService.getByPhone(userVo.getPhone(),userInfo.getCompanyName()) !=null){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"repeatedRule"));
......@@ -286,7 +285,7 @@ public class UserController {
fb.setMessage(i18n.getMessage(request,"email"));
return gson.toJson(fb);
}
if( !userVo.getEmail().matches("\\w+(\\.\\w*)*@\\w+(\\.\\w{2,3}){1,3}")){
if( !userVo.getEmail().matches("^\\w[-\\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\\.)+[A-Za-z]{2,14}$")){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"emailRule"));
return gson.toJson(fb);
......@@ -301,12 +300,13 @@ public class UserController {
fb.setMessage(i18n.getMessage(request,"roleName"));
return gson.toJson(fb);
}
if (roleService.getByRoleName(userVo.getRoleName(),userInfo.getCompanyName())==0){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"existRoleName"));
return gson.toJson(fb);
}
userVo.setCompanyName(userInfo.getCompanyName());
userVo.setUpdateTime(String.valueOf(System.currentTimeMillis()));
int a=userService.updateUser(userVo);
if (a>0){
fb.setCode(1);
......
......@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.tdl.mapper.RoleMapper">
<!--查询所有角色名-->
<select id="getAllRoleName" resultType="com.example.tdl.domain.vo.RoleNameVo">
<select id="getRoleNameByCompanyName" resultType="com.example.tdl.domain.vo.RoleNameVo">
SELECT roleName from role r INNER JOIN company c ON r.company_id=c.id
WHERE companyName=#{companyName,jdbcType=VARCHAR}
</select>
......@@ -50,6 +50,20 @@
]]>
</insert>
<!--辉度修改其他公司的角色权限-->
<insert id="updatePermissionForWitium" parameterType="java.util.Map" statementType="CALLABLE">
<![CDATA[
{
call pro_updatePermissionForWitium(
#{roleName,mode=IN,jdbcType=VARCHAR},
#{companyNameVar,mode=IN,jdbcType=VARCHAR},
#{num,mode=IN,jdbcType=INTEGER},
#{msg,mode=OUT,jdbcType=VARCHAR}
)
}
]]>
</insert>
<!--修改角色-->
<update id="updateRole" parameterType="com.example.tdl.domain.vo.UpdateRoleVo">
UPDATE role SET
......
......@@ -28,4 +28,23 @@
AND s.sideTitle=#{sideTitle,jdbcType=VARCHAR}
ORDER BY s.id;
</select>
<!--获取所有父侧边栏名称-->
<select id="getSideTitleParentName" resultType="java.lang.String">
SELECT sideTitle FROM side WHERE pid IS NULL
</select>
<!--通过权限组名获取权限信息-->
<select id="getSideTitleByParentName" parameterType="String" resultType="String">
SELECT p.sideTitle FROM side p,side a WHERE p.pid=a.id AND a.sideTitle=#{sideTitle,jdbcType=VARCHAR}
</select>
<!--根据侧边栏名字查询权限组的名字-->
<select id="getParentPermissionBySideTitle" parameterType="String" resultType="String">
SELECT permissionName from permission
where id=(SELECT DISTINCT p.pid from side_has_permission sp
INNER JOIN side s ON sp.side_id=s.id
INNER JOIN permission p ON sp.permission_id=p.id
AND s.sideTitle=#{sideTitle,jdbcType=VARCHAR})
</select>
</mapper>
\ No newline at end of file
......@@ -60,11 +60,12 @@
and ISNULL(endTime)
</select>
<select id="getByWarehouseNoAndTDLSNAndTime" parameterType="com.example.tdl.domain.vo.DownloadForWarehouseVo" resultType="com.example.tdl.domain.vo.ResultWarehouseNoAndTDLSNAndTimeVo">
SELECT TDLSN,gatewaySN,gatewayType,warehouseNo,alarmType,temMax,temMin,humidityMax,humidityMin
<select id="getByWarehouseNoAndTime" parameterType="com.example.tdl.domain.vo.DownloadForWarehouseVo" resultType="com.example.tdl.domain.vo.ResultWarehouseNoAndTDLSNAndTimeVo">
SELECT TDLSN,gatewaySN,gatewayType,warehouseNo,alarmType,temMax,temMin,humidityMax,humidityMin,t.createTime,t.endTime
from tdl_gateway_log t INNER JOIN alarm a ON t.alarm_id=a.id
where warehouseNo=#{warehouseNo,jdbcType=VARCHAR}
AND TDLSN=#{TDLSN,jdbcType=VARCHAR}
AND createTime BETWEEN #{startTime,jdbcType=VARCHAR} AND #{stopTime,jdbcType=VARCHAR}
AND TDLSN IS NOT NULL
AND createTime BETWEEN (UNIX_TIMESTAMP(#{startTime,jdbcType=VARCHAR})*1000)
AND (UNIX_TIMESTAMP(#{stopTime,jdbcType=VARCHAR})*1000)
</select>
</mapper>
\ No newline at end of file
......@@ -101,7 +101,7 @@
#{nickName,jdbcType=VARCHAR},
#{phone,jdbcType=VARCHAR},
#{email,jdbcType=VARCHAR},
(SELECT id from role WHERE roleName=#{roleName,jdbcType=VARCHAR}),
(SELECT id from role WHERE roleName=#{roleName,jdbcType=VARCHAR} and company_id=(SELECT id from company WHERE companyName=#{companyName,jdbcType=VARCHAR})),
#{createTime,jdbcType=VARCHAR},
#{updateTime,jdbcType=VARCHAR},
(SELECT id from company WHERE companyName=#{companyName,jdbcType=VARCHAR}),
......@@ -116,8 +116,8 @@
nickName=#{nickName,jdbcType=VARCHAR},
phone=#{phone,jdbcType=VARCHAR},
email=#{email,jdbcType=VARCHAR},
role_id=(SELECT id from role WHERE roleName=#{roleName,jdbcType=VARCHAR}),
updateTime=(unix_timestamp(now())*1000)
role_id=(SELECT id from role WHERE roleName=#{roleName,jdbcType=VARCHAR} and company_id=(SELECT id from company WHERE companyName=#{companyName,jdbcType=VARCHAR})),
updateTime=#{updateTime,jdbcType=VARCHAR}
WHERE userNumber=#{userNumber,jdbcType=VARCHAR}
</update>
......
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