Commit 8e53b7ae by Jiang

字典码模块、解决aop两次调用接口问题

parent d5b12adb
package com.founder.publicapi.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.founder.commonutils.publicEntity.MapRestResult;
import com.founder.commonutils.util.KeyUtil;
import com.founder.publicapi.entity.SkDictionary;
import com.founder.publicapi.entity.SkPointlocation;
import com.founder.publicapi.logs.OperLog;
import com.founder.publicapi.logs.OperationType;
import com.founder.publicapi.service.SkDictionaryService;
import com.founder.publicapi.vo.param.SkDictionaryParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
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.HashMap;
import java.util.List;
import java.util.Map;
/**
* 字典控制层
* @author jlt
* @date 2022/03/10/
*/
@RestController
@RequestMapping("dictionary")
public class SkDictionaryController {
@Autowired
private SkDictionaryService service;
/**
* 新增字典
*/
@PostMapping("save")
@ApiOperation(value = "新增字典信息")
@OperLog(message = "新增字典信息",operation = OperationType.ADD)
public MapRestResult save(SkDictionary skDictionary) {
skDictionary.setXxzjbh(KeyUtil.getUUIDKey(""));
boolean flag = service.save(skDictionary);
if (flag){
return new MapRestResult();
}else {
return new MapRestResult().error();
}
}
/**
* 修改字典
*/
@PostMapping("update")
@ApiOperation(value = "修改字典信息")
@OperLog(message = "修改字典信息",operation = OperationType.UPDATE)
public MapRestResult update(SkDictionary skDictionary) {
boolean flag = service.updateById(skDictionary);
if (flag){
return new MapRestResult();
}else {
return new MapRestResult().error();
}
}
/**
* 删除字典
*/
@PostMapping("remove")
@ApiOperation(value = "删除字典信息")
@OperLog(message = "删除字典信息",operation = OperationType.DELETE)
public MapRestResult deleteById(String xxzjbh) {
SkDictionary byId = service.getById(xxzjbh);
byId.setIsdeleted(1);
boolean flag = service.updateById(byId);
if (flag){
return new MapRestResult();
}else {
return new MapRestResult().error();
}
}
/**
* 查询详情
*/
@PostMapping("detail")
@ApiOperation(value = "查询字典详情信息")
@OperLog(message = "查询字典详情信息",operation = OperationType.QUERY)
public MapRestResult detail(String xxzjbh) {
SkDictionary byId = service.getById(xxzjbh);
return new MapRestResult(byId);
}
/**
* 查询列表(分页)
*/
@PostMapping("query")
@ApiOperation(value = "查询字典列表信息")
@OperLog(message = "查询字典列表信息",operation = OperationType.QUERY)
public MapRestResult query(@RequestBody SkDictionaryParam skDictionaryParam) {
Page page=new Page(skDictionaryParam.getPage(), skDictionaryParam.getPageSize());
QueryWrapper queryWrapper=new QueryWrapper();
if (skDictionaryParam.getDm()!=null&& !"".equals(skDictionaryParam.getDm())){
queryWrapper.like("dm",skDictionaryParam.getDm());
}
if (skDictionaryParam.getDmlx()!=null&& !"".equals(skDictionaryParam.getDmlx())){
queryWrapper.like("dmlx",skDictionaryParam.getDmlx());
}
if (skDictionaryParam.getDmmc()!=null&& !"".equals(skDictionaryParam.getDmmc())){
queryWrapper.like("dmmc",skDictionaryParam.getDmmc());
}
queryWrapper.eq("isDeleted",0);
IPage page1=service.page(page,queryWrapper);
return new MapRestResult(200, "OK", page1.getTotal(), page1.getRecords());
}
/**
* 根据代码类型查找相应字典
*/
@PostMapping("queryByDmlx")
@ApiOperation(value = "根据代码类型查找相应字典")
@OperLog(message = "根据代码类型查找相应字典",operation = OperationType.QUERY)
public Map<String,String> queryByDmlx(String dmlx){
QueryWrapper queryWrapper=new QueryWrapper();
queryWrapper.eq("dmlx",dmlx);
queryWrapper.eq("isDeleted",0);
queryWrapper.select("dm","dmmc");
List<SkDictionary> list = service.list(queryWrapper);
Map<String,String> map=new HashMap();
for (SkDictionary skDictionary:list) {
map.put(skDictionary.getDm(),skDictionary.getDmmc());
}
return map;
}
}
package com.founder.publicapi.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import org.springframework.format.annotation.DateTimeFormat;
/**
* (SkDictionary)表实体类
*
* @author jlt
* @since 2022-03-10 09:03:22
*/
@Data
@SuppressWarnings("serial")
@TableName("sk_dictionary")
public class SkDictionary extends Model<SkDictionary> {
@TableId(type = IdType.INPUT)
/**信息主键编号*/
private String xxzjbh;
/**
* 字典代码
*/
private String dm;
/**
* 代码名称
*/
private String dmmc;
/**
* 代码类型,DW、GJ、ZF、ST
*/
private String dmlx;
/**
* 代码描述,点位、轨迹、战法、实体
*/
private String dmms;
/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-ss HH:mm:ss")
private Date cjsj;
/**
* 是否删除,0代表未删除,1代表删除
*/
private Integer isdeleted;
}
......@@ -27,13 +27,12 @@ import java.util.HashMap;
import java.util.Map;
/**
*
* 系统日志:切面处理类
*
* <p>
* Created by LMD on 2019/3/22.
*/
@Aspect
@Component
//@Component
public class SysLogAspect {
@Autowired
......@@ -74,7 +73,7 @@ public class SysLogAspect {
String methodName = method.getName();
sysLog.setMethod(className + "." + methodName);
//请求参数 和对应的值
Map<String, Object> map=getNameAndValue(proceedingJoinPoint);
Map<String, Object> map = getNameAndValue(proceedingJoinPoint);
sysLog.setParams(map.toString());
//请求时间
Date date = new Date();
......@@ -100,58 +99,62 @@ public class SysLogAspect {
sysLog.setTotaltime(time);
try {
Object result = proceedingJoinPoint.proceed();
if(!StringUtils.isEmpty(result)){
if (!StringUtils.isEmpty(result)) {
sysLog.setContent(result.toString());
}
} catch (Throwable throwable) {
String erro="";
String erro = "";
throwable.printStackTrace();
erro=log(throwable);
erro = log(throwable);
sysLog.setContent(erro);
}
System.out.print("保存数据库=="+sysLog.toString());
System.out.print("保存数据库==" + sysLog.toString());
//调用service保存SysLog实体类到数据库
sysLogMapper.insert(sysLog);
WebSocketServer.BroadCastInfo(
"---时间:"+sysLog.getCreatedate()+
"\n---用户:"+sysLog.getUserid()+
"\n---请求ip:"+sysLog.getIp()+
"\n---是否成功:"+sysLog.getMessage()+
"\n---调用的方法:"+sysLog.getMethod()+
"\n---传入参数:"+sysLog.getParams()+
"\n---返回结果:"+sysLog.getContent().toString());
return proceedingJoinPoint.proceed();
"---时间:" + sysLog.getCreatedate() +
"\n---用户:" + sysLog.getUserid() +
"\n---请求ip:" + sysLog.getIp() +
"\n---是否成功:" + sysLog.getMessage() +
"\n---调用的方法:" + sysLog.getMethod() +
"\n---传入参数:" + sysLog.getParams() +
"\n---返回结果:" + sysLog.getContent().toString());
return null;
// return proceedingJoinPoint.proceed();
}
/**
* 获取参数Map集合
*
* @param joinPoint
* @return
*/
Map<String, Object> getNameAndValue(ProceedingJoinPoint joinPoint) {
Map<String, Object> param = new HashMap<>();
Object[] paramValues = joinPoint.getArgs();
String[] paramNames = ((CodeSignature)joinPoint.getSignature()).getParameterNames();
String[] paramNames = ((CodeSignature) joinPoint.getSignature()).getParameterNames();
for (int i = 0; i < paramNames.length; i++) {
param.put(paramNames[i], paramValues[i]);
}
return param;
}
/**
* @Desc: 异常打印日志 ,提供给打印非正常异常
* @Author HealerJean
* @Date 2018/8/21 下午6:41.
*/
public static String log(Throwable e){
StackTraceElement s= e.getStackTrace()[0];//数组长度为 1
String content= ("\n\n-----------------" +
public static String log(Throwable e) {
StackTraceElement s = e.getStackTrace()[0];//数组长度为 1
String content = ("\n\n-----------------" +
"\n报错文件名:" + s.getFileName() +
"\n报错的类:" + s.getClassName() +
"\n报错方法::" + s.getMethodName() +
"\n报错的行:" + s.getLineNumber() +
"\n报错的message:" + e.getMessage() +
"\n------------------\n\n");
System.out.println("111111111111111"+content);
System.out.println("111111111111111" + content);
return content;
}
}
package com.founder.publicapi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.founder.publicapi.entity.SkDictionary;
/**
* (SkDictionary)表数据库访问层
*
* @author jlt
* @since 2022-03-10 09:03:21
*/
public interface SkDictionaryMapper extends BaseMapper<SkDictionary> {
}
package com.founder.publicapi.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.founder.publicapi.entity.SkDictionary;
/**
* (SkDictionary)表服务接口
*
* @author jlt
* @since 2022-03-10 09:03:23
*/
public interface SkDictionaryService extends IService<SkDictionary> {
String findDmmcByDmAndDmlx(String dm,String dmlx);
String findDmmcByDmAndClass(String dm,String className);
String findDmByDmmcAndDmlx(String dmmc,String dmlx);
String findDmByDmmcAndClass(String dmmc,String className);
}
package com.founder.publicapi.service.serviceimpl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.founder.publicapi.mapper.SkDictionaryMapper;
import com.founder.publicapi.entity.SkDictionary;
import com.founder.publicapi.service.SkDictionaryService;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
* (SkDictionary)表服务实现类
*
* @author jlt
* @since 2022-03-10 09:03:23
*/
@Service("skDictionaryService")
public class SkDictionaryServiceImpl extends ServiceImpl<SkDictionaryMapper, SkDictionary> implements SkDictionaryService {
public SkDictionaryServiceImpl(){
this.initMap();
}
/**
* 存储类名和代码类型对应
*/
private Map<String,String> map=new HashMap<>();
/**
*根据代码和代码类型查询代码名称
*/
@Override
public String findDmmcByDmAndDmlx(String dm, String dmlx) {
QueryWrapper queryWrapper=new QueryWrapper();
queryWrapper.eq("dm",dm);
queryWrapper.eq("dmlx",dmlx);
queryWrapper.select("dmmc");
SkDictionary skDictionary = baseMapper.selectOne(queryWrapper);
if (skDictionary!=null){
return baseMapper.selectOne(queryWrapper).getDmmc();
}
return null;
}
/**
*根据代码和类名查询代码名称
*/
@Override
public String findDmmcByDmAndClass(String dm, String className) {
String name=map.get(className);
return this.findDmmcByDmAndDmlx(dm,name);
}
/**
*根据代码名称和代码类型查询代码
*/
@Override
public String findDmByDmmcAndDmlx(String dmmc, String dmlx) {
QueryWrapper queryWrapper=new QueryWrapper();
queryWrapper.eq("dmmc",dmmc);
queryWrapper.eq("dmlx",dmlx);
queryWrapper.select("dmmc");
SkDictionary skDictionary = baseMapper.selectOne(queryWrapper);
if (skDictionary!=null){
return baseMapper.selectOne(queryWrapper).getDmmc();
}
return null;
}
@Override
public String findDmByDmmcAndClass(String dmmc, String className) {
String name=map.get(className);
return this.findDmByDmmcAndDmlx(dmmc,name);
}
/**
*初始化map,给map赋相应的值
*/
private void initMap(){
map.put("SkPointlocation","DW");
map.put("SkTrail","GJ");
map.put("SkRegionalsTask","ZF");
map.put("SkRegionalsResult","ST");
}
}
package com.founder.publicapi.vo.param;
import lombok.Data;
/**
* 字典传参类
* @author jlt
* @date 2022/03/10/
*/
@Data
public class SkDictionaryParam {
/**
* 字典代码
*/
private String dm;
/**
* 代码名称
*/
private String dmmc;
/**
* 代码类型,DW、GJ、ZF、ST
*/
private String dmlx;
/**
* 行数
*/
private Integer page;
/**
* 列数
*/
private Integer pageSize;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment