|  |  | 
 |  |  | import com.zy.asrs.common.utils.IpTools; | 
 |  |  | import com.zy.asrs.framework.common.Cools; | 
 |  |  | import com.zy.asrs.wcs.common.annotation.OperationLog; | 
 |  |  | import com.zy.asrs.wcs.sys.entity.OperationRecord; | 
 |  |  | import com.zy.asrs.wcs.sys.entity.User; | 
 |  |  | import com.zy.asrs.wcs.sys.service.OperationRecordService; | 
 |  |  | import com.zy.asrs.wcs.utils.Utils; | 
 |  |  | import com.zy.asrs.wcs.system.entity.OperationRecord; | 
 |  |  | import com.zy.asrs.wcs.system.entity.User; | 
 |  |  | import com.zy.asrs.wcs.system.service.OperationRecordService; | 
 |  |  | import com.zy.asrs.wcs.utils.CommonUtils; | 
 |  |  | import org.aspectj.lang.JoinPoint; | 
 |  |  | import org.aspectj.lang.annotation.*; | 
 |  |  | import org.aspectj.lang.reflect.MethodSignature; | 
 |  |  | 
 |  |  |      * 保存操作记录 | 
 |  |  |      */ | 
 |  |  |     private void saveLog(JoinPoint joinPoint, Object result, Exception e) { | 
 |  |  |         // 记录模块名、操作功能、请求方法、请求参数、返回结果 | 
 |  |  |         MethodSignature signature = (MethodSignature) joinPoint.getSignature(); | 
 |  |  |         Method method = signature.getMethod(); | 
 |  |  |         if (null == method) { | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         OperationLog ol = method.getAnnotation(OperationLog.class); | 
 |  |  |         if (null == ol) { | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         String desc = getDescription(method, ol); | 
 |  |  |         if (Cools.isEmpty(desc)) { | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         OperationRecord record = new OperationRecord(); | 
 |  |  |         Long endTime = startTime.get(); | 
 |  |  |         record.setCreateTime(new Date()); | 
 |  |  | 
 |  |  |         User user = getLoginUser(); | 
 |  |  |         if (user != null) { | 
 |  |  |             record.setUserId(user.getId()); | 
 |  |  |             record.setHostId(user.getHostId()); | 
 |  |  | //            record.setHostId(user.getHostId()); | 
 |  |  |         } | 
 |  |  |         // 记录请求地址、请求方式、ip | 
 |  |  |         ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); | 
 |  |  | 
 |  |  |         // 记录异常信息 | 
 |  |  |         if (e != null) { | 
 |  |  |             record.setResult(0); | 
 |  |  |             record.setErr(Utils.sub(e.toString(), MAX_LENGTH)); | 
 |  |  |             record.setErr(CommonUtils.sub(e.toString(), MAX_LENGTH)); | 
 |  |  |         } else { | 
 |  |  |             record.setResult(1); | 
 |  |  |         } | 
 |  |  |         // 记录模块名、操作功能、请求方法、请求参数、返回结果 | 
 |  |  |         MethodSignature signature = (MethodSignature) joinPoint.getSignature(); | 
 |  |  |         Method method = signature.getMethod(); | 
 |  |  |         if (method != null) { | 
 |  |  |             OperationLog ol = method.getAnnotation(OperationLog.class); | 
 |  |  |             if (ol != null) { | 
 |  |  |                 // 记录操作功能 | 
 |  |  |                 record.setNamespace(getDescription(method, ol)); | 
 |  |  |                 // 记录备注 | 
 |  |  |                 if (!Cools.isEmpty(ol.comments())) { | 
 |  |  |                     record.setMemo(ol.comments()); | 
 |  |  |                 } | 
 |  |  |                 // 记录请求参数 | 
 |  |  |                 if (ol.param() && request != null) { | 
 |  |  |                     record.setRequest(Utils.sub(getParams(joinPoint, request), MAX_LENGTH)); | 
 |  |  |                 } | 
 |  |  |                 // 记录请求结果 | 
 |  |  |                 if (ol.result() && result != null) { | 
 |  |  |                     record.setResponse(Utils.sub(JSON.toJSONString(result), MAX_LENGTH)); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         // 记录操作功能 | 
 |  |  |         record.setNamespace(desc); | 
 |  |  |         // 记录备注 | 
 |  |  |         if (!Cools.isEmpty(ol.comments())) { | 
 |  |  |             record.setMemo(ol.comments()); | 
 |  |  |         } | 
 |  |  |         // 记录请求参数 | 
 |  |  |         if (ol.param() && request != null) { | 
 |  |  |             record.setRequest(CommonUtils.sub(getParams(joinPoint, request), MAX_LENGTH)); | 
 |  |  |         } | 
 |  |  |         // 记录请求结果 | 
 |  |  |         if (ol.result() && result != null) { | 
 |  |  |             record.setResponse(CommonUtils.sub(JSON.toJSONString(result), MAX_LENGTH)); | 
 |  |  |         } | 
 |  |  |         operationRecordService.saveAsync(record); | 
 |  |  |     } | 
 |  |  | 
 |  |  |  | 
 |  |  |         Map<String, String[]> map = Collections.unmodifiableMap(request.getParameterMap()); | 
 |  |  |         for (Map.Entry<String, String[]> entry : map.entrySet()) { | 
 |  |  |             paramsMap.put(entry.getKey(), Utils.join(entry.getValue(), ",")); | 
 |  |  |             paramsMap.put(entry.getKey(), CommonUtils.join(entry.getValue(), ",")); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         if (paramsMap.keySet().size() > 0) { |