虚拟清单基础页--订阅

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 = "订阅") @AutoLog(value = "订阅")
@ApiOperation(value="订阅", notes="订阅") @ApiOperation(value="订阅", notes="订阅")
@GetMapping(value = "/read") @GetMapping(value = "/read")
public void read(String dummyId){ public Result<?> read(@RequestParam(name="id",required=true) String id){
dummyInventoryBaseEOService.read(dummyId); try {
dummyInventoryBaseEOService.read(id);
} catch (Exception e) {
return Result.OK("订阅失败");
}
return Result.OK("订阅成功");
} }
@AutoLog(value = "取消订阅") @AutoLog(value = "取消订阅")
@ApiOperation(value="取消订阅", notes="取消订阅") @ApiOperation(value="取消订阅", notes="取消订阅")
@GetMapping(value = "/cancelRead") @GetMapping(value = "/cancelRead")
public void cancelRead(String dummyId){ public Result<?> cancelRead(String id){
dummyInventoryBaseEOService.cancelRead(dummyId); try {
} dummyInventoryBaseEOService.cancelRead(id);
} catch (Exception e) {
return Result.OK("取消订阅失败");
}
return Result.OK("取消订阅成功");
}
} }
@@ -1,6 +1,7 @@
package com.jero.modules.dummy.entity; package com.jero.modules.dummy.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@@ -75,4 +76,8 @@ public class DummyInventoryBaseEO implements Serializable {
@Dict(dicCode ="dummy_inventory_state") @Dict(dicCode ="dummy_inventory_state")
private java.lang.String 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.common.system.vo.LoginUser;
import com.jero.modules.dummy.entity.DummyInventoryBaseEO; import com.jero.modules.dummy.entity.DummyInventoryBaseEO;
import com.jero.modules.dummy.entity.DummyReadEO; 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.mapper.DummyInventoryBaseEOMapper;
import com.jero.modules.dummy.service.IDummyInventoryBaseEOService; 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.entity.SysUser;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Date; import java.util.Date;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -23,25 +26,27 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/** /**
* @Description: 虚拟清单基础表 * @Description: 虚拟清单基础表
* @Author: jero-boot * @Author: jero-boot
* @Date: 2022-04-08 * @Date: 2022-04-08
* @Version: V1.0 * @Version: V1.0
*/ */
@Service @Service
public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryBaseEOMapper, DummyInventoryBaseEO> implements IDummyInventoryBaseEOService { public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryBaseEOMapper, DummyInventoryBaseEO> implements IDummyInventoryBaseEOService {
@Autowired @Autowired
private ISysUserService sysUserService; private ISysUserService sysUserService;
@Autowired @Autowired
private DummyReadEOServiceImpl dummyReadEOService; private DummyReadEOServiceImpl dummyReadEOService;
@Autowired
private IDummyReadEOService iDummyReadEOService;
/** /**
* 保存 * 保存
* *
* @param dummyInventoryBaseEO * @param dummyInventoryBaseEO
* @return * @return
*/ */
@Override @Override
public void add(DummyInventoryBaseEO dummyInventoryBaseEO) { public void add(DummyInventoryBaseEO dummyInventoryBaseEO) {
Date now = new Date(); Date now = new Date();
dummyInventoryBaseEO.setCreateTime(now); dummyInventoryBaseEO.setCreateTime(now);
@@ -49,94 +54,107 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
save(dummyInventoryBaseEO); save(dummyInventoryBaseEO);
} }
/** /**
* 更新 * 更新
* *
* @param dummyInventoryBaseEO * @param dummyInventoryBaseEO
* @return * @return
*/ */
@Override @Override
public void editById(DummyInventoryBaseEO dummyInventoryBaseEO) { public void editById(DummyInventoryBaseEO dummyInventoryBaseEO) {
Date now = new Date(); Date now = new Date();
dummyInventoryBaseEO.setUpdateTime(now); dummyInventoryBaseEO.setUpdateTime(now);
saveOrUpdate(dummyInventoryBaseEO); saveOrUpdate(dummyInventoryBaseEO);
} }
/** /**
* 通过id删除 * 通过id删除
* *
* @param id * @param id
* @return * @return
*/ */
@Override @Override
public void deleteById(String id) { public void deleteById(String id) {
removeById(id); removeById(id);
} }
/** /**
* 批量删除 * 批量删除
* *
* @param ids * @param ids
* @return * @return
*/ */
@Override @Override
public void deleteByIds(List<String> ids) { public void deleteByIds(List<String> ids) {
removeByIds(ids); removeByIds(ids);
} }
/** /**
* 通过id查询 * 通过id查询
* *
* @param id * @param id
* @return * @return
*/ */
@Override @Override
public DummyInventoryBaseEO queryById(String id) { public DummyInventoryBaseEO queryById(String id) {
return getById(id); return getById(id);
} }
/** /**
* 列表查询 * 列表查询
* *
* @return * @return
*/ */
@Override @Override
public List<DummyInventoryBaseEO> queryList() { public List<DummyInventoryBaseEO> queryList() {
return list(); return list();
} }
@Override @Override
public IPage<DummyInventoryBaseEO> getPageInfo(Page<DummyInventoryBaseEO> page,QueryWrapper<DummyInventoryBaseEO> queryWrapper) { public IPage<DummyInventoryBaseEO> getPageInfo(Page<DummyInventoryBaseEO> page, QueryWrapper<DummyInventoryBaseEO> queryWrapper) {
IPage<DummyInventoryBaseEO> pageList = this.page(page,queryWrapper); IPage<DummyInventoryBaseEO> pageList = this.page(page, queryWrapper);
if(pageList.getRecords().size() != 0){ if (pageList.getRecords().size() != 0) {
List<DummyInventoryBaseEO> records = pageList.getRecords(); List<DummyInventoryBaseEO> records = pageList.getRecords();
List<String> createByList = records.stream().map(DummyInventoryBaseEO::getCreateBy).collect(Collectors.toList()); List<String> createByList = records.stream().map(DummyInventoryBaseEO::getCreateBy).collect(Collectors.toList());
LambdaQueryWrapper<SysUser> lambdaQueryWrapper = new LambdaQueryWrapper(); LambdaQueryWrapper<SysUser> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.in(SysUser::getUsername,createByList); lambdaQueryWrapper.in(SysUser::getUsername, createByList);
List<SysUser> userList = sysUserService.list(lambdaQueryWrapper); List<SysUser> userList = sysUserService.list(lambdaQueryWrapper);
for (DummyInventoryBaseEO record : pageList.getRecords()) { //订阅标识
String createBy = record.getCreateBy(); List<String> ids = records.stream().map(DummyInventoryBaseEO::getId).collect(Collectors.toList());
List<SysUser> sysUserList = userList.stream().filter(e -> createBy.equals(e.getUsername())).collect(Collectors.toList()); LambdaQueryWrapper<DummyReadEO> wrapper = new LambdaQueryWrapper<>();
if(sysUserList.size() == 1){ wrapper.in(DummyReadEO::getDummyInventoryBaseId, ids);
record.setCreateBy(sysUserList.get(0).getRealname()); 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 return pageList;
public void read(String dummyId) { }
DummyReadEO dummyReadEO = new DummyReadEO();
dummyReadEO.setDummyInventoryBaseId(dummyId);
dummyReadEOService.add(dummyReadEO);
}
@Override @Override
public void cancelRead(String dummyId) { public void read(String dummyId) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); DummyReadEO dummyReadEO = new DummyReadEO();
LambdaQueryWrapper<DummyReadEO> wrapper = new LambdaQueryWrapper<>(); dummyReadEO.setDummyInventoryBaseId(dummyId);
wrapper.in(DummyReadEO::getDummyInventoryBaseId,dummyId).in(DummyReadEO::getCreateBy,sysUser.getUsername()); dummyReadEOService.add(dummyReadEO);
dummyReadEOService.remove(wrapper); }
}
@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);
}
} }