虚拟清单基础页--订阅

This commit is contained in:
zhn
2022-04-12 16:46:49 +08:00
parent fd5308db13
commit 3b14934098
4 changed files with 153 additions and 83 deletions
@@ -176,15 +176,25 @@ public class DummyInventoryBaseEOController extends JeroController<DummyInventor
@AutoLog(value = "订阅")
@ApiOperation(value="订阅", notes="订阅")
@GetMapping(value = "/read")
public void read(String dummyId){
dummyInventoryBaseEOService.read(dummyId);
public Result<?> read(@RequestParam(name="id",required=true) String id){
try {
dummyInventoryBaseEOService.read(id);
} catch (Exception e) {
return Result.OK("订阅失败");
}
return Result.OK("订阅成功");
}
@AutoLog(value = "取消订阅")
@ApiOperation(value="取消订阅", notes="取消订阅")
@GetMapping(value = "/cancelRead")
public void cancelRead(String dummyId){
dummyInventoryBaseEOService.cancelRead(dummyId);
}
public Result<?> cancelRead(String id){
try {
dummyInventoryBaseEOService.cancelRead(id);
} catch (Exception e) {
return Result.OK("取消订阅失败");
}
return Result.OK("取消订阅成功");
}
}
@@ -1,6 +1,7 @@
package com.jero.modules.dummy.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -75,4 +76,8 @@ public class DummyInventoryBaseEO implements Serializable {
@Dict(dicCode ="dummy_inventory_state")
private java.lang.String state;
/**订阅标识*/
@TableField(exist = false)
private String readFlag;
}
@@ -0,0 +1,37 @@
package com.jero.modules.dummy.enums;
/**
* @description
* @date 2022/1/21 15:22
* @auth zhn
*/
public enum ReadFlagEnum {
CANCEL_READ("取消订阅","0"),
READ("订阅","1");
String name;
String value;
private ReadFlagEnum(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
@@ -7,13 +7,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.dummy.entity.DummyInventoryBaseEO;
import com.jero.modules.dummy.entity.DummyReadEO;
import com.jero.modules.dummy.enums.ReadFlagEnum;
import com.jero.modules.dummy.mapper.DummyInventoryBaseEOMapper;
import com.jero.modules.dummy.service.IDummyInventoryBaseEOService;
import com.jero.modules.dummy.service.IDummyReadEOService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import java.util.stream.Collectors;
@@ -23,25 +26,27 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 虚拟清单基础表
* @Author: jero-boot
* @Date: 2022-04-08
* @Date: 2022-04-08
* @Version: V1.0
*/
@Service
public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryBaseEOMapper, DummyInventoryBaseEO> implements IDummyInventoryBaseEOService {
@Autowired
private ISysUserService sysUserService;
@Autowired
private DummyReadEOServiceImpl dummyReadEOService;
@Autowired
private ISysUserService sysUserService;
@Autowired
private DummyReadEOServiceImpl dummyReadEOService;
@Autowired
private IDummyReadEOService iDummyReadEOService;
/**
* 保存
*
* @param dummyInventoryBaseEO
* @return
*/
@Override
/**
* 保存
*
* @param dummyInventoryBaseEO
* @return
*/
@Override
public void add(DummyInventoryBaseEO dummyInventoryBaseEO) {
Date now = new Date();
dummyInventoryBaseEO.setCreateTime(now);
@@ -49,94 +54,107 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
save(dummyInventoryBaseEO);
}
/**
* 更新
*
* @param dummyInventoryBaseEO
* @return
*/
@Override
/**
* 更新
*
* @param dummyInventoryBaseEO
* @return
*/
@Override
public void editById(DummyInventoryBaseEO dummyInventoryBaseEO) {
Date now = new Date();
Date now = new Date();
dummyInventoryBaseEO.setUpdateTime(now);
saveOrUpdate(dummyInventoryBaseEO);
saveOrUpdate(dummyInventoryBaseEO);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public DummyInventoryBaseEO queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
* 列表查询
*
* @return
*/
@Override
public List<DummyInventoryBaseEO> queryList() {
return list();
}
@Override
public IPage<DummyInventoryBaseEO> getPageInfo(Page<DummyInventoryBaseEO> page,QueryWrapper<DummyInventoryBaseEO> queryWrapper) {
IPage<DummyInventoryBaseEO> pageList = this.page(page,queryWrapper);
if(pageList.getRecords().size() != 0){
List<DummyInventoryBaseEO> records = pageList.getRecords();
List<String> createByList = records.stream().map(DummyInventoryBaseEO::getCreateBy).collect(Collectors.toList());
LambdaQueryWrapper<SysUser> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.in(SysUser::getUsername,createByList);
List<SysUser> userList = sysUserService.list(lambdaQueryWrapper);
for (DummyInventoryBaseEO record : pageList.getRecords()) {
String createBy = record.getCreateBy();
List<SysUser> sysUserList = userList.stream().filter(e -> createBy.equals(e.getUsername())).collect(Collectors.toList());
if(sysUserList.size() == 1){
record.setCreateBy(sysUserList.get(0).getRealname());
@Override
public IPage<DummyInventoryBaseEO> getPageInfo(Page<DummyInventoryBaseEO> page, QueryWrapper<DummyInventoryBaseEO> queryWrapper) {
IPage<DummyInventoryBaseEO> pageList = this.page(page, queryWrapper);
if (pageList.getRecords().size() != 0) {
List<DummyInventoryBaseEO> records = pageList.getRecords();
List<String> createByList = records.stream().map(DummyInventoryBaseEO::getCreateBy).collect(Collectors.toList());
LambdaQueryWrapper<SysUser> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.in(SysUser::getUsername, createByList);
List<SysUser> userList = sysUserService.list(lambdaQueryWrapper);
//订阅标识
List<String> ids = records.stream().map(DummyInventoryBaseEO::getId).collect(Collectors.toList());
LambdaQueryWrapper<DummyReadEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(DummyReadEO::getDummyInventoryBaseId, ids);
List<DummyReadEO> dummyReadEOS = iDummyReadEOService.list(wrapper);
List<String> dummyReadIdList = dummyReadEOS.stream().map(DummyReadEO::getDummyInventoryBaseId).collect(Collectors.toList());
for (DummyInventoryBaseEO record : pageList.getRecords()) {
String createBy = record.getCreateBy();
List<SysUser> sysUserList = userList.stream().filter(e -> createBy.equals(e.getUsername())).collect(Collectors.toList());
if (sysUserList.size() == 1) {
record.setCreateBy(sysUserList.get(0).getRealname());
}
//订阅标识
if(dummyReadIdList.contains(record.getId())){
record.setReadFlag(ReadFlagEnum.READ.getValue());
}else{
record.setReadFlag(ReadFlagEnum.CANCEL_READ.getValue());
}
}
}
return pageList;
}
}
}
@Override
public void read(String dummyId) {
DummyReadEO dummyReadEO = new DummyReadEO();
dummyReadEO.setDummyInventoryBaseId(dummyId);
dummyReadEOService.add(dummyReadEO);
}
return pageList;
}
@Override
public void cancelRead(String dummyId) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
LambdaQueryWrapper<DummyReadEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(DummyReadEO::getDummyInventoryBaseId,dummyId).in(DummyReadEO::getCreateBy,sysUser.getUsername());
dummyReadEOService.remove(wrapper);
}
@Override
public void read(String dummyId) {
DummyReadEO dummyReadEO = new DummyReadEO();
dummyReadEO.setDummyInventoryBaseId(dummyId);
dummyReadEOService.add(dummyReadEO);
}
@Override
public void cancelRead(String dummyId) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
LambdaQueryWrapper<DummyReadEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(DummyReadEO::getDummyInventoryBaseId, dummyId).in(DummyReadEO::getCreateBy, sysUser.getUsername());
dummyReadEOService.remove(wrapper);
}
}