Merge remote-tracking branch 'origin/uat' into uat
# Conflicts: # src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyController.java # src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java # src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java # src/main/java/com/zhgd/xmgl/modules/project/controller/ProjectController.java # src/main/java/com/zhgd/xmgl/modules/project/service/IProjectService.java
This commit is contained in:
commit
a30c1502f5
@ -50,6 +50,7 @@ public class TcpNettyHandler extends SimpleChannelInboundHandler<Object> {
|
||||
String str = getString(bytes);
|
||||
str = str.trim();
|
||||
log.info("tcp接收数据 >>> {} ", str);
|
||||
// ctx.writeAndFlush(Unpooled.copiedBuffer("response message", CharsetUtil.UTF_8));
|
||||
if (StringUtils.startsWith(str, HighFormworkSupport.TCP_DATA_PREFIX) && StringUtils.endsWith(str, HighFormworkSupport.TCP_DATA_END)) {
|
||||
log.info("高支模接收数据 >>> {} ", str);
|
||||
//接收高支模数据保存到mysql中
|
||||
@ -117,6 +118,7 @@ public class TcpNettyHandler extends SimpleChannelInboundHandler<Object> {
|
||||
poisonousGasDevCurrentDataService.addDataFromTcp(hexString.trim());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private byte[] readBytes(Object msg) {
|
||||
@ -164,6 +166,7 @@ public class TcpNettyHandler extends SimpleChannelInboundHandler<Object> {
|
||||
public void channelReadComplete(ChannelHandlerContext ctx) {
|
||||
//刷新缓冲区,把消息发出去
|
||||
ctx.flush();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -175,5 +178,6 @@ public class TcpNettyHandler extends SimpleChannelInboundHandler<Object> {
|
||||
@Override
|
||||
public void channelActive(ChannelHandlerContext ctx) throws Exception {
|
||||
log.info("channelActive:connect success!");
|
||||
ctx.writeAndFlush("欢迎连接 Netty 服务端!\n");
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,6 +17,8 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
/**
|
||||
* @author chenws
|
||||
@ -46,8 +48,8 @@ public class TcpNettyServer {
|
||||
protected void initChannel(SocketChannel socketChannel) throws Exception {
|
||||
//添加自定义处理器
|
||||
socketChannel.pipeline()
|
||||
//.addLast(new StringEncoder(StandardCharsets.UTF_8))
|
||||
//.addLast(new StringDecoder(Charset.forName("GBK")))
|
||||
// .addLast(new StringEncoder(StandardCharsets.UTF_8))
|
||||
// .addLast(new StringDecoder(Charset.forName("GBK")))
|
||||
.addLast(tcpNettyHandler);
|
||||
}
|
||||
});
|
||||
|
||||
@ -11,7 +11,9 @@ import com.dahuatech.hutool.http.Method;
|
||||
import com.dahuatech.hutool.json.JSONUtil;
|
||||
import com.dahuatech.icc.admin.enums.PlayBackFormatEnum;
|
||||
import com.dahuatech.icc.admin.enums.StreamTypeEnum;
|
||||
import com.dahuatech.icc.config.OauthConfigUtil;
|
||||
import com.dahuatech.icc.exception.ClientException;
|
||||
import com.dahuatech.icc.model.event.eventSubcribe.SubscribeRequest;
|
||||
import com.dahuatech.icc.model.video.ptzControl.OperateCameraRequest;
|
||||
import com.dahuatech.icc.model.video.ptzControl.OperateCameraRequest.Data;
|
||||
import com.dahuatech.icc.model.video.ptzControl.OperateCameraResponse;
|
||||
@ -27,6 +29,7 @@ import com.dahuatech.icc.multiinone.admin.domain.RecordInfo;
|
||||
import com.dahuatech.icc.multiinone.admin.vo.*;
|
||||
import com.dahuatech.icc.oauth.http.IccClient;
|
||||
import com.dahuatech.icc.oauth.http.IccTokenResponse;
|
||||
import com.dahuatech.icc.oauth.model.v202010.GeneralResponse;
|
||||
import com.dahuatech.icc.oauth.model.v202010.OauthConfigUserPwdInfo;
|
||||
import com.dahuatech.icc.oauth.utils.HttpUtils;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
@ -47,22 +50,24 @@ import model.v202207.talk.StopTalkResponse;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class IccVideoCall implements VideoItemManufacturer {
|
||||
|
||||
@Value("${serverUrl}")
|
||||
private String serverUrl;
|
||||
|
||||
private ProjectVideoConfig config;
|
||||
@Lazy
|
||||
@Autowired
|
||||
@ -321,6 +326,63 @@ public class IccVideoCall implements VideoItemManufacturer {
|
||||
return p;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIccSubscriptionByEvent(Map<String, Object> map) {
|
||||
SubscribeRequest subscribeRequest = new SubscribeRequest();
|
||||
SubscribeRequest.Param param = new SubscribeRequest.Param();
|
||||
|
||||
SubscribeRequest.Param.Subsystem subsystem = new SubscribeRequest.Param.Subsystem();
|
||||
subsystem.setName(MapUtils.getString(map, "name"));
|
||||
subsystem.setMagic(MapUtils.getString(map, "magic"));
|
||||
param.setSubsystem(subsystem);
|
||||
|
||||
List<SubscribeRequest.Param.Monitor> monitors = new ArrayList();
|
||||
SubscribeRequest.Param.Monitor monitor = new SubscribeRequest.Param.Monitor();
|
||||
//回调地址的接口代码可参考SubscribeCallBackController类中的receiveMsg方法
|
||||
monitor.setMonitor(serverUrl + "/xmgl/callBack/icc/subscribeCall");
|
||||
|
||||
List<SubscribeRequest.Param.Monitor.Event>events = new ArrayList<>();
|
||||
SubscribeRequest.Param.Monitor.Event event = new SubscribeRequest.Param.Monitor.Event();
|
||||
//订阅报警事件,填alarm
|
||||
event.setCategory("alarm");
|
||||
List<SubscribeRequest.Param.Monitor.Event.Authority> authorities = new ArrayList();
|
||||
SubscribeRequest.Param.Monitor.Event.Authority authority=new SubscribeRequest.Param.Monitor.Event.Authority();
|
||||
|
||||
//若订阅指定报警类型可参考下列代码进行修改,若订阅所有报警类型,则把下列types相关代码删除即可
|
||||
String types1 = MapUtils.getString(map, "types");
|
||||
List<String> types= new ArrayList<>(Arrays.asList(types1.split(",")));
|
||||
authority.setTypes(types);
|
||||
|
||||
//若订阅指定组织可参考下列代码进行修改,若订阅所有组织,则将下列orgs相关代码删除
|
||||
// List<String>orgs = new ArrayList<>();
|
||||
// orgs.add("001001");
|
||||
// orgs.add("001002");
|
||||
// authority.setOrgs(orgs);
|
||||
|
||||
//若订阅指定设备和通道可参考下列代码进行修改,若订阅所有设备和通道,则将下列nodeCodes相关代码删除
|
||||
// List<String>nodeCodes=new ArrayList();
|
||||
// nodeCodes.add("1002511$7$0$0");
|
||||
// nodeCodes.add("1002509$7$0$0");
|
||||
// authority.setNodeCodes(nodeCodes);
|
||||
|
||||
authorities.add(authority);
|
||||
event.setAuthorities(authorities);
|
||||
events.add(event);
|
||||
monitor.setEvents(events);
|
||||
monitors.add(monitor);
|
||||
param.setMonitors(monitors);
|
||||
subscribeRequest.setParam(param);
|
||||
log.info("SubscribeDemo,subscribeAlarmEvent,request:{}", JSONUtil.toJsonStr(subscribeRequest));
|
||||
|
||||
OauthConfigUserPwdInfo config = OauthConfigUtil.getOauthConfig();
|
||||
try {
|
||||
GeneralResponse response = HttpUtils.executeJson("/evo-apigw/evo-event/1.0.0/subscribe/mqinfo", subscribeRequest,null, Method.POST, config,GeneralResponse.class);
|
||||
log.info("SubscribeDemo,subscribeAlarmEvent,response:{}", response.getResult());
|
||||
} catch (ClientException e) {
|
||||
log.error(e.getErrMsg(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 对抓拍请求参数进行封装
|
||||
*
|
||||
|
||||
@ -8,6 +8,8 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.call.util.jc.AESUtil;
|
||||
import com.zhgd.xmgl.call.util.jc.JcHttpUtil;
|
||||
import com.zhgd.xmgl.modules.electrical.entity.ElectricalData;
|
||||
import com.zhgd.xmgl.modules.electrical.entity.ElectricalDev;
|
||||
import com.zhgd.xmgl.modules.environment.entity.DustNoiseData;
|
||||
@ -21,8 +23,6 @@ import com.zhgd.xmgl.modules.worker.service.IWorkerCertificateService;
|
||||
import com.zhgd.xmgl.modules.worker.service.IWorkerTypeService;
|
||||
import com.zhgd.xmgl.modules.worker.service.impl.EnterpriseInfoServiceImpl;
|
||||
import com.zhgd.xmgl.util.*;
|
||||
import com.zhgd.xmgl.call.util.jc.AESUtil;
|
||||
import com.zhgd.xmgl.call.util.jc.JcHttpUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.javacrumbs.shedlock.core.SchedulerLock;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@ -105,7 +105,7 @@ public class JcCall {
|
||||
form.setPhone(AESUtil.Encrypt(workerInfo.getPhoneNumber(), AESUtil.SECRET));
|
||||
}
|
||||
if (StrUtil.isNotBlank(workerInfo.getIdCardUpPhotoUrl())) {
|
||||
form.setHeadImg(PathUtil.getServerUrl() + "/image/" + workerInfo.getIdCardUpPhotoUrl());
|
||||
form.setHeadImg(JcHttpUtil.replaceUrlToHttps(FileUtils.getOnlineUrl(workerInfo.getIdCardUpPhotoUrl())));
|
||||
}
|
||||
form.setNation(workerInfo.getNation());
|
||||
form.setIdcardType(1);
|
||||
@ -139,7 +139,7 @@ public class JcCall {
|
||||
JcHttpUtil.UserSyncRequest.CertificateInfo certificateInfo = new JcHttpUtil.UserSyncRequest.CertificateInfo();
|
||||
if (StrUtil.isNotBlank(o.get("photoUrl"))) {
|
||||
try {
|
||||
certificateInfo.setCertificate(FileUtils.getOnlineUrl(o.get("photoUrl")));
|
||||
certificateInfo.setCertificate(JcHttpUtil.replaceUrlToHttps(FileUtils.getOnlineUrl(o.get("photoUrl"))));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@ -243,7 +243,7 @@ public class JcCall {
|
||||
form.setDeviceName(ufaceDev.getDevName());
|
||||
}
|
||||
form.setDirection(Objects.equals(workerAttendance.getPassType(), 2) ? 0 : 1);
|
||||
form.setPhotoUrl(FileUtils.getOnlineUrl(workerAttendance.getImageUrl()));
|
||||
form.setPhotoUrl(JcHttpUtil.replaceUrlToHttps(FileUtils.getOnlineUrl(workerAttendance.getImageUrl())));
|
||||
form.setShowTime(workerAttendance.getCreateTime());
|
||||
form.setIdcardNo(AESUtil.Encrypt(workerInfo.getIdCard(), AESUtil.SECRET));
|
||||
form.setCreateDate(DateUtil.now());
|
||||
|
||||
@ -78,4 +78,6 @@ public interface VideoItemManufacturer {
|
||||
* @param map
|
||||
*/
|
||||
IPage<HistoryCaptureVo> manualHistoryCapture(Map<String, Object> map);
|
||||
|
||||
void setIccSubscriptionByEvent(Map<String, Object> map);
|
||||
}
|
||||
|
||||
@ -1,11 +1,13 @@
|
||||
package com.zhgd.xmgl.call.util.jc;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import com.gexin.fastjson.JSON;
|
||||
import com.zhgd.xmgl.util.EnvironmentUtil;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
@ -34,6 +36,7 @@ public class JcHttpUtil {
|
||||
*/
|
||||
public static String jcAllPush;
|
||||
public static EnvironmentUtil environmentUtil;
|
||||
private static String jcHttpsUrl;
|
||||
|
||||
public static String getJcProjectId() {
|
||||
return jcProjectId;
|
||||
@ -191,6 +194,28 @@ public class JcHttpUtil {
|
||||
log.info("机场项目推送考勤记录,rs:{}", result);
|
||||
}
|
||||
|
||||
public static String getJcHttpsUrl() {
|
||||
return jcHttpsUrl;
|
||||
}
|
||||
|
||||
@Value("${jcHttpsUrl:https://jc.zhgdyun.com:12112}")
|
||||
public void setJcHttpsUrl(String jcHttpsUrl) {
|
||||
JcHttpUtil.jcHttpsUrl = jcHttpsUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* 替换成https
|
||||
*
|
||||
* @param onlineUrl
|
||||
* @return
|
||||
*/
|
||||
public static String replaceUrlToHttps(String onlineUrl) {
|
||||
if (StrUtil.isBlank(onlineUrl)) {
|
||||
return null;
|
||||
}
|
||||
return StringUtils.replace(onlineUrl, "http://101.43.164.214:11111", getJcHttpsUrl());
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class DustDataSyncRequest {
|
||||
private String projectId;
|
||||
@ -638,7 +663,6 @@ public class JcHttpUtil {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 配电数据同步接口请求参数
|
||||
*/
|
||||
|
||||
@ -0,0 +1,181 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.controller;
|
||||
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.dto.AppComponentAuthDto;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.AppComponentAuthVo;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLDecoder;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.jeecg.common.util.oConvertUtils;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponentAuth;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IAppComponentAuthService;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
|
||||
/**
|
||||
* @Title: Controller
|
||||
* @Description: APP组件授权信息
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/xmgl/appComponentAuth")
|
||||
@Slf4j
|
||||
@Api(tags = "APP组件授权信息管理")
|
||||
public class AppComponentAuthController {
|
||||
@Autowired
|
||||
private IAppComponentAuthService appComponentAuthService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件授权信息管理", operType = "分页查询", operDesc = "分页列表查询APP组件授权信息信息")
|
||||
@ApiOperation(value = " 分页列表查询APP组件授权信息信息", notes = "分页列表查询APP组件授权信息信息", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "body", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "body", required = true, dataType = "Integer"),
|
||||
})
|
||||
@PostMapping(value = "/page")
|
||||
public Result<IPage<AppComponentAuth>> queryPageList(@ApiIgnore @RequestBody Map<String, Object> map) {
|
||||
QueryWrapper<AppComponentAuth> queryWrapper = QueryGenerator.initPageQueryWrapper(AppComponentAuth.class, map);
|
||||
Page<AppComponentAuth> page = PageUtil.getPage(map);
|
||||
IPage<AppComponentAuth> pageList = appComponentAuthService.page(page, queryWrapper);
|
||||
return Result.success(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件授权信息管理", operType = "列表查询", operDesc = "列表查询APP组件授权信息信息")
|
||||
@ApiOperation(value = " 列表查询APP组件授权信息信息", notes = "列表查询APP组件授权信息信息", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "type", value = "类型(1:企业;2:项目)", paramType = "body", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "authType", value = "授权类型(1:企业;2:项目)", paramType = "body", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "sn", value = "企业/项目SN", paramType = "body", required = true, dataType = "Integer"),
|
||||
})
|
||||
@PostMapping(value = "/list")
|
||||
public Result<List<AppComponentAuthDto>> queryList(@ApiIgnore @RequestBody Map<String, Object> map) {
|
||||
QueryWrapper<AppComponentAuth> queryWrapper = QueryGenerator.initQueryWrapper(AppComponentAuth.class, map, "a.");
|
||||
List<AppComponentAuthDto> list = appComponentAuthService.getList(queryWrapper);
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param appComponentAuth
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件授权信息管理", operType = "新增", operDesc = "添加修改APP组件授权信息信息")
|
||||
@ApiOperation(value = " 添加修改APP组件授权信息信息", notes = "添加修改APP组件授权信息信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<Object> add(@RequestBody AppComponentAuthVo appComponentAuth) {
|
||||
appComponentAuthService.saveInfo(appComponentAuth);
|
||||
return Result.success("添加成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件授权信息管理", operType = "删除", operDesc = "删除APP组件授权信息信息")
|
||||
@ApiOperation(value = "删除APP组件授权信息信息", notes = "删除APP组件授权信息信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "id", value = "APP组件授权信息ID", paramType = "body", required = true, dataType = "Integer")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<AppComponentAuth> delete(@ApiIgnore @RequestBody AppComponentAuth appComponentAuth) {
|
||||
Result<AppComponentAuth> result = new Result<AppComponentAuth>();
|
||||
AppComponentAuth appComponentAuthEntity = appComponentAuthService.getById(appComponentAuth.getId());
|
||||
if (appComponentAuthEntity == null) {
|
||||
result.error500("未找到对应实体");
|
||||
} else {
|
||||
boolean ok = appComponentAuthService.removeById(appComponentAuth.getId());
|
||||
if (ok) {
|
||||
result.success("删除成功!");
|
||||
} else {
|
||||
result.success("操作失败!");
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件授权信息管理", operType = "批量删除", operDesc = "批量删除APP组件授权信息信息")
|
||||
@ApiOperation(value = "批量删除APP组件授权信息信息", notes = "批量删除APP组件授权信息信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "ids", value = "APP组件授权信息ID字符串", paramType = "body", required = true, dataType = "String")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<AppComponentAuth> deleteBatch(@ApiIgnore @RequestBody Map<String, Object> map) {
|
||||
Result<AppComponentAuth> result = new Result<AppComponentAuth>();
|
||||
String ids = MapUtils.getString(map, "ids");
|
||||
if (ids == null || "".equals(ids.trim())) {
|
||||
result.error500("参数不识别!");
|
||||
} else {
|
||||
this.appComponentAuthService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
result.success("删除成功!");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件授权信息管理", operType = "查询", operDesc = "通过id查询APP组件授权信息信息")
|
||||
@ApiOperation(value = "通过id查询APP组件授权信息信息", notes = "通过id查询APP组件授权信息信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "id", value = "APP组件授权信息ID", paramType = "body", required = true, dataType = "Integer")
|
||||
@PostMapping(value = "/queryById")
|
||||
public Result<AppComponentAuth> queryById(@ApiIgnore @RequestBody AppComponentAuth appComponentAuthVo) {
|
||||
Result<AppComponentAuth> result = new Result<AppComponentAuth>();
|
||||
AppComponentAuth appComponentAuth = appComponentAuthService.getById(appComponentAuthVo.getId());
|
||||
if (appComponentAuth == null) {
|
||||
result.error500("未找到对应实体");
|
||||
} else {
|
||||
result.setResult(appComponentAuth);
|
||||
result.setSuccess(true);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,202 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.controller;
|
||||
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLDecoder;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.jeecg.common.util.oConvertUtils;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponent;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IAppComponentService;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
|
||||
/**
|
||||
* @Title: Controller
|
||||
* @Description: APP组件库
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/xmgl/appComponent")
|
||||
@Slf4j
|
||||
@Api(tags = "APP组件库管理")
|
||||
public class AppComponentController {
|
||||
@Autowired
|
||||
private IAppComponentService appComponentService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件库管理", operType = "分页查询", operDesc = "分页列表查询APP组件库信息")
|
||||
@ApiOperation(value = " 分页列表查询APP组件库信息", notes = "分页列表查询APP组件库信息", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "body", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "body", required = true, dataType = "Integer"),
|
||||
})
|
||||
@PostMapping(value = "/page")
|
||||
public Result<IPage<AppComponent>> queryPageList(@ApiIgnore @RequestBody Map<String, Object> map) {
|
||||
QueryWrapper<AppComponent> queryWrapper = QueryGenerator.initPageQueryWrapper(AppComponent.class, map);
|
||||
Page<AppComponent> page = PageUtil.getPage(map);
|
||||
IPage<AppComponent> pageList = appComponentService.page(page, queryWrapper);
|
||||
return Result.success(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param appComponent
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件库管理", operType = "列表查询", operDesc = "列表查询APP组件库信息")
|
||||
@ApiOperation(value = " 列表查询APP组件库信息", notes = "列表查询APP组件库信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/list")
|
||||
public Result<List<AppComponent>> queryList(@RequestBody AppComponent appComponent) {
|
||||
QueryWrapper<AppComponent> queryWrapper = QueryGenerator.initQueryWrapper(appComponent);
|
||||
List<AppComponent> list = appComponentService.list(queryWrapper);
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param appComponent
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件库管理", operType = "新增", operDesc = "添加APP组件库信息")
|
||||
@ApiOperation(value = " 添加APP组件库信息", notes = "添加APP组件库信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<Object> add(@RequestBody AppComponent appComponent) {
|
||||
Result<AppComponent> result = new Result<AppComponent>();
|
||||
appComponentService.save(appComponent);
|
||||
return Result.success("添加成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param appComponent
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件库管理", operType = "修改", operDesc = "编辑APP组件库信息")
|
||||
@ApiOperation(value = "编辑APP组件库信息", notes = "编辑APP组件库信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<AppComponent> edit(@RequestBody AppComponent appComponent) {
|
||||
Result<AppComponent> result = new Result<AppComponent>();
|
||||
AppComponent appComponentEntity = appComponentService.getById(appComponent.getId());
|
||||
if (appComponentEntity == null) {
|
||||
result.error500("未找到对应实体");
|
||||
} else {
|
||||
boolean ok = appComponentService.updateById(appComponent);
|
||||
if (ok) {
|
||||
result.success("修改成功!");
|
||||
} else {
|
||||
result.success("操作失败!");
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件库管理", operType = "删除", operDesc = "删除APP组件库信息")
|
||||
@ApiOperation(value = "删除APP组件库信息", notes = "删除APP组件库信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "id", value = "APP组件库ID", paramType = "body", required = true, dataType = "Integer")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<AppComponent> delete(@ApiIgnore @RequestBody AppComponent appComponent) {
|
||||
Result<AppComponent> result = new Result<AppComponent>();
|
||||
AppComponent appComponentEntity = appComponentService.getById(appComponent.getId());
|
||||
if (appComponentEntity == null) {
|
||||
result.error500("未找到对应实体");
|
||||
} else {
|
||||
boolean ok = appComponentService.removeById(appComponent.getId());
|
||||
if (ok) {
|
||||
result.success("删除成功!");
|
||||
} else {
|
||||
result.success("操作失败!");
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件库管理", operType = "批量删除", operDesc = "批量删除APP组件库信息")
|
||||
@ApiOperation(value = "批量删除APP组件库信息", notes = "批量删除APP组件库信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "ids", value = "APP组件库ID字符串", paramType = "body", required = true, dataType = "String")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<AppComponent> deleteBatch(@ApiIgnore @RequestBody Map<String, Object> map) {
|
||||
Result<AppComponent> result = new Result<AppComponent>();
|
||||
String ids = MapUtils.getString(map, "ids");
|
||||
if (ids == null || "".equals(ids.trim())) {
|
||||
result.error500("参数不识别!");
|
||||
} else {
|
||||
this.appComponentService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
result.success("删除成功!");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP组件库管理", operType = "查询", operDesc = "通过id查询APP组件库信息")
|
||||
@ApiOperation(value = "通过id查询APP组件库信息", notes = "通过id查询APP组件库信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "id", value = "APP组件库ID", paramType = "body", required = true, dataType = "Integer")
|
||||
@PostMapping(value = "/queryById")
|
||||
public Result<AppComponent> queryById(@ApiIgnore @RequestBody AppComponent appComponentVo) {
|
||||
Result<AppComponent> result = new Result<AppComponent>();
|
||||
AppComponent appComponent = appComponentService.getById(appComponentVo.getId());
|
||||
if (appComponent == null) {
|
||||
result.error500("未找到对应实体");
|
||||
} else {
|
||||
result.setResult(appComponent);
|
||||
result.setSuccess(true);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,114 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.controller;
|
||||
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponentAuth;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.dto.AppComponentAuthDto;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.AppComponentAuthVo;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLDecoder;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.jeecg.common.util.oConvertUtils;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponentUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IAppComponentUserService;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
|
||||
/**
|
||||
* @Title: Controller
|
||||
* @Description: 用户自定义组件授权
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/xmgl/appComponentUser")
|
||||
@Slf4j
|
||||
@Api(tags = "用户自定义组件授权管理")
|
||||
public class AppComponentUserController {
|
||||
@Autowired
|
||||
private IAppComponentUserService appComponentUserService;
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param appComponentUser
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "用户自定义组件授权管理", operType = "列表查询", operDesc = "获取当前用户的组件列表")
|
||||
@ApiOperation(value = "获取当前用户的组件列表", notes = "获取当前用户的组件列表", httpMethod = "POST")
|
||||
@PostMapping(value = "/getMyComponentList")
|
||||
public Result<List<AppComponentAuthDto>> getMyComponentList(@RequestBody AppComponentUser appComponentUser) {
|
||||
return Result.success(appComponentUserService.getMyComponentList(appComponentUser));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "用户自定义组件授权管理", operType = "删除", operDesc = "删除用户自定义组件授权信息")
|
||||
@ApiOperation(value = "删除用户自定义组件授权信息", notes = "删除用户自定义组件授权信息" , httpMethod="POST")
|
||||
@ApiImplicitParam(name = "id", value = "用户自定义组件授权ID", paramType = "body", required = true, dataType = "Integer")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<AppComponentUser> delete(@ApiIgnore @RequestBody AppComponentUser appComponentUser) {
|
||||
Result<AppComponentUser> result = new Result<AppComponentUser>();
|
||||
AppComponentUser appComponentUserEntity = appComponentUserService.getById(appComponentUser.getId());
|
||||
if(appComponentUserEntity == null) {
|
||||
result.error500("未找到对应实体");
|
||||
}else {
|
||||
boolean ok = appComponentUserService.removeById(appComponentUser.getId());
|
||||
if(ok) {
|
||||
result.success("删除成功!");
|
||||
} else {
|
||||
result.success("操作失败!");
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param appComponentUser
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "用户自定义组件授权管理", operType = "新增", operDesc = "添加用户自定义组件授权信息")
|
||||
@ApiOperation(value = " 添加用户自定义组件授权信息", notes = "添加用户自定义组件授权信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<Object> add(@RequestBody AppComponentUser appComponentUser) {
|
||||
appComponentUserService.saveInfo(appComponentUser);
|
||||
return Result.success("添加成功!");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,92 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.controller;
|
||||
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.BaseModule;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLDecoder;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.jeecg.common.util.oConvertUtils;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppModuleUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IAppModuleUserService;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
|
||||
/**
|
||||
* @Title: Controller
|
||||
* @Description: APP常用应用
|
||||
* @author: pengj
|
||||
* @date: 2025-11-05
|
||||
* @version: V1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/xmgl/appModuleUser")
|
||||
@Slf4j
|
||||
@Api(tags = "APP常用应用管理")
|
||||
public class AppModuleUserController {
|
||||
@Autowired
|
||||
private IAppModuleUserService appModuleUserService;
|
||||
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "APP常用应用管理", operType = "列表查询", operDesc = "获取当前账号的APP常用应用信息")
|
||||
@ApiOperation(value = " 获取当前账号的APP常用应用信息", notes = "获取当前账号的APP常用应用信息", httpMethod = "POST")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<BaseModule>> queryList() {
|
||||
return Result.success(appModuleUserService.queryList());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "权限管理",operType = "编辑用户查看的模块",operDesc = "编辑用户查看的模块")
|
||||
@ApiOperation(value = "编辑模块-用户关联信息", notes = "编辑模块-用户关联信息" , httpMethod="POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "userId", value = "人员账号Id", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "moduleIdStr", value = "模块ID,多个时逗号分割", paramType = "body", required = true, dataType = "String"),
|
||||
})
|
||||
@PostMapping(value = "/edit")
|
||||
public Result edit(@RequestBody Map<String, Object> map) {
|
||||
appModuleUserService.editBaseModuleUser(map);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
}
|
||||
@ -8,6 +8,7 @@ import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.CompanyProjectTreeVo;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.GetOrgSnListVo;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.ICompanyService;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
|
||||
@ -20,10 +21,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.HashMap;
|
||||
@ -183,6 +181,13 @@ public class CompanyController {
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "获取企业项目树", notes = "获取企业项目树")
|
||||
@GetMapping("/getCompanyProjectTree")
|
||||
public Result<List<CompanyProjectTreeVo>> getCompanyProjectTree() {
|
||||
return Result.success(companyService.getCompanyProjectTree());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 接口新版废弃
|
||||
*
|
||||
@ -236,6 +241,7 @@ public class CompanyController {
|
||||
@ApiImplicitParam(name = "standardType", value = "是否查询标养室,0否,1是", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "projectType", value = "是否展示,0否,1是", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "showVideoNum", value = "是否展示(在线)监控数量,0否,1是", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "bulidStatus", value = "项目状态", paramType = "body", required = true, dataType = "String"),
|
||||
})
|
||||
@PostMapping("/getComapnyStatisticsList")
|
||||
@PreAuthorize("@perm.hasSnAccess(#map['sn'])")
|
||||
@ -243,6 +249,20 @@ public class CompanyController {
|
||||
return Result.success(companyService.getCompanyStatisticsList(map));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "APP统计企业下项目各项目统计", notes = "APP统计企业下项目各项目统计")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "sn", value = "公司sn", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "videoType", value = "查询类型,0无视频,1有视频", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "standardType", value = "是否查询标养室,0否,1是", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "projectType", value = "是否展示,0否,1是", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "bulidStatus", value = "项目状态", paramType = "body", required = true, dataType = "String"),
|
||||
})
|
||||
@PostMapping("/getAppComapnyStatisticsList")
|
||||
@PreAuthorize("@perm.hasSnAccess(#map['sn'])")
|
||||
public Result<Map<String, Object>> getAppComapnyStatisticsList(@RequestBody Map<String, Object> map) {
|
||||
return Result.success(companyService.getAppCompanyStatisticsList(map));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "供应商选择审批组织(所有企业)", notes = "供应商选择审批组织(所有企业)")
|
||||
@PostMapping("/getComapnyStatisticsListBySupplier")
|
||||
public Result<Map<String, Object>> getComapnyStatisticsListBySupplier(@RequestBody Map<String, Object> map) {
|
||||
|
||||
@ -3,12 +3,17 @@ package com.zhgd.xmgl.modules.basicdata.controller;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.xuyanwu.spring.file.storage.FileInfo;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.dahuatech.hutool.json.JSONObject;
|
||||
import com.dahuatech.icc.model.event.eventSubcribe.ReceiveMsgVO;
|
||||
import com.dahuatech.icc.oauth.model.v202010.GeneralResponse;
|
||||
import com.gexin.fastjson.JSON;
|
||||
import com.gexin.fastjson.TypeReference;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.xmgl.async.AsyncAiAnalyse;
|
||||
import com.zhgd.xmgl.async.AsyncProjectWork;
|
||||
import com.zhgd.xmgl.call.IccCarCall;
|
||||
import com.zhgd.xmgl.call.IccWorkerCall;
|
||||
@ -17,12 +22,20 @@ import com.zhgd.xmgl.call.api.WorkerManufacturer;
|
||||
import com.zhgd.xmgl.call.factory.CarManufacturerFactory;
|
||||
import com.zhgd.xmgl.call.factory.WorkerManufacturerFactory;
|
||||
import com.zhgd.xmgl.call.util.IccHttpUtil;
|
||||
import com.zhgd.xmgl.constant.Cts;
|
||||
import com.zhgd.xmgl.modules.car.entity.CarCamera;
|
||||
import com.zhgd.xmgl.modules.car.entity.CarInfo;
|
||||
import com.zhgd.xmgl.modules.car.entity.CarPassRecord;
|
||||
import com.zhgd.xmgl.modules.car.service.ICarCameraService;
|
||||
import com.zhgd.xmgl.modules.car.service.impl.CarInfoServiceImpl;
|
||||
import com.zhgd.xmgl.modules.car.service.impl.CarPassRecordServiceImpl;
|
||||
import com.zhgd.xmgl.modules.project.entity.ProjectUfaceConfig;
|
||||
import com.zhgd.xmgl.modules.project.mapper.ProjectUfaceConfigMapper;
|
||||
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
|
||||
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareRecord;
|
||||
import com.zhgd.xmgl.modules.video.entity.VideoItem;
|
||||
import com.zhgd.xmgl.modules.video.mapper.AiAnalyseHardWareAlarmRecordMapper;
|
||||
import com.zhgd.xmgl.modules.video.mapper.AiAnalyseHardWareRecordMapper;
|
||||
import com.zhgd.xmgl.modules.worker.entity.UfaceDev;
|
||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||
import com.zhgd.xmgl.modules.worker.service.IUfaceDevService;
|
||||
@ -32,9 +45,13 @@ import com.zhgd.xmgl.modules.worker.service.impl.WorkerAttendanceServiceImpl;
|
||||
import com.zhgd.xmgl.modules.xz.entity.XzHikvisionSync;
|
||||
import com.zhgd.xmgl.modules.xz.service.impl.XzHikvisionSyncServiceImpl;
|
||||
import com.zhgd.xmgl.util.AsyncTaskUtil;
|
||||
import com.zhgd.xmgl.util.MapUtil;
|
||||
import com.zhgd.xmgl.util.MessageUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
@ -93,6 +110,21 @@ public class ExternalCallBackController {
|
||||
@Autowired
|
||||
@Lazy
|
||||
private IWorkerAttendanceService workerAttendanceService;
|
||||
@Lazy
|
||||
@Resource
|
||||
private AiAnalyseHardWareAlarmRecordMapper aiAnalyseHardWareAlarmRecordMapper;
|
||||
|
||||
@Lazy
|
||||
@Resource
|
||||
private AiAnalyseHardWareRecordMapper aiAnalyseHardWareRecordMapper;
|
||||
|
||||
@Lazy
|
||||
@Autowired
|
||||
private AsyncAiAnalyse asyncAiAnalyse;
|
||||
|
||||
@Lazy
|
||||
@Autowired
|
||||
private ProjectUfaceConfigMapper projectUfaceConfigMapper;
|
||||
|
||||
@ApiOperation(value = "icc订阅回调接口", notes = "icc订阅回调接口", httpMethod = "POST")
|
||||
@PostMapping(value = "/icc/subscribeCall")
|
||||
@ -124,6 +156,14 @@ public class ExternalCallBackController {
|
||||
log.info("实时刷卡记录推送事件:{}", param);
|
||||
saveWorkerAttendance(alarmRecordEventExt);
|
||||
}
|
||||
} else {
|
||||
JSONObject info = receiveMsgVO.getInfo();
|
||||
List<String> alarms = new ArrayList<>();
|
||||
if (alarms.contains(MapUtils.getString(info, "alarmType"))) {
|
||||
//AI算法推送事件
|
||||
log.info("AI算法推送事件:{}", param);
|
||||
saveAIRecord(info);
|
||||
}
|
||||
}
|
||||
}
|
||||
JSONObject jsonObjectRt = new JSONObject();
|
||||
@ -132,6 +172,41 @@ public class ExternalCallBackController {
|
||||
return jsonObjectRt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存icc门禁记录
|
||||
*
|
||||
* @param obj
|
||||
*/
|
||||
private void saveAIRecord(JSONObject obj) {
|
||||
log.info("调用AiAnalyseHardWareAlarmRecordServiceImpl#saveAiAnalyseHardWareAlarmRecord方法,参数为:{}", obj);
|
||||
QueryWrapper<AiAnalyseHardWareRecord> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(AiAnalyseHardWareRecord::getHardwareId, MapUtils.getString(obj, "deviceCode"));
|
||||
AiAnalyseHardWareRecord aiAnalyseHardWareRecord = aiAnalyseHardWareRecordMapper.selectOne(queryWrapper);
|
||||
if (aiAnalyseHardWareRecord == null) {
|
||||
throw new OpenAlertException(MessageUtil.get("EquipmentNumIncorrectErr"));
|
||||
}
|
||||
AiAnalyseHardWareAlarmRecord aiAnalyseHardWareAlarmRecord = new AiAnalyseHardWareAlarmRecord();
|
||||
aiAnalyseHardWareAlarmRecord.setCreateTime(MapUtils.getString(obj, "alarmDate"));
|
||||
aiAnalyseHardWareAlarmRecord.setAlarmType(MapUtils.getInteger(obj, "alarmType"));
|
||||
aiAnalyseHardWareAlarmRecord.setHardwareId(aiAnalyseHardWareRecord.getHardwareId());
|
||||
aiAnalyseHardWareAlarmRecord.setHardwareName(aiAnalyseHardWareRecord.getHardwareName());
|
||||
aiAnalyseHardWareAlarmRecord.setLocation(MapUtils.getString(obj, "deviceName"));
|
||||
MapUtils.getString(obj, "deviceName");
|
||||
aiAnalyseHardWareAlarmRecord.setProjectSn(aiAnalyseHardWareRecord.getProjectSn());
|
||||
aiAnalyseHardWareAlarmRecord.setStatus(1);
|
||||
try {
|
||||
ProjectUfaceConfig projectUfaceConfig = projectUfaceConfigMapper.selectOne(Wrappers.<ProjectUfaceConfig>lambdaQuery()
|
||||
.eq(ProjectUfaceConfig::getProjectSn, aiAnalyseHardWareRecord.getProjectSn()));
|
||||
File file = IccHttpUtil.downloadOssFile(MapUtils.getString(obj, "alarmPicture"), projectUfaceConfig);
|
||||
aiAnalyseHardWareAlarmRecord.setImageUrl(Optional.ofNullable(file).map(File::getName).orElse(null));
|
||||
} catch (Exception e) {
|
||||
log.error("icc回调AI预警下载图片失败", e);
|
||||
}
|
||||
aiAnalyseHardWareAlarmRecordMapper.insert(aiAnalyseHardWareAlarmRecord);
|
||||
//将数据通过MQTT转发到前台
|
||||
asyncAiAnalyse.sendAiAnalyse(aiAnalyseHardWareAlarmRecord, Cts.PROJECT_LEVEL);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存icc门禁记录
|
||||
*
|
||||
|
||||
@ -190,6 +190,15 @@ public class SystemUserController {
|
||||
return Result.success(systemUserService.getProjectChildernSystemUserList(map));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查找账号列表,根据sn", notes = "查找账号列表,根据sn", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "sn", required = true, value = "sn", paramType = "body"),
|
||||
})
|
||||
@PostMapping(value = "/getSystemUserList")
|
||||
public Result<List<SystemUser>> getSystemUserList(@RequestBody Map<String, Object> map) {
|
||||
return Result.success(systemUserService.getSystemUserList(map));
|
||||
}
|
||||
|
||||
@OperLog(operModul = "账号管理", operType = "分页查找项目子账号列表", operDesc = "分页查找项目子账号列表")
|
||||
@ApiOperation(value = "分页查找项目子账号列表", notes = "分页查找项目子账号列表", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
|
||||
@ -0,0 +1,74 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* @Description: APP组件库
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("app_component")
|
||||
@ApiModel(value = "AppComponent实体类", description = "AppComponent")
|
||||
public class AppComponent implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* APP组件授权ID
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "APP组件ID")
|
||||
private Long id;
|
||||
/**
|
||||
* 组件名称
|
||||
*/
|
||||
@Excel(name = "组件名称", width = 15)
|
||||
@ApiModelProperty(value = "组件名称")
|
||||
private String name;
|
||||
/**
|
||||
* 组件标识
|
||||
*/
|
||||
@Excel(name = "组件标识", width = 15)
|
||||
@ApiModelProperty(value = "组件标识")
|
||||
private String code;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
@Excel(name = "描述", width = 15)
|
||||
@ApiModelProperty(value = "描述")
|
||||
private String remark;
|
||||
/**
|
||||
* 组件类型(1:企业;2:项目)
|
||||
*/
|
||||
@Excel(name = "组件类型(1:企业;2:项目)", width = 15)
|
||||
@ApiModelProperty(value = "组件类型(1:企业;2:项目)")
|
||||
private String type;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
}
|
||||
@ -0,0 +1,86 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* @Description: APP组件授权信息
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("app_component_auth")
|
||||
@ApiModel(value = "AppComponentAuth实体类", description = "AppComponentAuth")
|
||||
public class AppComponentAuth implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* APP组件ID
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "APP组件授权ID")
|
||||
private Long id;
|
||||
/**
|
||||
* 组件自定义名称
|
||||
*/
|
||||
@Excel(name = "组件自定义名称", width = 15)
|
||||
@ApiModelProperty(value = "组件自定义名称")
|
||||
private String customizeName;
|
||||
/**
|
||||
* 组件ID
|
||||
*/
|
||||
@Excel(name = "组件ID", width = 15)
|
||||
@ApiModelProperty(value = "组件ID")
|
||||
private Long componentId;
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
@Excel(name = "排序", width = 15)
|
||||
@ApiModelProperty(value = "排序")
|
||||
private Integer sort;
|
||||
/**
|
||||
* 企业/项目SN
|
||||
*/
|
||||
@Excel(name = "企业/项目SN", width = 15)
|
||||
@ApiModelProperty(value = "企业/项目SN")
|
||||
private String sn;
|
||||
/**
|
||||
* 类型(1:企业;2:项目)
|
||||
*/
|
||||
@Excel(name = "类型(1:企业;2:项目)", width = 15)
|
||||
@ApiModelProperty(value = "类型(1:企业;2:项目)")
|
||||
private Integer type;
|
||||
/**
|
||||
* 授权类型(1:企业;2:项目)
|
||||
*/
|
||||
@Excel(name = "授权类型(1:企业;2:项目)", width = 15)
|
||||
@ApiModelProperty(value = "授权类型(1:企业;2:项目)")
|
||||
private Integer authType;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
}
|
||||
@ -0,0 +1,60 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* @Description: 用户自定义组件授权
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("app_component_user")
|
||||
@ApiModel(value = "appComponentUser实体类", description = "appComponentUser")
|
||||
public class AppComponentUser implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 用户APP组件授权ID
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "用户APP组件授权ID")
|
||||
private Long id;
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@Excel(name = "用户ID", width = 15)
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Long userId;
|
||||
/**
|
||||
* 企业/项目SN
|
||||
*/
|
||||
@Excel(name = "企业/项目SN", width = 15)
|
||||
@ApiModelProperty(value = "企业/项目SN")
|
||||
private String sn;
|
||||
/**
|
||||
* 授权类型(1:企业;2:项目)
|
||||
*/
|
||||
@Excel(name = "授权类型(1:企业;2:项目)", width = 15)
|
||||
@ApiModelProperty(value = "授权类型(1:企业;2:项目)")
|
||||
private Integer type;
|
||||
/**
|
||||
* 组件ID(多个逗号隔开)
|
||||
*/
|
||||
@Excel(name = "组件ID(多个逗号隔开)", width = 15)
|
||||
@ApiModelProperty(value = "组件ID(多个逗号隔开)")
|
||||
private String componentId;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "当无个人组件时是否返回默认全部")
|
||||
private Integer defaultFlag;
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* @Description: APP常用应用
|
||||
* @author: pengj
|
||||
* @date: 2025-11-05
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("app_module_user")
|
||||
@ApiModel(value = "AppModuleUser实体类", description = "AppModuleUser")
|
||||
public class AppModuleUser implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private Long id;
|
||||
/**
|
||||
* 人员ID
|
||||
*/
|
||||
@Excel(name = "人员ID", width = 15)
|
||||
@ApiModelProperty(value = "人员ID")
|
||||
private Long userId;
|
||||
/**
|
||||
* 模块ID
|
||||
*/
|
||||
@Excel(name = "模块ID", width = 15)
|
||||
@ApiModelProperty(value = "模块ID")
|
||||
private Long moduleId;
|
||||
}
|
||||
@ -95,6 +95,9 @@ public class BaseModule implements Serializable {
|
||||
@ApiModelProperty(value = "排序下标")
|
||||
private java.lang.String sortIndex;
|
||||
|
||||
@ApiModelProperty(value = "APP的logo路径")
|
||||
private java.lang.String appLogo;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "模块所属菜单")
|
||||
private List<EntityMap> menuList;
|
||||
|
||||
@ -0,0 +1,22 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.entity.dto;
|
||||
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponentAuth;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.AppComponentAuthVo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class AppComponentAuthDto extends AppComponentAuth {
|
||||
|
||||
@ApiModelProperty(value = "组件名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "组件标识")
|
||||
private String code;
|
||||
|
||||
@ApiModelProperty(value = "描述")
|
||||
private String remark;
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.entity.vo;
|
||||
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponent;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponentAuth;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.dto.ScreenAuthDto;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class AppComponentAuthVo {
|
||||
|
||||
@ApiModelProperty(value = "类型(1:企业;2:项目)")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty(value = "授权类型(1:企业;2:项目)")
|
||||
private Integer authType;
|
||||
|
||||
@ApiModelProperty(value = "对应唯一标识SN")
|
||||
private String uniqueFlag;
|
||||
|
||||
@ApiModelProperty(value = "组件信息")
|
||||
List<AppComponentAuth> componentAuth;
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class CompanyProjectTreeVo {
|
||||
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "父ID")
|
||||
private Long parentId;
|
||||
|
||||
@ApiModelProperty(value = "唯一标识")
|
||||
private String sn;
|
||||
|
||||
@ApiModelProperty(value = "1总部,2区域,3城市,4项目部, 5项目")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "顶级SN")
|
||||
private String headquartersSn;
|
||||
|
||||
@ApiModelProperty(value = "子级")
|
||||
private List<CompanyProjectTreeVo> childrenList;
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.dto.AppComponentAuthDto;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponentAuth;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: APP组件授权信息
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface AppComponentAuthMapper extends BaseMapper<AppComponentAuth> {
|
||||
|
||||
List<AppComponentAuthDto> getList(@Param(Constants.WRAPPER) Wrapper<AppComponentAuth> wrapper);
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponent;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: APP组件库
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface AppComponentMapper extends BaseMapper<AppComponent> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponentUser;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 用户自定义组件授权
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface AppComponentUserMapper extends BaseMapper<AppComponentUser> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppModuleUser;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: APP常用应用
|
||||
* @author: pengj
|
||||
* @date: 2025-11-05
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface AppModuleUserMapper extends BaseMapper<AppModuleUser> {
|
||||
|
||||
}
|
||||
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.wflow.bean.vo.OrgTreeVo;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
@ -30,6 +31,9 @@ public interface CompanyMapper extends BaseMapper<Company> {
|
||||
*/
|
||||
List<EntityMap> selectCompanyPage(Page<EntityMap> page, @Param("param") Map<String, Object> map);
|
||||
|
||||
|
||||
List<SystemUser> getSystemUserList(Map<String, Object> map);
|
||||
|
||||
/**
|
||||
* 分层获取一级二级企业列表
|
||||
*
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.basicdata.mapper.AppComponentAuthMapper">
|
||||
|
||||
<select id="getList" resultType="com.zhgd.xmgl.modules.basicdata.entity.dto.AppComponentAuthDto">
|
||||
select a.*, c.name, c.code, c.remark from app_component_auth a
|
||||
left join app_component c on a.component_id = c.id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.basicdata.mapper.AppComponentMapper">
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.basicdata.mapper.AppComponentUserMapper">
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.basicdata.mapper.AppModuleUserMapper">
|
||||
|
||||
</mapper>
|
||||
@ -49,6 +49,44 @@
|
||||
AND a.headquarters_sn = #{headquartersSn}
|
||||
</select>
|
||||
|
||||
<select id="getSystemUserList" resultType="com.zhgd.xmgl.modules.basicdata.entity.SystemUser">
|
||||
SELECT su.*
|
||||
FROM system_user su
|
||||
WHERE
|
||||
FIND_IN_SET(
|
||||
su.sn,
|
||||
(
|
||||
SELECT CONCAT_WS(
|
||||
',',
|
||||
group_concat(DISTINCT a.project_sn),
|
||||
group_concat(DISTINCT cp.company_sn),
|
||||
group_concat(DISTINCT b.company_sn),
|
||||
group_concat(DISTINCT f.company_sn),
|
||||
group_concat(DISTINCT f.headquarters_sn))
|
||||
FROM project a
|
||||
INNER JOIN company cp ON a.company_sn = cp.company_sn
|
||||
INNER JOIN company b ON cp.parent_id = b.company_id
|
||||
LEFT JOIN company f ON b.parent_id = f.company_id
|
||||
<where>
|
||||
<if test="companyType == '1'.toString()">
|
||||
and f.headquarters_sn = #{sn}
|
||||
</if>
|
||||
<if test="companyType == '2'.toString()">
|
||||
and f.company_sn = #{sn}
|
||||
</if>
|
||||
<if test="companyType == '3'.toString()">
|
||||
and b.company_sn = #{sn}
|
||||
</if>
|
||||
<if test="companyType == '4'.toString()">
|
||||
and a.project_sn = #{sn}
|
||||
</if>
|
||||
<if test="companyType == '5'.toString()">
|
||||
and cp.company_sn = #{sn}
|
||||
</if>
|
||||
</where>
|
||||
))
|
||||
</select>
|
||||
|
||||
<select id="getChildCompanyList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap" parameterType="map">
|
||||
SELECT a.*, a.company_name `name`, b.range_addr parent_range_addr
|
||||
FROM company a
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponentAuth;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.dto.AppComponentAuthDto;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.AppComponentAuthVo;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.ScreenAuthVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: APP组件授权信息
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
public interface IAppComponentAuthService extends IService<AppComponentAuth> {
|
||||
|
||||
|
||||
boolean saveInfo(AppComponentAuthVo appComponentAuthVo);
|
||||
|
||||
|
||||
List<AppComponentAuthDto> getList(Wrapper<AppComponentAuth> wrapper);
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.service;
|
||||
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponent;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @Description: APP组件库
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
public interface IAppComponentService extends IService<AppComponent> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.service;
|
||||
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponentUser;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.dto.AppComponentAuthDto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 用户自定义组件授权
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
public interface IAppComponentUserService extends IService<AppComponentUser> {
|
||||
|
||||
void saveInfo(AppComponentUser appComponentUser);
|
||||
|
||||
List<AppComponentAuthDto> getMyComponentList(AppComponentUser appComponentUser);
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.service;
|
||||
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppModuleUser;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.BaseModule;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description: APP常用应用
|
||||
* @author: pengj
|
||||
* @date: 2025-11-05
|
||||
* @version: V1.0
|
||||
*/
|
||||
public interface IAppModuleUserService extends IService<AppModuleUser> {
|
||||
|
||||
/**
|
||||
* 编辑模块-用户关联信息
|
||||
*
|
||||
* @param map
|
||||
*/
|
||||
void editBaseModuleUser(Map<String, Object> map);
|
||||
|
||||
List<BaseModule> queryList();
|
||||
}
|
||||
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.CompanyProjectTreeVo;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.GetOrgSnListVo;
|
||||
|
||||
import java.util.HashMap;
|
||||
@ -47,6 +48,8 @@ public interface ICompanyService extends IService<Company> {
|
||||
*/
|
||||
List<EntityMap> getLayerCompanyList(Map<String, Object> map);
|
||||
|
||||
List<CompanyProjectTreeVo> getCompanyProjectTree();
|
||||
|
||||
/**
|
||||
*分层获取一级二级企业以及项目账号
|
||||
* @param map
|
||||
@ -87,6 +90,13 @@ public interface ICompanyService extends IService<Company> {
|
||||
*/
|
||||
Map<String, Object> getCompanyStatisticsList(Map<String, Object> map);
|
||||
|
||||
/**
|
||||
*APP统计企业下项目各项目统计
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getAppCompanyStatisticsList(Map<String, Object> map);
|
||||
|
||||
/**
|
||||
*供应商选择审批组织(所有企业)
|
||||
* @param map
|
||||
|
||||
@ -390,4 +390,6 @@ public interface ISystemUserService extends IService<SystemUser> {
|
||||
Map<String, Object> verifyLogin(Map<String, Object> map);
|
||||
|
||||
List<Long> getCompanyUserIdsByProjectSn(String projectSn);
|
||||
|
||||
List<SystemUser> getSystemUserList(Map<String, Object> map);
|
||||
}
|
||||
|
||||
@ -0,0 +1,43 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponentAuth;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.dto.AppComponentAuthDto;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.AppComponentAuthVo;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.ScreenAuthVo;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.AppComponentAuthMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IAppComponentAuthService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: APP组件授权信息
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class AppComponentAuthServiceImpl extends ServiceImpl<AppComponentAuthMapper, AppComponentAuth> implements IAppComponentAuthService {
|
||||
|
||||
@Override
|
||||
public boolean saveInfo(AppComponentAuthVo appComponentAuthVo) {
|
||||
this.remove(Wrappers.<AppComponentAuth>lambdaQuery()
|
||||
.eq(AppComponentAuth::getType, appComponentAuthVo.getType())
|
||||
.eq(AppComponentAuth::getAuthType, appComponentAuthVo.getAuthType())
|
||||
.eq(AppComponentAuth::getSn, appComponentAuthVo.getUniqueFlag()));
|
||||
for (AppComponentAuth appComponentAuth : appComponentAuthVo.getComponentAuth()) {
|
||||
appComponentAuth.setCreateTime(new Date());
|
||||
}
|
||||
return this.saveBatch(appComponentAuthVo.getComponentAuth());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AppComponentAuthDto> getList(Wrapper<AppComponentAuth> wrapper) {
|
||||
return baseMapper.getList(wrapper);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.service.impl;
|
||||
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponent;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.AppComponentMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IAppComponentService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
/**
|
||||
* @Description: APP组件库
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class AppComponentServiceImpl extends ServiceImpl<AppComponentMapper, AppComponent> implements IAppComponentService {
|
||||
|
||||
}
|
||||
@ -0,0 +1,103 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponentAuth;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppComponentUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.dto.AppComponentAuthDto;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.AppComponentUserMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IAppComponentAuthService;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IAppComponentUserService;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.ICompanyService;
|
||||
import com.zhgd.xmgl.modules.project.entity.vo.ProjectInfoExtVo;
|
||||
import com.zhgd.xmgl.modules.project.service.IProjectService;
|
||||
import com.zhgd.xmgl.security.util.SecurityUtils;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Description: 用户自定义组件授权
|
||||
* @author: pengj
|
||||
* @date: 2025-11-04
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class AppComponentUserServiceImpl extends ServiceImpl<AppComponentUserMapper, AppComponentUser> implements IAppComponentUserService {
|
||||
|
||||
@Autowired
|
||||
private IAppComponentAuthService appComponentAuthService;
|
||||
|
||||
@Autowired
|
||||
private IProjectService projectService;
|
||||
|
||||
@Autowired
|
||||
private ICompanyService companyService;
|
||||
|
||||
@Override
|
||||
public void saveInfo(AppComponentUser appComponentUser) {
|
||||
this.remove(Wrappers.<AppComponentUser>lambdaQuery()
|
||||
.eq(AppComponentUser::getUserId, SecurityUtils.getUser().getUserId())
|
||||
.eq(AppComponentUser::getType, appComponentUser.getType())
|
||||
.eq(AppComponentUser::getSn, appComponentUser.getSn()));
|
||||
appComponentUser.setUserId(SecurityUtils.getUser().getUserId());
|
||||
this.save(appComponentUser);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AppComponentAuthDto> getMyComponentList(AppComponentUser appComponentUser) {
|
||||
AppComponentUser componentUser = this.getOne(Wrappers.<AppComponentUser>lambdaQuery()
|
||||
.eq(AppComponentUser::getUserId, SecurityUtils.getUser().getUserId())
|
||||
.eq(AppComponentUser::getType, appComponentUser.getType())
|
||||
.eq(AppComponentUser::getSn, appComponentUser.getSn()));
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("sn", appComponentUser.getSn());
|
||||
map.put("type", SecurityUtils.getUser().getAccountType() >= 5 ? 2 : 1);
|
||||
map.put("authType", appComponentUser.getType());
|
||||
QueryWrapper<AppComponentAuth> queryWrapper = QueryGenerator.initQueryWrapper(AppComponentAuth.class, map, "a.");
|
||||
if (componentUser != null && StringUtils.isNotBlank(componentUser.getComponentId())) {
|
||||
queryWrapper.in("a.component_id", new ArrayList<>(Arrays.asList(componentUser.getComponentId().split(","))));
|
||||
queryWrapper.last("ORDER BY FIELD(a.component_id, " + componentUser.getComponentId() + ")");
|
||||
} else {
|
||||
if (appComponentUser.getDefaultFlag() != null && appComponentUser.getDefaultFlag() == 1) {
|
||||
queryWrapper.orderByAsc("a.sort");
|
||||
} else {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
List<AppComponentAuthDto> list = appComponentAuthService.getList(queryWrapper);
|
||||
if (list.size() == 0) {
|
||||
if (appComponentUser.getType() == 1) {
|
||||
Company company = companyService.getOne(Wrappers.<Company>lambdaQuery().eq(Company::getCompanySn, appComponentUser.getSn()));
|
||||
map.put("sn", company.getHeadquartersSn());
|
||||
} else {
|
||||
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(appComponentUser.getSn());
|
||||
if (projectInfoBySn != null) {
|
||||
Company company = companyService.getOne(Wrappers.<Company>lambdaQuery().eq(Company::getCompanySn, projectInfoBySn.getCompanySn()));
|
||||
map.put("sn", company.getHeadquartersSn());
|
||||
map.put("type", 1);
|
||||
}
|
||||
}
|
||||
queryWrapper = QueryGenerator.initQueryWrapper(AppComponentAuth.class, map, "a.");
|
||||
if (componentUser != null && StringUtils.isNotBlank(componentUser.getComponentId())) {
|
||||
queryWrapper.in("a.component_id", new ArrayList<>(Arrays.asList(componentUser.getComponentId().split(","))));
|
||||
queryWrapper.last("ORDER BY FIELD(a.component_id, " + componentUser.getComponentId() + ")");
|
||||
} else {
|
||||
if (appComponentUser.getDefaultFlag() != null && appComponentUser.getDefaultFlag() == 1) {
|
||||
queryWrapper.orderByAsc("a.sort");
|
||||
} else {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
list = appComponentAuthService.getList(queryWrapper);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,65 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.zhgd.xmgl.constant.Cts;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.AppModuleUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.BaseModule;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.BaseModuleUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.AppModuleUserMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.BaseModuleMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.BaseModuleUserMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IAppModuleUserService;
|
||||
import com.zhgd.xmgl.security.util.SecurityUtils;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: APP常用应用
|
||||
* @author: pengj
|
||||
* @date: 2025-11-05
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class AppModuleUserServiceImpl extends ServiceImpl<AppModuleUserMapper, AppModuleUser> implements IAppModuleUserService {
|
||||
|
||||
@Autowired
|
||||
private BaseModuleMapper baseModuleMapper;
|
||||
|
||||
@Override
|
||||
public void editBaseModuleUser(Map<String, Object> map) {
|
||||
QueryWrapper<AppModuleUser> queryWrapper=new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(AppModuleUser::getUserId, MapUtils.getString(map,"userId"));
|
||||
baseMapper.delete(queryWrapper);
|
||||
String moduleIdStr=MapUtils.getString(map,"moduleIdStr");
|
||||
if(StringUtils.isNotEmpty(moduleIdStr)){
|
||||
for (String moduleId:moduleIdStr.split(Cts.COMMA)){
|
||||
AppModuleUser appModuleUser=new AppModuleUser();
|
||||
appModuleUser.setUserId(MapUtils.getLong(map,"userId"));
|
||||
appModuleUser.setModuleId(Long.valueOf(moduleId));
|
||||
baseMapper.insert(appModuleUser);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BaseModule> queryList() {
|
||||
QueryWrapper<AppModuleUser> queryWrapper=new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(AppModuleUser::getUserId, SecurityUtils.getUser().getUserId());
|
||||
List<Long> collect = this.list(queryWrapper).stream().map(a -> a.getModuleId()).collect(Collectors.toList());
|
||||
List<BaseModule> resultList = new ArrayList<>();
|
||||
if (collect.size() > 0) {
|
||||
resultList = baseModuleMapper.selectBatchIds(collect);
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
}
|
||||
@ -27,6 +27,7 @@ import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.XzSystemUserToCompanyProject;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.CompanyProjectTreeVo;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.vo.GetOrgSnListVo;
|
||||
import com.zhgd.xmgl.modules.basicdata.enums.CompanyTypeEnum;
|
||||
import com.zhgd.xmgl.modules.basicdata.enums.SystemUserAccountTypeEnum;
|
||||
@ -210,6 +211,54 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CompanyProjectTreeVo> getCompanyProjectTree() {
|
||||
List<Company> companyList = companyMapper.selectList(null);
|
||||
List<Project> projectList = projectMapper.selectList(null);
|
||||
List<CompanyProjectTreeVo> allList = new ArrayList<>();
|
||||
for (Company company : companyList) {
|
||||
CompanyProjectTreeVo companyProjectTreeVo = new CompanyProjectTreeVo();
|
||||
companyProjectTreeVo.setId(company.getCompanyId());
|
||||
companyProjectTreeVo.setParentId(company.getParentId());
|
||||
companyProjectTreeVo.setSn(company.getCompanySn());
|
||||
companyProjectTreeVo.setType(company.getCompanyType());
|
||||
companyProjectTreeVo.setName(company.getCompanyName());
|
||||
companyProjectTreeVo.setHeadquartersSn(company.getHeadquartersSn());
|
||||
allList.add(companyProjectTreeVo);
|
||||
}
|
||||
for (Project project : projectList) {
|
||||
List<Company> collect = companyList.stream().filter(c -> c.getCompanySn().equals(project.getCompanySn())).collect(Collectors.toList());
|
||||
CompanyProjectTreeVo companyProjectTreeVo = new CompanyProjectTreeVo();
|
||||
companyProjectTreeVo.setId(project.getProjectId());
|
||||
companyProjectTreeVo.setParentId(collect.size() > 0 ? collect.get(0).getCompanyId() : 1L);
|
||||
companyProjectTreeVo.setSn(project.getProjectSn());
|
||||
companyProjectTreeVo.setType(5);
|
||||
companyProjectTreeVo.setName(project.getProjectName());
|
||||
companyProjectTreeVo.setHeadquartersSn(collect.size() > 0 ? collect.get(0).getHeadquartersSn() : "");
|
||||
allList.add(companyProjectTreeVo);
|
||||
}
|
||||
List<CompanyProjectTreeVo> parentList = allList.stream().filter(a -> a.getType() == 1).collect(Collectors.toList());
|
||||
build(parentList, allList);
|
||||
return parentList;
|
||||
}
|
||||
|
||||
private void build(List<CompanyProjectTreeVo> parentList, List<CompanyProjectTreeVo> allList) {
|
||||
for (CompanyProjectTreeVo companyProjectTreeVo : parentList) {
|
||||
List<CompanyProjectTreeVo> children = new ArrayList<>();
|
||||
if (companyProjectTreeVo.getType() == 1) {
|
||||
children = allList.stream().filter(a -> a.getType() == 2 && a.getHeadquartersSn().equals(companyProjectTreeVo.getHeadquartersSn()))
|
||||
.collect(Collectors.toList());
|
||||
} else {
|
||||
children = allList.stream().filter(a -> a.getParentId().toString().equals(companyProjectTreeVo.getId().toString()))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
if (children.size() > 0) {
|
||||
build(children, allList);
|
||||
}
|
||||
companyProjectTreeVo.setChildrenList(children);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<EntityMap> getCompanyProjectList(Map<String, Object> map) {
|
||||
map.put("companyType", "2");
|
||||
@ -415,6 +464,99 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
|
||||
return data;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getAppCompanyStatisticsList(Map<String, Object> map) {
|
||||
Map<String, Object> data = new HashMap<>(16);
|
||||
QueryWrapper<Company> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(Company::getCompanySn, MapUtils.getString(map, "sn"));
|
||||
Company tempCompany = companyMapper.selectOne(queryWrapper);
|
||||
Integer type = MapUtils.getInteger(map, "videoType", 0);
|
||||
Integer standardType = MapUtils.getInteger(map, "standardType", 0);
|
||||
Integer projectType = MapUtils.getInteger(map, "projectType", 1);
|
||||
if (tempCompany != null) {
|
||||
if (Objects.equals(tempCompany.getCompanyType(), HEADQUARTERS.getValue())) { //总部
|
||||
map.put("headquartersSn", MapUtils.getString(map, "sn"));
|
||||
map.put("companyType", "1");
|
||||
List<EntityMap> headCompanyList = companyMapper.getFirstCompanyList(map);
|
||||
map.put("companyType", "2");
|
||||
List<EntityMap> fistComapnyList = companyMapper.getFirstCompanyList(map);
|
||||
map.put("companyType", "3");
|
||||
List<EntityMap> secondComapnyList = companyMapper.getFirstCompanyList(map);
|
||||
map.put("companyType", "4");
|
||||
List<EntityMap> childComapnyList = companyMapper.getFirstCompanyList(map);
|
||||
map.put("companyType", "1");
|
||||
if (1 == projectType) {
|
||||
childComapnyList = getChildCompanyStatisticsList(map, type, standardType, childComapnyList);
|
||||
}
|
||||
secondComapnyList = getGroupStatisticsCompany(secondComapnyList, childComapnyList);
|
||||
fistComapnyList = getGroupStatisticsCompany(fistComapnyList, secondComapnyList);
|
||||
fistComapnyList = filterCompanyByProject(fistComapnyList, map);
|
||||
for (EntityMap entityMap : headCompanyList) {
|
||||
entityMap.put("list", fistComapnyList);
|
||||
}
|
||||
data.put("companyList", headCompanyList);
|
||||
addSnForTree(data);
|
||||
} else if (Objects.equals(tempCompany.getCompanyType(), CompanyTypeEnum.REGIONS.getValue())) {
|
||||
data.put("companyInfo", tempCompany);
|
||||
map.put("companyType", "2");
|
||||
List<EntityMap> headCompanyList = companyMapper.getChildCompanyList(map);
|
||||
map.put("companyType", "3");
|
||||
List<EntityMap> fistComapnyList = companyMapper.getChildCompanyList(map);
|
||||
map.put("companyType", "4");
|
||||
List<EntityMap> companyList = companyMapper.getLastChildCompanyList(map);
|
||||
if (1 == projectType) {
|
||||
if (companyList != null && companyList.size() > 0) {
|
||||
map.put("companyType", "2");
|
||||
companyList = getChildCompanyStatisticsList(map, type, standardType, companyList);
|
||||
}
|
||||
}
|
||||
fistComapnyList = getGroupStatisticsCompany(fistComapnyList, companyList);
|
||||
fistComapnyList = filterCompanyByProject(fistComapnyList, map);
|
||||
for (EntityMap entityMap : headCompanyList) {
|
||||
entityMap.put("list", fistComapnyList);
|
||||
}
|
||||
data.put("companyList", headCompanyList);
|
||||
} else if (Objects.equals(tempCompany.getCompanyType(), CompanyTypeEnum.CITIES.getValue())) {
|
||||
Company parentCompany = companyMapper.selectById(tempCompany.getParentId());
|
||||
data.put("parentCompany", parentCompany);
|
||||
data.put("companyInfo", tempCompany);
|
||||
map.put("companyType", "3");
|
||||
List<EntityMap> fistComapnyList = companyMapper.getChildCompanyList(map);
|
||||
map.put("companyType", "4");
|
||||
List<EntityMap> companyList = companyMapper.getChildCompanyList(map);
|
||||
if (1 == projectType) {
|
||||
if (companyList != null && companyList.size() > 0) {
|
||||
map.put("companyType", "3");
|
||||
companyList = getChildCompanyStatisticsList(map, type, standardType, companyList);
|
||||
}
|
||||
}
|
||||
companyList = filterCompanyByProject(companyList, map);
|
||||
for (EntityMap entityMap : fistComapnyList) {
|
||||
entityMap.put("list", companyList);
|
||||
}
|
||||
data.put("companyList", companyList);
|
||||
} else {
|
||||
Company parentCompany = companyMapper.selectById(tempCompany.getParentId());
|
||||
Company firstCompany = companyMapper.selectById(parentCompany.getParentId());
|
||||
data.put("parentCompany", parentCompany);
|
||||
data.put("companyInfo", tempCompany);
|
||||
data.put("firstCompany", firstCompany);
|
||||
map.put("companyType", "5");
|
||||
List<EntityMap> projectList = getProjectEntityMaps(map, type, standardType);
|
||||
data.put("projectList", projectList);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (1 == type) {
|
||||
map.put("companyType", "4");
|
||||
List<EntityMap> videoList = projectMapper.selectVideoList(map);
|
||||
hidePasswordName(videoList);
|
||||
data.put("videoList", videoList);
|
||||
}
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加在线离线数量
|
||||
*
|
||||
|
||||
@ -1938,6 +1938,12 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
|
||||
.eq(SystemUser::getSn, projectSn)).stream().collect(Collectors.toMap(SystemUser::getUserId, Function.identity(), (o1, o2) -> o1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SystemUser> getSystemUserList(Map<String, Object> map) {
|
||||
companyService.getCompanyType(map);
|
||||
return companyMapper.getSystemUserList(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> verifyLogin(Map<String, Object> map) {
|
||||
boolean needCode = false;
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
,qr.region_name
|
||||
,group_concat(distinct su.real_name) safe_control_duty_names
|
||||
from big_danger_build_place t
|
||||
join quality_region qr on qr.id=t.region_id
|
||||
left join quality_region qr on qr.id=t.region_id
|
||||
left join system_user su on find_in_set(su.user_id,t.safe_control_duty_ids)
|
||||
group by t.id
|
||||
)t
|
||||
|
||||
@ -192,6 +192,10 @@ public class ExamTrain implements Serializable {
|
||||
@ApiModelProperty(value = "课件名称")
|
||||
private String courseName;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "课件背景图")
|
||||
private String coverImg;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "考试试卷")
|
||||
private String paperName;
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
|
||||
|
||||
<select id="pageList" resultType="com.zhgd.xmgl.modules.exam.entity.ExamTrain">
|
||||
select * from (select et.*, s.name as subjectName, u.real_name createByName, cc.course_name courseName, pp.name paperName from exam_train et
|
||||
select * from (select et.*, s.name as subjectName, u.real_name createByName, cc.course_name courseName, cc.cover_img coverImg, pp.name paperName from exam_train et
|
||||
left join exam_subject s on et.subject_id = s.id
|
||||
left join exam_course cc on et.course_id = cc.id
|
||||
left join exam_paper pp on et.exam_paper_id = pp.id
|
||||
|
||||
@ -23,6 +23,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.simpleframework.xml.core.Validate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
@ -48,6 +49,8 @@ public class MechanicalEquipmentPositionDataController {
|
||||
@Lazy
|
||||
@Autowired
|
||||
private IMockMechanicalEquipmentPositionDataConfigService mockMechanicalEquipmentPositionDataConfigService;
|
||||
@Value("${shantuiAesSecret:}")
|
||||
private String shantuiAesSecret;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@ -239,4 +242,5 @@ public class MechanicalEquipmentPositionDataController {
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,60 @@
|
||||
package com.zhgd.xmgl.modules.mechanicalequipmentposition.controller;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.zhgd.xmgl.modules.mechanicalequipmentposition.entity.MechanicalEquipmentPositionData;
|
||||
import com.zhgd.xmgl.modules.mechanicalequipmentposition.entity.dto.ShantuiMechanicalEquipmentMsg;
|
||||
import com.zhgd.xmgl.modules.mechanicalequipmentposition.service.IMechanicalEquipmentPositionDataService;
|
||||
import com.zhgd.xmgl.util.shantui.AESUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Objects;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/")
|
||||
@Slf4j
|
||||
@Api(tags = "山推相关Api")
|
||||
public class ShantuiController {
|
||||
@Autowired
|
||||
private IMechanicalEquipmentPositionDataService mechanicalEquipmentPositionDataService;
|
||||
@Value("${shantuiAesSecret:}")
|
||||
private String shantuiAesSecret;
|
||||
|
||||
@ApiOperation(value = "山推添加机械设备定位-实时和报警数据信息", notes = "山推添加机械设备定位-实时和报警数据信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/notice/push")
|
||||
public String addDataBySt(@ApiIgnore @RequestBody HashMap<String, Object> param) {
|
||||
log.debug("山推添加机械设备定位-实时和报警数据信息:{}", JSON.toJSONString(param));
|
||||
try {
|
||||
String cipher = MapUtils.getString(param, "cipher");
|
||||
String decrypt = AESUtil.decrypt(cipher, shantuiAesSecret);
|
||||
ShantuiMechanicalEquipmentMsg equipmentMsg = JSONObject.parseObject(decrypt, ShantuiMechanicalEquipmentMsg.class);
|
||||
ShantuiMechanicalEquipmentMsg.StaticAttr staticAttr = equipmentMsg.getStaticAttr();
|
||||
MechanicalEquipmentPositionData positionData = new MechanicalEquipmentPositionData();
|
||||
positionData.setDevSn(staticAttr.getDeviceCode());
|
||||
ShantuiMechanicalEquipmentMsg.DynamicAttr dynamicAttr = equipmentMsg.getDynamicAttr();
|
||||
positionData.setLatitude(Convert.toDouble(dynamicAttr.getLatitude()));
|
||||
positionData.setLongitude(Convert.toDouble(dynamicAttr.getLongitude()));
|
||||
positionData.setUploadTime(DateUtil.parse(equipmentMsg.getTimedetail(), "yyyyMMddHHmmssSSS"));
|
||||
positionData.setSpeed(Convert.toDouble(dynamicAttr.getGps_speed()));
|
||||
positionData.setWorkStatus(Objects.equals(dynamicAttr.getAcc_flag(), "0") ? 2 : 1);
|
||||
positionData.setMileage(Convert.toDouble(dynamicAttr.getTotal_miles()));
|
||||
mechanicalEquipmentPositionDataService.add(positionData);
|
||||
} catch (Exception e) {
|
||||
return "{\"code\":1, \"msg\":\"" + e.getMessage() + "\"}";
|
||||
}
|
||||
return "{\"code\":0, \"msg\":\"success\"}";
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,79 @@
|
||||
package com.zhgd.xmgl.modules.mechanicalequipmentposition.entity.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ShantuiMechanicalEquipmentMsg {
|
||||
private String tid;
|
||||
private String protocolCode;
|
||||
private String cmdCode;
|
||||
private String commSign;
|
||||
private String transactionID;
|
||||
private String version;
|
||||
private String timedetail;
|
||||
private Integer did;
|
||||
|
||||
private StaticAttr staticAttr;
|
||||
private DynamicAttr dynamicAttr;
|
||||
|
||||
@Data
|
||||
public static class StaticAttr {
|
||||
private String deviceType;
|
||||
private String terminalNo;
|
||||
private String productId;
|
||||
private String commSign;
|
||||
private String deviceCode;
|
||||
private String deviceName;
|
||||
private String tid;
|
||||
private String iccid;
|
||||
private String createTime;
|
||||
private String deviceSeries;
|
||||
private String deviceModel;
|
||||
private String id;
|
||||
private String simNo;
|
||||
private String dataSource;
|
||||
private String did;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class DynamicAttr {
|
||||
private String timedetail;
|
||||
private String serial_no;
|
||||
private String subversion;
|
||||
private String hardware_version;
|
||||
private String out_sensor_oil_height_real;
|
||||
private String out_sensor_oil_height;
|
||||
private String gps_valid_flag;
|
||||
private String gps_lat_flag;
|
||||
private String gps_long_flag;
|
||||
private String gps_connect_flag;
|
||||
private String longitude;
|
||||
private String latitude;
|
||||
private String acc_flag;
|
||||
private String out_voltage;
|
||||
private String inner_voltage;
|
||||
private String gps_speed;
|
||||
private String gps_direction;
|
||||
private String gps_height_mm;
|
||||
private String today_hours;
|
||||
private String total_hours;
|
||||
private String today_miles;
|
||||
private String total_miles;
|
||||
private String engine_working_hours;
|
||||
private String today_fuel_consume;
|
||||
private String wake_up_flag;
|
||||
private String row_vibrate_data;
|
||||
private String column_vibrate_data;
|
||||
private String rtk_positioning_mode;
|
||||
private String g_sensor_temperature;
|
||||
private String acceleration_x;
|
||||
private String acceleration_y;
|
||||
private String acceleration_z;
|
||||
private String fuel_select_canid_count;
|
||||
private List<Object> fuel_select_canid_list;
|
||||
private String hour_select_canid_count;
|
||||
private List<Object> hour_select_canid_list;
|
||||
private String firmware_version_full;
|
||||
}
|
||||
}
|
||||
@ -491,4 +491,12 @@ public class ProjectController {
|
||||
public Result<List<TreeProjectVideoListVo>> selectTreeProjectVideoList(@RequestBody HashMap<String, Object> map) {
|
||||
return Result.success(projectService.selectTreeProjectVideoList(map));
|
||||
}
|
||||
@OperLog(operModul = "项目管理", operType = "查询", operDesc = "查询企业下所有项目的类型统计")
|
||||
@ApiOperation(value = "查询企业下所有项目的类型统计", notes = "查询企业下所有项目的类型统计")
|
||||
@ApiImplicitParam(name = "companySn", value = "企业SN", paramType = "query", required = true, dataType = "String")
|
||||
@PostMapping("/getListGroupType")
|
||||
public Result<List<Map<String, Object>>> getListGroupType(@RequestBody Map<String, Object> map) {
|
||||
return Result.success(projectService.getListGroupType(map));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -241,6 +241,9 @@
|
||||
<if test="projectName != null and projectName != ''">
|
||||
and a.project_name like concat('%', #{projectName}, '%')
|
||||
</if>
|
||||
<if test="bulidStatus != null">
|
||||
and a.bulid_status = #{bulidStatus}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="selectVideoList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
|
||||
|
||||
@ -238,4 +238,6 @@ public interface IProjectService extends IService<Project> {
|
||||
List<Project> selectProjectListByCompanySn(HashMap<String, Object> map);
|
||||
|
||||
List<TreeProjectVideoListVo> selectTreeProjectVideoList(HashMap<String, Object> map);
|
||||
|
||||
List<Map<String, Object>> getListGroupType(Map<String, Object> map);
|
||||
}
|
||||
|
||||
@ -721,6 +721,32 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
||||
return companyProjectStat;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getListGroupType(Map<String, Object> map) {
|
||||
Company company = companyService.getOne(Wrappers.<Company>lambdaQuery().eq(Company::getCompanySn, MapUtils.getString(map, "companySn")));
|
||||
List<String> companySnList = new ArrayList<>();
|
||||
if (company.getCompanyType() == 1) {
|
||||
companySnList = companyService.list(Wrappers.<Company>lambdaQuery().eq(Company::getHeadquartersSn, company.getCompanySn()))
|
||||
.stream().map(c -> c.getCompanySn()).collect(Collectors.toList());
|
||||
} else {
|
||||
getChildren(company.getCompanyId(), companySnList);
|
||||
}
|
||||
companySnList.add("0");
|
||||
List<Project> projects = this.list(Wrappers.<Project>lambdaQuery().in(Project::getCompanySn, companySnList));
|
||||
List<DictionaryItem> typeList = dictionaryItemService.list(Wrappers.<DictionaryItem>lambdaQuery().eq(DictionaryItem::getDictionaryEncoding, "project_type"));
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
for (DictionaryItem dictionaryItem : typeList) {
|
||||
int count = (int) projects.stream().filter(p -> p.getProjectType().toString().equals(dictionaryItem.getData())).count();
|
||||
if (count > 0) {
|
||||
Map<String, Object> obj = new HashMap<>();
|
||||
obj.put("name", dictionaryItem.getName());
|
||||
obj.put("value", count);
|
||||
result.add(obj);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private void getChildren(Long companyId, List<String> companyList) {
|
||||
List<Company> companys = companyService.list(Wrappers.<Company>lambdaQuery().eq(Company::getParentId, companyId));
|
||||
for (Company company : companys) {
|
||||
|
||||
@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.risk.service.impl;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@ -25,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Description: 四色图图纸
|
||||
@ -70,6 +72,17 @@ public class FourColorDrawPaperServiceImpl extends ServiceImpl<FourColorDrawPape
|
||||
public void add(FourColorDrawPaperDto fourColorDrawPaperDto) {
|
||||
fourColorDrawPaperDto.setId(null);
|
||||
baseMapper.insert(fourColorDrawPaperDto);
|
||||
setOtherNotShow(fourColorDrawPaperDto);
|
||||
}
|
||||
|
||||
private void setOtherNotShow(FourColorDrawPaperDto dto) {
|
||||
if (Objects.equals(dto.getIsShow(),1)) {
|
||||
this.update(null, new LambdaUpdateWrapper<FourColorDrawPaper>()
|
||||
.set(FourColorDrawPaper::getIsShow, 0)
|
||||
.eq(FourColorDrawPaper::getIsShow, 1)
|
||||
.ne(FourColorDrawPaper::getId, dto.getId())
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -79,6 +92,7 @@ public class FourColorDrawPaperServiceImpl extends ServiceImpl<FourColorDrawPape
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
baseMapper.updateById(fourColorDrawPaperDto);
|
||||
setOtherNotShow(fourColorDrawPaperDto);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -54,6 +54,7 @@ import java.util.Map;
|
||||
@ApiOperation(value = "树形列表查询视频分组信息", notes = "树形列表查询视频分组信息", httpMethod = "GET")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "projectSn", value = "一级公司sn", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "companySn", value = "组织SN", paramType = "body", required = true, dataType = "String")
|
||||
})
|
||||
@GetMapping(value = "tree/list")
|
||||
public Result<JSONArray> treeList(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
|
||||
|
||||
@ -11,6 +11,7 @@ import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.async.AsyncProject;
|
||||
import com.zhgd.xmgl.call.api.VideoItemManufacturer;
|
||||
import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig;
|
||||
import com.zhgd.xmgl.modules.project.service.IProjectVideoConfigService;
|
||||
import com.zhgd.xmgl.modules.video.entity.VideoGroup;
|
||||
@ -59,6 +60,10 @@ public class VideoItemController {
|
||||
@Lazy
|
||||
@Autowired
|
||||
private IVideoItemService videoItemService;
|
||||
|
||||
@Autowired
|
||||
private VideoItemManufacturer videoItemManufacturer;
|
||||
|
||||
@Autowired
|
||||
private AsyncProject asyncProject;
|
||||
@Lazy
|
||||
@ -241,6 +246,17 @@ public class VideoItemController {
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "视频管理", operType = "设置ICC视频订阅事件", operDesc = "设置ICC视频订阅事件")
|
||||
@ApiOperation(value = "设置ICC视频订阅事件", notes = "设置ICC视频订阅事件", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"),
|
||||
})
|
||||
@PostMapping("/setIccSubscriptionByEvent")
|
||||
public Result setIccSubscriptionByEvent(@RequestBody Map<String, Object> map) {
|
||||
videoItemManufacturer.setIccSubscriptionByEvent(map);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "各企业下项目视频统计", notes = "各企业下项目视频统计")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "sn", value = "公司sn", paramType = "body", required = true, dataType = "String"),
|
||||
|
||||
@ -7,9 +7,14 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.ICompanyService;
|
||||
import com.zhgd.xmgl.modules.project.entity.Project;
|
||||
import com.zhgd.xmgl.modules.project.service.IProjectService;
|
||||
import com.zhgd.xmgl.modules.video.entity.VideoGroup;
|
||||
import com.zhgd.xmgl.modules.video.entity.VideoItem;
|
||||
import com.zhgd.xmgl.modules.video.entity.bo.GroupVideoNumBo;
|
||||
@ -19,12 +24,18 @@ import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper;
|
||||
import com.zhgd.xmgl.modules.video.service.IVideoGroupService;
|
||||
import com.zhgd.xmgl.util.ListUtils;
|
||||
import com.zhgd.xmgl.util.MessageUtil;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -40,6 +51,10 @@ public class VideoGroupServiceImpl extends ServiceImpl<VideoGroupMapper, VideoGr
|
||||
private VideoGroupMapper videoGroupMapper;
|
||||
@Autowired
|
||||
private VideoItemMapper videoItemMapper;
|
||||
@Autowired
|
||||
private ICompanyService companyService;
|
||||
@Autowired
|
||||
private IProjectService projectService;
|
||||
|
||||
@Override
|
||||
public void saveVideoGroup(VideoGroup videoGroup) {
|
||||
@ -129,6 +144,22 @@ public class VideoGroupServiceImpl extends ServiceImpl<VideoGroupMapper, VideoGr
|
||||
for (VideoGroupVo vo : videoGroupVos) {
|
||||
vo.setTotalNum(Optional.ofNullable(videoNumMap.get(vo.getId())).map(GroupVideoNumBo::getTotalNum).orElse(0));
|
||||
}
|
||||
|
||||
String companySn = MapUtils.getString(paramMap, "companySn");
|
||||
if (StringUtils.isNotBlank(companySn)) {
|
||||
Company company = companyService.getOne(Wrappers.<Company>lambdaQuery().eq(Company::getCompanySn, companySn));
|
||||
List<String> companySnList = new ArrayList<>();
|
||||
if (company.getCompanyType() == 1) {
|
||||
companySnList = companyService.list(Wrappers.<Company>lambdaQuery().eq(Company::getHeadquartersSn, company.getCompanySn()))
|
||||
.stream().map(c -> c.getCompanySn()).collect(Collectors.toList());
|
||||
} else {
|
||||
getChildren(company.getCompanyId(), companySnList);
|
||||
}
|
||||
companySnList.add("0");
|
||||
List<String> projectSns = projectService.list(Wrappers.<Project>lambdaQuery().in(Project::getCompanySn, companySnList)).stream().map(p -> p.getProjectSn()).collect(Collectors.toList());
|
||||
projectSns.add("0");
|
||||
queryWrapper.lambda().in(VideoGroup::getProjectSn, projectSns);
|
||||
}
|
||||
JSONArray jsonArray = ListUtils.listToTree(JSONArray.parseArray(JSON.toJSONString(videoGroupVos)), "id", "parentId", "children");
|
||||
for (int i = 0; i < jsonArray.size(); i++) {
|
||||
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
||||
@ -154,4 +185,15 @@ public class VideoGroupServiceImpl extends ServiceImpl<VideoGroupMapper, VideoGr
|
||||
return total;
|
||||
}
|
||||
|
||||
|
||||
private void getChildren(Long companyId, List<String> companyList) {
|
||||
List<Company> companys = companyService.list(Wrappers.<Company>lambdaQuery().eq(Company::getParentId, companyId));
|
||||
for (Company company : companys) {
|
||||
if (company.getCompanyType() == 4) {
|
||||
companyList.add(company.getCompanySn());
|
||||
} else {
|
||||
getChildren(company.getCompanyId(), companyList);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,6 +78,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
|
||||
http.authorizeRequests()
|
||||
//请求路径允许访问
|
||||
.antMatchers("/notice/push").permitAll()
|
||||
.antMatchers("/xmgl/electricalData/addByJj").permitAll()
|
||||
.antMatchers("/xmgl/cache/clearAll").permitAll()
|
||||
.antMatchers("/xmgl/videoScreenshot/captureScreenshotSync").permitAll()
|
||||
|
||||
74
src/main/java/com/zhgd/xmgl/util/shantui/AESUtil.java
Normal file
74
src/main/java/com/zhgd/xmgl/util/shantui/AESUtil.java
Normal file
@ -0,0 +1,74 @@
|
||||
package com.zhgd.xmgl.util.shantui;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
|
||||
public class AESUtil {
|
||||
private static final String KEY_AES = "AES";
|
||||
|
||||
public static String encrypt(String src, String key) throws Exception {
|
||||
if (key == null || key.length() != 16) {
|
||||
throw new Exception("key不满足条件");
|
||||
}
|
||||
byte[] raw = key.getBytes();
|
||||
SecretKeySpec skeySpec = new SecretKeySpec(raw, KEY_AES);
|
||||
Cipher cipher = Cipher.getInstance(KEY_AES);
|
||||
cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
|
||||
byte[] encrypted = cipher.doFinal(src.getBytes());
|
||||
return byte2hex(encrypted);
|
||||
}
|
||||
|
||||
public static String decrypt(String src, String key) throws Exception {
|
||||
if (key == null || key.length() != 16) {
|
||||
throw new Exception("key不满足条件");
|
||||
}
|
||||
byte[] raw = key.getBytes();
|
||||
SecretKeySpec skeySpec = new SecretKeySpec(raw, KEY_AES);
|
||||
Cipher cipher = Cipher.getInstance(KEY_AES);
|
||||
cipher.init(Cipher.DECRYPT_MODE, skeySpec);
|
||||
byte[] encrypted1 = hex2byte(src);
|
||||
byte[] original = cipher.doFinal(encrypted1);
|
||||
String originalString = new String(original);
|
||||
return originalString;
|
||||
}
|
||||
|
||||
public static byte[] hex2byte(String strhex) {
|
||||
if (strhex == null) {
|
||||
return null;
|
||||
}
|
||||
int l = strhex.length();
|
||||
if (l % 2 == 1) {
|
||||
return null;
|
||||
}
|
||||
byte[] b = new byte[l / 2];
|
||||
for (int i = 0; i != l / 2; i++) {
|
||||
b[i] = (byte) Integer.parseInt(strhex.substring(i * 2, i * 2 + 2),
|
||||
16);
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
public static String byte2hex(byte[] b) {
|
||||
String hs = "";
|
||||
String stmp = "";
|
||||
for (int n = 0; n < b.length; n++) {
|
||||
stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));
|
||||
if (stmp.length() == 1) {
|
||||
hs = hs + "0" + stmp;
|
||||
} else {
|
||||
hs = hs + stmp;
|
||||
}
|
||||
}
|
||||
return hs.toUpperCase();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
String decrypt = decrypt("69C96AE281AECBBBEC4926B60B9C7A0823025CA88C7B60AE0A861FC2D00DC8D762A7E6642EF2D8444B4C587D3F631A02BEE64E60469F413B3552900A46230BCA00C8D89713616977C8C0271FA212F4E353B40AF8F0DFDCFD46BE7A88B36D8FB4C5177C123ADF8DCB317C61CF5695B525C3449524D73FED10604BC285B536EEF02BA5172CC558BBA2CB8B889F0F1C8486FF897D76915C19C537A4F1B2ABAAE726F80406C884F349571D86ACEF5CC6E5B7C012858D6AB36FF858D196EDCD8B5203236213647E33A963F030E804A180C65A1B1DE78E519E5B4357BCBAAFD3A6D24C398C4D8E765F749DCE845336BDC4D8CD39DA072769821FA7715520F1B1ADE8AAC76A0758162D5E2B88C02624697524A67CBE5633064FEFBC9A7DD0E2C66166EA00C8D89713616977C8C0271FA212F4E3E87569470435CF48B00A2000CA22F33E4B2C110A13797B529B7D32E11569FDD2C067ACCBB0CC275F6E5846F576316FE1DE0CCF4E39E83C7B7CA98E80A41C3EE432023EBB3390439DD7C6CAD865F3436885193F700FA92BFEB47CF731E9020019815634DA5D0BBC1E831CED045DF882A81ED51B48F74416FBEF1C9703AAC276A7858BF905E48A671DAC0CC23BF4CE298FB412EEC384C741EC679D2EFA320676785B051072582F2C06ACD49AC2A48E051E33087C1A1FE6C938B20E79E0AAC71B048CE8CB6C86A482FF0931C8D8E26C985F9C7E2B79B6801A0A191B88D0C0942CA8FCE8DAC5AD0BFB52CFB2C481094B133EB1CC1C20E647CFBF10AC14D337068820DC5E5D1313D0C311F72345926BB0C211DF583521FEE56CD878008BFB80BBE21A04A6FD181C37231A265FDDE1B32EDAA0A4D5F21AE4D75AA3667C34193F578EF602A89236F12F4026CCC5D4C810DCB0BF79169B65BF1236800931000517599FBBABA54CF8FEBEC9E686A3EFC0F526A9BCC5E26F390B6635646ACAA97B71D508A69E88300543A468438D6C885ED574FF7F22A77F4CBE68DA3242D8769B331EAD7034A3C992F7F79F74BC859B1BEE1D3FD1A2B5D98FEAB8A7ECDC022C7B6FE6FD1B5A7F1386CD46807F89DA2EA6F854F7478AA28335DD2C274ACB80944B6C051ECC05B94D94F8BC4F4C306353E62648D91092F71B43E56BA575F97567D4ADA9095D0A5D58A24DA6E0986485616FBA722215427EFE41BEB302C5B6F7BBE5B289076F02D434334045F72E3E574651EEA7E41F1F545AE2A034C2A16C4D519380D5E1C75AFF471A4FF036C3FD02B607733558A92146EAFD4F4EF87B65A8DB7D5688122087780E53366A9DBB6E4DC9E5BF890F51AAA1EC186F03D4E689B58235219CBA8FF380BEB18F5CD7F03562E64649E93AE8D53F0851ACD840E850B7EC9997FBF51D663781E0A055CF201EF40CE68CA5D311F212B03575C0A9425F8FDDBCA5A77906D6C6D1F21D93EF1342D509559764B9BEC5E5761A8746EA227F5ED8E85A29B0F11F0F7EB347BCC7D1B6CBA7E9BEC773009A3052FD34A12AEDE6AABFF6AE0F54AA52480CAB665067422244C6B366218BA59C7047EBC4FE69BB69667B9B440663BDA1849C9D55D4D4025D5E2ACAFEEB57880FCAEC7EB449C930DDDE4241BB2D59E29FD56C985DCFFBC6EE3BF9D7BC486647C2C7FD67693DE2D2F4611C7E00095CA0B8D3AA35B665DC996BEC3D04F31F46F56258190F376960CF3F45C2533546EBE3EA44AD8AFA102596E853941258E3EDF7044B88718F1FFABB1BC0E8E3A92EFD5224B7E48E3E4EEEEFF8EA953D9F33FE6A7E81BB0D1CDA4FFCC4128222EC2E3BB5298C6658360453ABB9BE472772F6195A337BBF788D655BD77306B0D726D2D05D7FEDC17F5A097F75B6BE4BD30CD38FA785F9B106B9AACF95481A4BEA47A6E3F5965561631EE245A49F900924851135324809E3A081ED08D807C05FD1A09CEF06B2BC0025DBF2EC951ECDDC7F1D7A816E2DC4CEB89E4DB28AFD92C9AF060728D1F58B3EADEEA3CD0E1342A422DD1C6EA739413B396BB5768CDBAB1ED2D850417E3509DBFE2125ADD3848CAB2A7EAC9E34B53778E160324579D76FB77B165999E7D7DFF21F3E60FC33E4CF4B561EFDF75ACDFDD704F8D995D417E03EC3619E65A3E0EC4CCEFE6DAB187EB6B7176130FF49F27CA997DCD87C0006C5A0501CF5B09BB7ED5FD1C531B37182ADD4EB24F1C5A49844E52CECAE86C955002C1DBF7230C7",
|
||||
"GTDcnpLW6rDKzHbL");
|
||||
System.out.println(decrypt);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -107,3 +107,4 @@ upload.image.url.prefix=http://192.168.34.221:9111/image/
|
||||
supplierResubmitApplicationUrl=http://192.168.34.175:88/#/workspace/contractorApply
|
||||
#管控清单危险源的区域二维码的前缀
|
||||
riskListSourceRegionQrCode=http://localhost:8088/app/#/pages/projectEnd/safeSame/riskGradingControlList/riskGradingControlList?id=
|
||||
shantuiAesSecret=GTDcnpLW6rDKzHbL
|
||||
|
||||
@ -8,4 +8,22 @@
|
||||
)t
|
||||
${r"${ew.customSqlSegment}"}
|
||||
</select>
|
||||
|
||||
<insert id="insertIgnoreBatch">
|
||||
INSERT IGNORE INTO ${tableName}
|
||||
(
|
||||
<#list originalColumns as column>
|
||||
${column.fieldDbName?lower_case}<#if column_has_next>,</#if>
|
||||
</#list>
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(
|
||||
<#list originalColumns as column>
|
||||
${r"#{item."}${column.fieldName}${r"}"}<#if column_has_next>,</#if>
|
||||
</#list>
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
|
||||
26
src/test/java/com/zhgd/xmgl/call/util/jc/JcHttpUtilTest.java
Normal file
26
src/test/java/com/zhgd/xmgl/call/util/jc/JcHttpUtilTest.java
Normal file
@ -0,0 +1,26 @@
|
||||
package com.zhgd.xmgl.call.util.jc;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.MockedStatic;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.mockStatic;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class JcHttpUtilTest {
|
||||
|
||||
@Test
|
||||
void replaceUrlToHttps() {
|
||||
try (MockedStatic<JcHttpUtil> mockedStatic = mockStatic(JcHttpUtil.class);) {
|
||||
mockedStatic.when(() -> JcHttpUtil.getJcHttpsUrl()).thenReturn("https://jc.zhgdyun.com:12112");
|
||||
mockedStatic.when(() -> JcHttpUtil.replaceUrlToHttps(any())).thenCallRealMethod();
|
||||
String expectedUrl = "https://jc.zhgdyun.com:12112/image/693b60ba45fca3742d953f19.jpg";
|
||||
String actualUrl = JcHttpUtil.replaceUrlToHttps("http://101.43.164.214:11111/image/693b60ba45fca3742d953f19.jpg");
|
||||
// 验证结果
|
||||
assertEquals(expectedUrl, actualUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user