/**
|
* Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng)
|
* <p>
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
* you may not use this file except in compliance with the License.
|
* You may obtain a copy of the License at
|
* <p>
|
* http://www.apache.org/licenses/LICENSE-2.0
|
* <p>
|
* Unless required by applicable law or agreed to in writing, software
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* See the License for the specific language governing permissions and
|
* limitations under the License.
|
*/
|
package cn.stylefeng.guns.sys.modular.system.warpper;
|
|
import cn.stylefeng.guns.base.db.util.ClobUtil;
|
import cn.stylefeng.guns.sys.core.constant.factory.ConstantFactory;
|
import cn.stylefeng.guns.sys.core.util.Contrast;
|
import cn.stylefeng.guns.sys.core.util.DecimalUtil;
|
import cn.stylefeng.roses.core.base.warpper.BaseControllerWrapper;
|
import cn.stylefeng.roses.core.util.ToolUtil;
|
import com.alibaba.druid.proxy.jdbc.ClobProxyImpl;
|
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 日志列表的包装类
|
*
|
* @author fengshuonan
|
* @date 2017年4月5日22:56:24
|
*/
|
public class LogWrapper extends BaseControllerWrapper {
|
|
public LogWrapper(Map<String, Object> single) {
|
super(single);
|
}
|
|
public LogWrapper(List<Map<String, Object>> multi) {
|
super(multi);
|
}
|
|
@Override
|
protected void wrapTheMap(Map<String, Object> map) {
|
|
String message = "";
|
|
Object messageObj = map.get("message");
|
if (messageObj instanceof ClobProxyImpl) {
|
ClobProxyImpl clobProxy = (ClobProxyImpl) messageObj;
|
message = ClobUtil.clobToString(clobProxy.getRawClob());
|
} else {
|
message = (String) messageObj;
|
}
|
|
Long userid = DecimalUtil.getLong(map.get("userId"));
|
map.put("userName", ConstantFactory.me().getUserNameById(userid));
|
|
//如果信息过长,则只截取前100位字符串
|
if (ToolUtil.isNotEmpty(message) && message.length() >= 100) {
|
String subMessage = message.substring(0, 100) + "...";
|
map.put("message", subMessage);
|
}
|
|
//如果信息中包含分割符号;;; 则分割字符串返给前台
|
if (ToolUtil.isNotEmpty(message) && message.contains(Contrast.separator)) {
|
String[] msgs = message.split(Contrast.separator);
|
map.put("regularMessage", msgs);
|
} else {
|
map.put("regularMessage", message);
|
}
|
}
|
}
|