/** * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) *

* 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 *

* http://www.apache.org/licenses/LICENSE-2.0 *

* 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 single) { super(single); } public LogWrapper(List> multi) { super(multi); } @Override protected void wrapTheMap(Map 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); } } }