|
|
@@ -0,0 +1,131 @@
|
|
|
+package com.ydtech.modules.admin.service.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.ydtech.modules.admin.dao.SysDeptMapper;
|
|
|
+import com.ydtech.modules.admin.dao.SysMenuRecordMapper;
|
|
|
+import com.ydtech.modules.admin.dao.SysUserMapper;
|
|
|
+import com.ydtech.modules.admin.model.SysDept;
|
|
|
+import com.ydtech.modules.admin.model.SysMenuRecord;
|
|
|
+import com.ydtech.modules.admin.model.SysUser;
|
|
|
+import com.ydtech.modules.admin.model.dto.SysMenuRecordDto;
|
|
|
+import com.ydtech.modules.admin.model.vo.SysMenuRecordVo;
|
|
|
+import com.ydtech.modules.admin.service.SysMenuRecordService;
|
|
|
+import com.ydtech.modules.base.controller.BaseController;
|
|
|
+import com.ydtech.modules.order.entity.BasePageResult;
|
|
|
+import com.ydtech.utils.StringUtils;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class SysMenuRecordServiceImpl extends ServiceImpl<SysMenuRecordMapper, SysMenuRecord> implements SysMenuRecordService{
|
|
|
+
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private SysDeptMapper sysDeptMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private SysUserMapper sysUserMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean insert(Integer type, Integer menuType) {
|
|
|
+ SysMenuRecord sysMenuRecord = new SysMenuRecord();
|
|
|
+ SysUser sysUser = sysUserMapper.selectById(BaseController.getUserId());
|
|
|
+ sysMenuRecord.setUserId(sysUser.getId());
|
|
|
+ sysMenuRecord.setUserName(sysUser.getName());
|
|
|
+ sysMenuRecord.setType(type);
|
|
|
+ sysMenuRecord.setMenuType(menuType);
|
|
|
+ sysMenuRecord.setCreateTime(new Date());
|
|
|
+ SysDept sysDept = sysDeptMapper.selectById(sysUser.getDeptId());
|
|
|
+ sysMenuRecord.setSource(sysDept.getManagementSource());
|
|
|
+
|
|
|
+ return save(sysMenuRecord);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public BasePageResult<SysMenuRecord> queryByPage(SysMenuRecordDto sysMenuRecordDto) {
|
|
|
+ Page<SysMenuRecord> page = new Page<>(sysMenuRecordDto.getPageNum(), sysMenuRecordDto.getPageSize());
|
|
|
+
|
|
|
+ LambdaQueryWrapper<SysMenuRecord> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(!StringUtils.isNotEmpty(sysMenuRecordDto.getUserId()),SysMenuRecord::getUserId,sysMenuRecordDto.getUserId());
|
|
|
+ wrapper.eq(sysMenuRecordDto.getType() !=null,SysMenuRecord::getType,sysMenuRecordDto.getType());
|
|
|
+ wrapper.between(StringUtils.isNotEmpty(sysMenuRecordDto.getBeginTime()) && StringUtils.isNotEmpty(sysMenuRecordDto.getEndTime()),
|
|
|
+ SysMenuRecord::getCreateTime,sysMenuRecordDto.getBeginTime(),sysMenuRecordDto.getEndTime());
|
|
|
+ wrapper.orderByDesc(SysMenuRecord::getId);
|
|
|
+
|
|
|
+ Page<SysMenuRecord> insOrdersPage = page(page, wrapper);
|
|
|
+ return new BasePageResult<>(sysMenuRecordDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
|
|
|
+ insOrdersPage.getRecords());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public SysMenuRecordVo getClickMenu(SysMenuRecordDto sysMenuRecordDto) {
|
|
|
+ SysMenuRecordVo sysMenuRecordVo = new SysMenuRecordVo(null,null,0l,0l,0l,0l,0l,0l);
|
|
|
+ List<SysMenuRecord> sysMenuRecords = baseMapper.selectList(new LambdaQueryWrapper<SysMenuRecord>().eq(!StringUtils.isNotEmpty(sysMenuRecordDto.getUserId()), SysMenuRecord::getUserId, sysMenuRecordDto.getUserId())
|
|
|
+ .eq(sysMenuRecordDto.getType() != null, SysMenuRecord::getType, sysMenuRecordDto.getType())
|
|
|
+ .eq( SysMenuRecord::getUserId, sysMenuRecordDto.getUserId())
|
|
|
+ .between(StringUtils.isNotEmpty(sysMenuRecordDto.getBeginTime()) && StringUtils.isNotEmpty(sysMenuRecordDto.getEndTime()),
|
|
|
+ SysMenuRecord::getCreateTime, sysMenuRecordDto.getBeginTime(), sysMenuRecordDto.getEndTime()));
|
|
|
+
|
|
|
+ SysUser sysUser = sysUserMapper.selectById(sysMenuRecordDto.getUserId());
|
|
|
+ sysMenuRecordVo.setUserId(sysUser.getId());
|
|
|
+ sysMenuRecordVo.setUserName(sysUser.getName());
|
|
|
+ if (sysMenuRecords.size()==0) return sysMenuRecordVo;
|
|
|
+ //客户端:1:APP;2:PC
|
|
|
+ if (sysMenuRecordDto.getType()==1) {
|
|
|
+ //'菜单类型(1:车险录单;2:订单查询;3:钱包, 4:会员分享 5:会员管理 6 海报管理)',
|
|
|
+ List<SysMenuRecord> collect = sysMenuRecords.stream()
|
|
|
+ .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 3)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ long sum = collect.stream().mapToInt(SysMenuRecord::getMenuType).count();
|
|
|
+ sysMenuRecordVo.setCarNumber(sum);
|
|
|
+ List<SysMenuRecord> collect4 = sysMenuRecords.stream()
|
|
|
+ .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 4)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ long sum4 = collect4.stream().mapToInt(SysMenuRecord::getMenuType).count();
|
|
|
+ sysMenuRecordVo.setMemberNumber(sum4);
|
|
|
+ List<SysMenuRecord> collect5 = sysMenuRecords.stream()
|
|
|
+ .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 5)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ long sum5 = collect5.stream().mapToInt(SysMenuRecord::getMenuType).count();
|
|
|
+ sysMenuRecordVo.setManagementNumber(sum5);
|
|
|
+ List<SysMenuRecord> collect6 = sysMenuRecords.stream()
|
|
|
+ .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 6)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ long sum6 = collect6.stream().mapToInt(SysMenuRecord::getMenuType).count();
|
|
|
+ sysMenuRecordVo.setPosterNumber(sum6);
|
|
|
+
|
|
|
+ }else {
|
|
|
+ //'菜单类型(1:车险录单;2:订单查询;3:钱包)',
|
|
|
+ List<SysMenuRecord> collect = sysMenuRecords.stream()
|
|
|
+ .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 1)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ long sum = collect.stream().mapToInt(SysMenuRecord::getMenuType).count();
|
|
|
+ sysMenuRecordVo.setCarNumber(sum);
|
|
|
+
|
|
|
+ List<SysMenuRecord> collect2 = sysMenuRecords.stream()
|
|
|
+ .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 2)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ long sum2 = collect2.stream().mapToInt(SysMenuRecord::getMenuType).count();
|
|
|
+ sysMenuRecordVo.setOrderNumber(sum2);
|
|
|
+
|
|
|
+ List<SysMenuRecord> collect3 = sysMenuRecords.stream()
|
|
|
+ .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 3)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ long sum3 = collect3.stream().mapToInt(SysMenuRecord::getMenuType).count();
|
|
|
+ sysMenuRecordVo.setWalletNumber(sum3);
|
|
|
+ }
|
|
|
+
|
|
|
+ return sysMenuRecordVo;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|