新增device日志
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package com.njcn.csdevice.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2023/8/7 19:27【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
|
||||
public interface DeviceOperate {
|
||||
String QUERY = "查询出厂设备";
|
||||
String UPDATESTATUSBYNDID="根据网关id调整设备接入状态";
|
||||
String ADD = "新增出厂设备";
|
||||
|
||||
String DELETE = "删除出厂设备";
|
||||
|
||||
String UPDATE = "修改出厂设备";
|
||||
|
||||
String SHARE ="设备扫码分享";
|
||||
String TRANSFER ="设备转移";
|
||||
|
||||
String DELETE_1 ="设备删除";
|
||||
String CANCELSHARE ="取消分享";
|
||||
}
|
||||
@@ -68,7 +68,7 @@ public class CsEdDataAddParm {
|
||||
* 版本类型
|
||||
*/
|
||||
@ApiModelProperty(value = "版本类型")
|
||||
@NotBlank(message="版本类型不能为空!")
|
||||
// @NotBlank(message="版本类型不能为空!")
|
||||
private String versionType;
|
||||
|
||||
@ApiModelProperty(value = "crc信息")
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.njcn.csdevice.pojo.param;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2023/8/7 15:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "关注工程集合,app端需用对象包")
|
||||
public class EngineerIdParam {
|
||||
private List<String> engineerIds;
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
package com.njcn.csdevice.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2023/8/7 14:02【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
@TableName(value = "cs_logs")
|
||||
public class CsLogsPO {
|
||||
@TableId(value = "id", type = IdType.ASSIGN_UUID)
|
||||
private String id;
|
||||
|
||||
|
||||
/**
|
||||
* 用户名称
|
||||
*/
|
||||
@TableField(value = "user_name")
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 操作
|
||||
*/
|
||||
@TableField(value = "operate")
|
||||
private String operate;
|
||||
|
||||
/**
|
||||
* 结果(0:失败 1:成功)
|
||||
*/
|
||||
@TableField(value = "`result`")
|
||||
private Integer result;
|
||||
|
||||
/**
|
||||
* 失败原因
|
||||
*/
|
||||
@TableField(value = "fail_reason")
|
||||
private String failReason;
|
||||
|
||||
/**
|
||||
* 登录名称
|
||||
*/
|
||||
@TableField(value = "login_name")
|
||||
private String loginName;
|
||||
|
||||
/**
|
||||
* 创建用户
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT, insertStrategy = FieldStrategy.IGNORED)
|
||||
private String createBy;
|
||||
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT, insertStrategy = FieldStrategy.IGNORED)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新用户
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE, insertStrategy = FieldStrategy.IGNORED)
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE, insertStrategy = FieldStrategy.IGNORED)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
public static final String COL_ID = "id";
|
||||
|
||||
public static final String COL_USER_NAME = "user_name";
|
||||
|
||||
public static final String COL_OPERATE = "operate";
|
||||
|
||||
public static final String COL_RESULT = "result";
|
||||
|
||||
public static final String COL_FAIL_REASON = "fail_reason";
|
||||
|
||||
public static final String COL_CREATE_BY = "create_by";
|
||||
|
||||
public static final String COL_CREATE_TIME = "create_time";
|
||||
|
||||
public static final String COL_UPDATE_BY = "update_by";
|
||||
|
||||
public static final String COL_UPDATE_TIME = "update_time";
|
||||
|
||||
public static final String COL_LOGIN_NAME = "login_name";
|
||||
}
|
||||
@@ -31,4 +31,7 @@ public class CsMarketDataVO {
|
||||
private String engineerId;
|
||||
|
||||
private String engineerName;
|
||||
/*
|
||||
* 0未选择,1已选择*/
|
||||
private String isSelect;
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.njcn.csdevice.controller.equipment;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.OperateType;
|
||||
import com.njcn.common.pojo.dto.DeviceLogDTO;
|
||||
import com.njcn.common.pojo.dto.LogInfoDTO;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.csdevice.pojo.param.CsMarketDataParam;
|
||||
import com.njcn.csdevice.pojo.po.CsLogsPO;
|
||||
import com.njcn.csdevice.service.impl.CsLogsPOService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
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 java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2023/8/7 14:21【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@RestController
|
||||
@Slf4j
|
||||
@Api(tags = "日志管理")
|
||||
@AllArgsConstructor
|
||||
@RequestMapping("/cslog")
|
||||
public class CsLogController extends BaseController {
|
||||
private final CsLogsPOService csLogsPOService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 插入审计日志
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.ADD)
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("插入设备日志")
|
||||
@ApiImplicitParam(name = "deviceLogDTO", value = "插入日志参数", required = true)
|
||||
public HttpResult addUserLog(@RequestBody DeviceLogDTO deviceLogDTO) {
|
||||
String methodDescribe = getMethodDescribe("addUserLog");
|
||||
csLogsPOService.addLog(deviceLogDTO);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryLog")
|
||||
@ApiOperation("查询日志")
|
||||
@ApiImplicitParam(name = "csMarketDataParams", value = "新增营销数据参数", required = true)
|
||||
public HttpResult<List<CsLogsPO>> queryLog(){
|
||||
String username = RequestUtil.getUsername();
|
||||
String methodDescribe = getMethodDescribe("queryLog");
|
||||
List<CsLogsPO> list = csLogsPOService.lambdaQuery().eq(CsLogsPO::getUserName, username).list();
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -5,9 +5,11 @@ import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.csdevice.enums.DeviceOperate;
|
||||
import com.njcn.csdevice.pojo.po.CsDeviceUserPO;
|
||||
import com.njcn.csdevice.pojo.vo.DevCountVO;
|
||||
import com.njcn.csdevice.service.CsDeviceUserPOService;
|
||||
import com.njcn.web.advice.DeviceLog;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@@ -46,6 +48,7 @@ public class DeviceUserController extends BaseController {
|
||||
@PostMapping("/share")
|
||||
@ApiOperation("设备扫码分享")
|
||||
@ApiImplicitParam(name = "ids", value = "设备id集合", required = true)
|
||||
@DeviceLog(operateType = DeviceOperate.SHARE)
|
||||
public HttpResult<Boolean> share(@RequestParam("ids") List<String> ids){
|
||||
String methodDescribe = getMethodDescribe("share");
|
||||
|
||||
@@ -84,6 +87,7 @@ public class DeviceUserController extends BaseController {
|
||||
@PostMapping("/transfer")
|
||||
@ApiOperation("设备转移(直接扫码不用申请)")
|
||||
@ApiImplicitParam(name = "ids", value = "设备Id集合", required = true)
|
||||
@DeviceLog(operateType = DeviceOperate.TRANSFER)
|
||||
public HttpResult<Boolean> transfer(@RequestParam("ids") List<String> ids){
|
||||
String methodDescribe = getMethodDescribe("transfer");
|
||||
|
||||
@@ -95,6 +99,7 @@ public class DeviceUserController extends BaseController {
|
||||
@PostMapping("/delete")
|
||||
@ApiOperation("设备删除")
|
||||
@ApiImplicitParam(name = "eid", value = "设备Id", required = true)
|
||||
@DeviceLog(operateType = DeviceOperate.DELETE_1)
|
||||
public HttpResult<Boolean> delete(@RequestParam("eid") String eid){
|
||||
String methodDescribe = getMethodDescribe("delete");
|
||||
|
||||
@@ -106,6 +111,7 @@ public class DeviceUserController extends BaseController {
|
||||
@PostMapping("/cancelShare")
|
||||
@ApiOperation("取消分享")
|
||||
@ApiImplicitParam(name = "eid", value = "设备Id", required = true)
|
||||
@DeviceLog(operateType = DeviceOperate.CANCELSHARE)
|
||||
public HttpResult<Boolean> cancelShare(@RequestParam("eid") String eid){
|
||||
String methodDescribe = getMethodDescribe("cancelShare");
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.csdevice.enums.DeviceOperate;
|
||||
import com.njcn.csdevice.pojo.dto.CsEquipmentDeliveryDTO;
|
||||
import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryAddParm;
|
||||
import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryAuditParm;
|
||||
@@ -18,6 +19,7 @@ import com.njcn.csdevice.pojo.vo.DeviceManagerVO;
|
||||
import com.njcn.csdevice.pojo.vo.ProjectEquipmentVO;
|
||||
import com.njcn.csdevice.service.CsEquipmentDeliveryService;
|
||||
import com.njcn.csdevice.service.IMqttUserService;
|
||||
import com.njcn.web.advice.DeviceLog;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@@ -55,6 +57,7 @@ public class EquipmentDeliveryController extends BaseController {
|
||||
@PostMapping("/addEquipmentDelivery")
|
||||
@ApiOperation("新增出厂设备")
|
||||
@ApiImplicitParam(name = "csEquipmentDeliveryAddParm", value = "新增项目参数", required = true)
|
||||
@DeviceLog(operateType = DeviceOperate.ADD)
|
||||
public HttpResult<Boolean> addEquipmentDelivery(@RequestBody @Validated CsEquipmentDeliveryAddParm csEquipmentDeliveryAddParm){
|
||||
String methodDescribe = getMethodDescribe("addEquipmentDelivery");
|
||||
Boolean flag = csEquipmentDeliveryService.save (csEquipmentDeliveryAddParm);
|
||||
@@ -69,6 +72,7 @@ public class EquipmentDeliveryController extends BaseController {
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/AuditEquipmentDelivery")
|
||||
@ApiOperation("删除出厂设备")
|
||||
@DeviceLog(operateType = DeviceOperate.DELETE)
|
||||
public HttpResult<Boolean> AuditEquipmentDelivery(@RequestParam("id")String id ){
|
||||
String methodDescribe = getMethodDescribe("AuditEquipmentDelivery");
|
||||
Boolean flag = csEquipmentDeliveryService.AuditEquipmentDelivery(id);
|
||||
@@ -78,6 +82,7 @@ public class EquipmentDeliveryController extends BaseController {
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/updateEquipmentDelivery")
|
||||
@ApiOperation("修改出厂设备")
|
||||
@DeviceLog(operateType = DeviceOperate.UPDATE)
|
||||
@ApiImplicitParam(name = "csEquipmentDeliveryAuditParm", value = "新增项目参数", required = true)
|
||||
public HttpResult<Boolean> updateEquipmentDelivery(@RequestBody @Validated CsEquipmentDeliveryAuditParm csEquipmentDeliveryAuditParm ){
|
||||
String methodDescribe = getMethodDescribe("updateEquipmentDelivery");
|
||||
@@ -91,6 +96,7 @@ public class EquipmentDeliveryController extends BaseController {
|
||||
@PostMapping("/queryEquipmentByndid")
|
||||
@ApiOperation("通过ndid查询出厂设备")
|
||||
@ApiImplicitParam(name = "ndid", value = "网关识别码", required = true)
|
||||
@DeviceLog(operateType = DeviceOperate.QUERY)
|
||||
public HttpResult<CsEquipmentDeliveryVO> queryEquipmentByndid(@RequestParam("ndid")String ndid){
|
||||
String methodDescribe = getMethodDescribe("queryEquipmentByndid");
|
||||
|
||||
@@ -101,6 +107,7 @@ public class EquipmentDeliveryController extends BaseController {
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryEquipmentByProject")
|
||||
@ApiOperation("通过项目查询出厂设备")
|
||||
@DeviceLog(operateType = DeviceOperate.QUERY)
|
||||
@ApiImplicitParam(name = "projectEquipmentQueryParm", value = "项目信息", required = true)
|
||||
public HttpResult<IPage<ProjectEquipmentVO>> queryEquipmentByProject(@RequestBody ProjectEquipmentQueryParm projectEquipmentQueryParm){
|
||||
String methodDescribe = getMethodDescribe("queryEquipmentByProject");
|
||||
@@ -115,6 +122,7 @@ public class EquipmentDeliveryController extends BaseController {
|
||||
@ApiImplicitParam(name = "nDId", value = "网关id", required = true),
|
||||
@ApiImplicitParam(name = "status", value = "状态", required = true)
|
||||
})
|
||||
@DeviceLog(operateType = DeviceOperate.UPDATESTATUSBYNDID)
|
||||
public HttpResult<Boolean> updateStatusBynDid(@RequestParam("nDId") String nDid,@RequestParam("status") Integer status){
|
||||
String methodDescribe = getMethodDescribe("updateStatusBynDid");
|
||||
csEquipmentDeliveryService.updateStatusBynDid(nDid,status);
|
||||
@@ -124,6 +132,7 @@ public class EquipmentDeliveryController extends BaseController {
|
||||
@PostMapping("/queryEquipmentById")
|
||||
@ApiOperation("设备查询通过id获取")
|
||||
@ApiImplicitParam(name = "ids", value = "设备id集合", required = true)
|
||||
@DeviceLog(operateType = DeviceOperate.QUERY)
|
||||
public HttpResult<List<CsEquipmentDeliveryDTO>> queryEquipmentById(@RequestParam List<String> ids){
|
||||
String methodDescribe = getMethodDescribe("queryEquipmentById");
|
||||
List<CsEquipmentDeliveryPO> csEquipmentDeliveryPOS = csEquipmentDeliveryService.listByIds(ids);
|
||||
@@ -139,6 +148,7 @@ public class EquipmentDeliveryController extends BaseController {
|
||||
@PostMapping("/list")
|
||||
@ApiOperation("出厂设备列表")
|
||||
@ApiImplicitParam(name = "param", value = "查询参数", required = true)
|
||||
@DeviceLog(operateType = DeviceOperate.QUERY)
|
||||
public HttpResult<Page<CsEquipmentDeliveryVO>> list(@RequestBody CsEquipmentDeliveryQueryParm param){
|
||||
String methodDescribe = getMethodDescribe("list");
|
||||
Page<CsEquipmentDeliveryVO> page = csEquipmentDeliveryService.list(param);
|
||||
@@ -153,6 +163,7 @@ public class EquipmentDeliveryController extends BaseController {
|
||||
@ApiImplicitParam(name = "type", value = "类型", required = true),
|
||||
@ApiImplicitParam(name = "lineId", value = "监测点id", required = false)
|
||||
})
|
||||
@DeviceLog(operateType = DeviceOperate.QUERY)
|
||||
public HttpResult<DeviceManagerVO> getDeviceData(@RequestParam String deviceId,@RequestParam String type,@RequestParam String lineId){
|
||||
String methodDescribe = getMethodDescribe("getDeviceData");
|
||||
DeviceManagerVO vo = csEquipmentDeliveryService.getDeviceData(deviceId,type,lineId);
|
||||
|
||||
@@ -6,12 +6,14 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.csdevice.pojo.param.CsMarketDataParam;
|
||||
import com.njcn.csdevice.pojo.param.EngineerIdParam;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.pojo.vo.CsLedgerVO;
|
||||
import com.njcn.csdevice.pojo.vo.CsMarketDataVO;
|
||||
import com.njcn.csdevice.service.CsLinePOService;
|
||||
import com.njcn.csdevice.service.CsMarketDataService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -31,7 +33,7 @@ import java.util.List;
|
||||
*/
|
||||
@RestController
|
||||
@Slf4j
|
||||
@Api(tags = "营销数据配置")
|
||||
@Api(tags = "营销,工程数据配置")
|
||||
@AllArgsConstructor
|
||||
@RequestMapping("/csMarketData")
|
||||
public class CsMarketDataController extends BaseController {
|
||||
@@ -39,7 +41,7 @@ public class CsMarketDataController extends BaseController {
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("新增营销数据")
|
||||
@ApiOperation("新增营销,工程数据")
|
||||
@ApiImplicitParam(name = "csMarketDataParams", value = "新增营销数据参数", required = true)
|
||||
public HttpResult<Boolean> add( @RequestBody List<CsMarketDataParam> csMarketDataParams){
|
||||
String methodDescribe = getMethodDescribe("add");
|
||||
@@ -47,10 +49,20 @@ public class CsMarketDataController extends BaseController {
|
||||
Boolean flag = csMarketDataService.add(csMarketDataParams);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/follow")
|
||||
@ApiOperation("工程人员新增关注")
|
||||
@ApiImplicitParam(name = "engineerIdParams", value = "新增营销数据参数", required = true)
|
||||
public HttpResult<Boolean> follow( @RequestBody EngineerIdParam engineerIdParams){
|
||||
String methodDescribe = getMethodDescribe("follow");
|
||||
|
||||
Boolean flag = csMarketDataService.follow(engineerIdParams);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/remove")
|
||||
@ApiOperation("移除营销数据")
|
||||
@ApiOperation("移除营销,工程数据")
|
||||
// @ApiImplicitParam(name = "ids", value = "删除id集合", required = true)
|
||||
public HttpResult<Boolean> remove(@RequestParam("ids") List<String> ids){
|
||||
String methodDescribe = getMethodDescribe("remove");
|
||||
@@ -60,7 +72,7 @@ public class CsMarketDataController extends BaseController {
|
||||
}
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryByUseId")
|
||||
@ApiOperation("查询营销数据")
|
||||
@ApiOperation("查询营销,工程数据")
|
||||
public HttpResult<List<CsMarketDataVO>> queryByUseId(@RequestParam("userId")String userId){
|
||||
String methodDescribe = getMethodDescribe("queryByUseId");
|
||||
|
||||
@@ -70,11 +82,21 @@ public class CsMarketDataController extends BaseController {
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryEnginnerByUseId")
|
||||
@ApiOperation("查询营销人员未选择的工程")
|
||||
@ApiOperation("查询营销,工程人员未选择的工程")
|
||||
public HttpResult<List<CsLedger>> queryEnginnerByUseId(@RequestParam("userId")String userId){
|
||||
String methodDescribe = getMethodDescribe("queryByUseId");
|
||||
|
||||
List<CsLedger> list = csMarketDataService.queryEnginnerByUseId(userId);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryAllEnginner")
|
||||
@ApiOperation("查询营销,工程人员工程")
|
||||
public HttpResult<List<CsMarketDataVO>> queryAllEnginner(){
|
||||
String methodDescribe = getMethodDescribe("queryAllEnginner");
|
||||
String userId = RequestUtil.getUserIndex();
|
||||
List<CsMarketDataVO> list = csMarketDataService.queryAllEnginner(userId);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.njcn.csdevice.handler;
|
||||
|
||||
|
||||
import com.github.tocrhz.mqtt.annotation.MqttSubscribe;
|
||||
|
||||
import com.github.tocrhz.mqtt.annotation.Payload;
|
||||
import com.github.tocrhz.mqtt.publisher.MqttPublisher;
|
||||
import com.njcn.common.pojo.dto.DeviceLogDTO;
|
||||
import com.njcn.common.utils.PubUtils;
|
||||
import com.njcn.csdevice.service.impl.CsLogsPOService;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.eclipse.paho.client.mqttv3.MqttMessage;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* @author xuyang
|
||||
* @version 1.0.0
|
||||
* @date 2023年06月10日 09:41
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class MqttMessageHandler {
|
||||
|
||||
|
||||
private final CsLogsPOService csLogsPOService;
|
||||
|
||||
/**
|
||||
* 插入devicelog
|
||||
*/
|
||||
@MqttSubscribe(value = "/deviceLog")
|
||||
public void responseRtData(String topic, MqttMessage message, @Payload String payload) {
|
||||
DeviceLogDTO deviceLogDTO = PubUtils.json2obj(new String(message.getPayload(), StandardCharsets.UTF_8),DeviceLogDTO.class);
|
||||
csLogsPOService.addLog(deviceLogDTO);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.njcn.csdevice.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.csdevice.pojo.po.CsLogsPO;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2023/8/7 14:02【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface CsLogsPOMapper extends BaseMapper<CsLogsPO> {
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?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.njcn.csdevice.mapper.CsLogsPOMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.csdevice.pojo.po.CsLogsPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table cs_logs-->
|
||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="user_name" jdbcType="VARCHAR" property="userName" />
|
||||
<result column="operate" jdbcType="VARCHAR" property="operate" />
|
||||
<result column="result" jdbcType="INTEGER" property="result" />
|
||||
<result column="fail_reason" jdbcType="VARCHAR" property="failReason" />
|
||||
<result column="create_by" jdbcType="CHAR" property="createBy" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_by" jdbcType="CHAR" property="updateBy" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
<result column="login_name" jdbcType="VARCHAR" property="loginName" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, user_name, operate, `result`, fail_reason, create_by, create_time, update_by,
|
||||
update_time, login_name
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.njcn.csdevice.service;
|
||||
|
||||
import com.njcn.common.pojo.dto.DeviceLogDTO;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.csdevice.mapper.CsLogsPOMapper;
|
||||
import com.njcn.csdevice.pojo.po.CsLogsPO;
|
||||
import com.njcn.csdevice.service.impl.CsLogsPOService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2023/8/7 14:02【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class CsLogsPOServiceImpl extends ServiceImpl<CsLogsPOMapper, CsLogsPO> implements CsLogsPOService{
|
||||
|
||||
@Override
|
||||
// @Transactional(rollbackFor = {Exception.class})
|
||||
public void addLog(DeviceLogDTO deviceLogDTO) {
|
||||
CsLogsPO csPO = new CsLogsPO();
|
||||
BeanUtils.copyProperties(deviceLogDTO,csPO);
|
||||
csPO.setCreateBy(deviceLogDTO.getUserIndex());
|
||||
csPO.setUpdateBy(deviceLogDTO.getUserIndex());
|
||||
this.save(csPO);
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.njcn.csdevice.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.csdevice.pojo.param.CsMarketDataParam;
|
||||
import com.njcn.csdevice.pojo.param.EngineerIdParam;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.pojo.po.CsLineTopologyTemplate;
|
||||
import com.njcn.csdevice.pojo.po.CsMarketData;
|
||||
@@ -26,4 +27,7 @@ public interface CsMarketDataService extends IService<CsMarketData> {
|
||||
|
||||
List<CsLedger> queryEnginnerByUseId(String userId);
|
||||
|
||||
List<CsMarketDataVO> queryAllEnginner(String userId);
|
||||
|
||||
Boolean follow(EngineerIdParam engineerIdParams);
|
||||
}
|
||||
|
||||
@@ -12,9 +12,11 @@ import com.njcn.csdevice.enums.AlgorithmResponseEnum;
|
||||
import com.njcn.csdevice.mapper.CsDeviceUserPOMapper;
|
||||
import com.njcn.csdevice.mapper.CsEquipmentDeliveryMapper;
|
||||
import com.njcn.csdevice.mapper.CsLedgerMapper;
|
||||
import com.njcn.csdevice.mapper.CsMarketDataMapper;
|
||||
import com.njcn.csdevice.pojo.po.CsDeviceUserPO;
|
||||
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.pojo.po.CsMarketData;
|
||||
import com.njcn.csdevice.pojo.vo.CsLedgerVO;
|
||||
import com.njcn.csdevice.pojo.vo.DevCountVO;
|
||||
import com.njcn.csdevice.service.CsDeviceUserPOService;
|
||||
@@ -55,6 +57,7 @@ public class CsDeviceUserPOServiceImpl extends ServiceImpl<CsDeviceUserPOMapper,
|
||||
// private final CsEquipmentAlarmFeignClient csEquipmentAlarmFeignClient;
|
||||
private final CsEquipmentDeliveryMapper csEquipmentDeliveryMapper;
|
||||
private final RoleEngineerDevService roleEngineerDevService;
|
||||
private CsMarketDataMapper csMarketDataMapper;
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean add(String id) {
|
||||
@@ -218,6 +221,28 @@ public class CsDeviceUserPOServiceImpl extends ServiceImpl<CsDeviceUserPOMapper,
|
||||
this.lambdaUpdate().eq(CsDeviceUserPO::getDeviceId, eid).eq(CsDeviceUserPO::getStatus,"1" ).apply("primary_user_id<>sub_user_id").set(CsDeviceUserPO::getPrimaryUserId,userIndex).update();
|
||||
|
||||
});
|
||||
//工程人员接受到移交设备,默认把工程加入关注列表
|
||||
|
||||
String role = RequestUtil.getUserRole();
|
||||
List<String> strings = JSONArray.parseArray(role, String.class);
|
||||
if(CollectionUtils.isEmpty(strings)){
|
||||
throw new BusinessException(AlgorithmResponseEnum.UNKNOW_ROLE);
|
||||
}
|
||||
List<CsLedger> list = iCsLedgerService.lambdaQuery().in(CsLedger::getId, ids).list();
|
||||
String[] split = list.get(0).getPids().split(",");
|
||||
role=strings.get(0);
|
||||
if(Objects.equals(role, AppRoleEnum.ENGINEERING_USER.getCode())){
|
||||
CsMarketData csMarketData = new CsMarketData();
|
||||
csMarketData.setEngineerId(split[1]);
|
||||
csMarketData.setUserId(RequestUtil.getUserIndex());
|
||||
QueryWrapper<CsMarketData> queryWrap = new QueryWrapper<>();
|
||||
queryWrap.setEntity(csMarketData);
|
||||
List<CsMarketData> csMarketData1 = csMarketDataMapper.selectList(queryWrap);
|
||||
if(CollectionUtils.isEmpty(csMarketData1)){
|
||||
csMarketDataMapper.insert(csMarketData);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -70,8 +70,14 @@ public class CsEngineeringServiceImpl extends ServiceImpl<CsEngineeringMapper, C
|
||||
public Boolean addEngineering(CsEngineeringAddParm csEngineeringAddParm) {
|
||||
CsEngineeringPO csEngineeringPO = new CsEngineeringPO ();
|
||||
BeanUtils.copyProperties (csEngineeringAddParm, csEngineeringPO);
|
||||
|
||||
csEngineeringPO.setStatus ("1");
|
||||
boolean save = this.save (csEngineeringPO);
|
||||
List<CsEngineeringPO> list = this.lambdaQuery().eq(CsEngineeringPO::getName, csEngineeringAddParm.getName()).eq(CsEngineeringPO::getStatus, "1").list();
|
||||
if(list.size()>1){
|
||||
throw new BusinessException("工程名重复");
|
||||
|
||||
}
|
||||
CsLedger csLedger1 = new CsLedger();
|
||||
csLedger1.setId(csEngineeringPO.getId());
|
||||
csLedger1.setPid("0");
|
||||
@@ -128,6 +134,11 @@ public class CsEngineeringServiceImpl extends ServiceImpl<CsEngineeringMapper, C
|
||||
csLedger1.setName(csEngineeringAuditParm.getName());
|
||||
}
|
||||
csLedgerMapper.updateById(csLedger1);
|
||||
List<CsEngineeringPO> list = this.lambdaQuery().eq(CsEngineeringPO::getName, csEngineeringAuditParm.getName()).eq(CsEngineeringPO::getStatus, "1").list();
|
||||
if(list.size()>1){
|
||||
throw new BusinessException("工程名重复");
|
||||
|
||||
}
|
||||
|
||||
return b;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.csdevice.service.impl;
|
||||
|
||||
import com.njcn.common.pojo.dto.DeviceLogDTO;
|
||||
import com.njcn.csdevice.pojo.po.CsLogsPO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2023/8/7 14:02【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface CsLogsPOService extends IService<CsLogsPO>{
|
||||
|
||||
|
||||
void addLog(DeviceLogDTO deviceLogDTO);
|
||||
}
|
||||
@@ -3,15 +3,18 @@ package com.njcn.csdevice.service.impl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.csdevice.mapper.CsEngineeringMapper;
|
||||
import com.njcn.csdevice.pojo.param.CsMarketDataParam;
|
||||
import com.njcn.csdevice.pojo.param.EngineerIdParam;
|
||||
import com.njcn.csdevice.pojo.po.CsEngineeringPO;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.pojo.vo.CsMarketDataVO;
|
||||
import com.njcn.csdevice.service.CsMarketDataService;
|
||||
import com.njcn.csdevice.service.ICsLedgerService;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -72,4 +75,44 @@ public class CsMarketDataServiceImpl extends ServiceImpl<CsMarketDataMapper, CsM
|
||||
|
||||
return collect1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CsMarketDataVO> queryAllEnginner(String userId) {
|
||||
List<CsMarketDataVO> result = new ArrayList<>();
|
||||
List<CsLedger> list = csLedgerService.lambdaQuery().eq(CsLedger::getState, 1).eq(CsLedger::getLevel, 0).list();
|
||||
List<CsMarketDataVO> csMarketDataVOS = this.queryByUseId(userId);
|
||||
List<String> collect = csMarketDataVOS.stream().map(CsMarketDataVO::getEngineerId).collect(Collectors.toList());
|
||||
List<CsLedger> collect1 = list.stream().filter(temp -> !collect.contains(temp.getId())).collect(Collectors.toList());
|
||||
csMarketDataVOS.forEach(temp->{
|
||||
temp.setIsSelect("1");
|
||||
result.add(temp);
|
||||
});
|
||||
collect1.forEach(temp->{
|
||||
CsMarketDataVO vo= new CsMarketDataVO();
|
||||
vo.setEngineerName(temp.getName());
|
||||
vo.setEngineerId(temp.getId());
|
||||
vo.setIsSelect("0");
|
||||
result.add(vo);
|
||||
});
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public Boolean follow(EngineerIdParam engineerIdParams) {
|
||||
String userIndex = RequestUtil.getUserIndex();
|
||||
QueryWrapper<CsMarketData> queryWrap = new QueryWrapper<>();
|
||||
queryWrap.eq("user_id",userIndex);
|
||||
this.remove(queryWrap);
|
||||
List<CsMarketData> csMarketData = new ArrayList<>();
|
||||
engineerIdParams.getEngineerIds().forEach(temp->{
|
||||
CsMarketData cs = new CsMarketData();
|
||||
cs.setEngineerId(temp);
|
||||
cs.setUserId(userIndex);
|
||||
csMarketData.add(cs);
|
||||
});
|
||||
this.saveBatch(csMarketData,20);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user