|
@@ -0,0 +1,127 @@
|
|
|
+package com.zoniot.ccrc.service.impl;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import com.zoniot.ccrc.commom.model.Pagination;
|
|
|
+import com.zoniot.ccrc.commom.utils.UserUtil;
|
|
|
+import com.zoniot.ccrc.dao.DeviceMapper;
|
|
|
+import com.zoniot.ccrc.dao.OperationLogMapper;
|
|
|
+import com.zoniot.ccrc.dto.LoginUser;
|
|
|
+import com.zoniot.ccrc.entity.Device;
|
|
|
+import com.zoniot.ccrc.entity.OperationLog;
|
|
|
+import com.zoniot.ccrc.service.OperationLogService;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+import static com.google.common.collect.Lists.newArrayList;
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+@Service
|
|
|
+public class OperationLogServiceImpl implements OperationLogService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private OperationLogMapper operationLogMapper;
|
|
|
+ @Resource
|
|
|
+ private DeviceMapper deviceMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int insertSelective(OperationLog record) {
|
|
|
+ return operationLogMapper.insertSelective(record);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int updateByPrimaryKeySelective(OperationLog record) {
|
|
|
+ return operationLogMapper.updateByPrimaryKeySelective(record);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Pagination<OperationLog> getPage(String username, String content,
|
|
|
+ LocalDateTime startDate, LocalDateTime endDate, int pageNum, int pageSize, String mobilephone) {
|
|
|
+ LoginUser loginUser = UserUtil.getCurrentUser();
|
|
|
+ PageHelper.startPage(pageNum, pageSize);
|
|
|
+ List<OperationLog> list = operationLogMapper.getList(loginUser.getSiteId(), null, username,
|
|
|
+ content, startDate, endDate,mobilephone);
|
|
|
+ return new Pagination<>(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void add(OperationLog operationLog) {
|
|
|
+ log.info("begin add operationLog={}", JSON.toJSON(operationLog));
|
|
|
+ LoginUser loginUser = UserUtil.getCurrentUser();
|
|
|
+ operationLog.setSiteId(loginUser.getSiteId());
|
|
|
+ operationLog.setUsername(loginUser.getUsername());
|
|
|
+ //新增手机号码
|
|
|
+ operationLog.setMobilePhone(loginUser.getMobilePhone());
|
|
|
+ operationLog.setStatus(1);
|
|
|
+ operationLog.setCreateBy(loginUser.getUsername());
|
|
|
+ operationLog.setCreateDate(LocalDateTime.now());
|
|
|
+ operationLog.setUpdateBy(loginUser.getUsername());
|
|
|
+ operationLog.setUpdateDate(LocalDateTime.now());
|
|
|
+ this.insertSelective(operationLog);
|
|
|
+ log.info("end add operationLog");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void addMobileOperationLog(OperationLog operationLog) {
|
|
|
+ /* log.info("begin add addMobileOperationLog={}", JSON.toJSON(operationLog));
|
|
|
+ LoginAssistantUser loginAssistantUser = AssistantUserUtil.getCurrentUser();
|
|
|
+ Device device = deviceMapper.findByDeviceIdIgnore(operationLog.getDeviceId());
|
|
|
+ operationLog.setSiteId(device.getSiteId());
|
|
|
+ operationLog.setUsername(loginAssistantUser.getUserName() != null ? loginAssistantUser.getUserName() : loginAssistantUser.getPhoneNumber());
|
|
|
+ operationLog.setStatus(1);
|
|
|
+ operationLog.setCreateBy(loginAssistantUser.getPhoneNumber()==null?loginAssistantUser.getId().toString():loginAssistantUser.getPhoneNumber());
|
|
|
+ operationLog.setCreateDate(LocalDateTime.now());
|
|
|
+ operationLog.setUpdateBy(loginAssistantUser.getPhoneNumber()==null?loginAssistantUser.getId().toString():loginAssistantUser.getPhoneNumber());
|
|
|
+ operationLog.setUpdateDate(LocalDateTime.now());
|
|
|
+ //新增手机号码
|
|
|
+ operationLog.setMobilePhone(loginAssistantUser.getPhoneNumber()==null?
|
|
|
+ (operationLog.getMobilePhone() != null ? operationLog.getMobilePhone() : loginAssistantUser.getId().toString())
|
|
|
+ :loginAssistantUser.getPhoneNumber());
|
|
|
+ this.insertSelective(operationLog);
|
|
|
+ log.info("end add addMobileOperationLog");*/
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void getExcel(String username, String content, LocalDateTime startDate, LocalDateTime endDate,String mobilephone, HttpServletResponse httpServletResponse) {
|
|
|
+ /* LoginUser loginUser = UserUtil.getCurrentUser();
|
|
|
+ List<OperationLog> list = operationLogMapper.getList(loginUser.getSiteId(), UserUtil.getCurrentSiteProgramItems(loginUser), username, content, startDate, endDate,mobilephone);
|
|
|
+ String title = "操作日志";
|
|
|
+ String[] rowsName;
|
|
|
+ if(loginUser.getSiteType() != null && loginUser.getSiteType() == 2){
|
|
|
+ rowsName = new String[]{"序号", "操作时间", "用户名","手机号", "操作内容"};
|
|
|
+ }else{
|
|
|
+ rowsName= new String[]{"序号", "时间", "用户名","手机号", "操作", "操作前", "操作后"};
|
|
|
+ }
|
|
|
+ List<Object[]> dataList = newArrayList();
|
|
|
+ Object[] objs = null;
|
|
|
+ DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
+ OperationLog operationLog = list.get(i);
|
|
|
+ objs = new Object[rowsName.length];
|
|
|
+ objs[0] = (i + 1);
|
|
|
+ objs[1] = operationLog.getCreateDate().format(df);
|
|
|
+ objs[2] = operationLog.getUsername();
|
|
|
+ objs[3] = operationLog.getMobilePhone();
|
|
|
+ objs[4] = operationLog.getOperationName();
|
|
|
+ if(loginUser.getSiteType() == null || loginUser.getSiteType() != 2) {
|
|
|
+ objs[5] = operationLog.getOldData().replaceAll("&", ",\r\n");
|
|
|
+ objs[6] = operationLog.getNewData().replaceAll("&", ",\r\n");
|
|
|
+ }
|
|
|
+ dataList.add(objs);
|
|
|
+ }
|
|
|
+ ExcelUtil excelUtil = new ExcelUtil(title, rowsName, dataList);
|
|
|
+ try {
|
|
|
+ excelUtil.export(httpServletResponse);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new ServiceException(-900, "导出异常");
|
|
|
+ }*/
|
|
|
+ }
|
|
|
+}
|
|
|
+
|