Browse Source

调整发布逻辑

master
Yen 3 years ago
parent
commit
05b4c4528d
  1. 40
      src/main/java/com/qs/serve/modules/qms/controller/QmsGroupController.java
  2. 2
      src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java
  3. 25
      src/main/java/com/qs/serve/modules/qms/entity/bo/QmsHastenBo.java
  4. 2
      src/main/java/com/qs/serve/modules/qms/service/QmsGroupScopeService.java
  5. 33
      src/main/java/com/qs/serve/modules/qms/service/impl/QmsGroupScopeServiceImpl.java

40
src/main/java/com/qs/serve/modules/qms/controller/QmsGroupController.java

@ -14,6 +14,7 @@ import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.qms.entity.QmsForm; import com.qs.serve.modules.qms.entity.QmsForm;
import com.qs.serve.modules.qms.entity.QmsGroupScope; import com.qs.serve.modules.qms.entity.QmsGroupScope;
import com.qs.serve.modules.qms.entity.bo.QmsGroupBo; import com.qs.serve.modules.qms.entity.bo.QmsGroupBo;
import com.qs.serve.modules.qms.entity.bo.QmsHastenBo;
import com.qs.serve.modules.qms.service.QmsFormService; import com.qs.serve.modules.qms.service.QmsFormService;
import com.qs.serve.modules.qms.service.QmsGroupScopeService; import com.qs.serve.modules.qms.service.QmsGroupScopeService;
import com.qs.serve.modules.sys.entity.SysDept; import com.qs.serve.modules.sys.entity.SysDept;
@ -118,7 +119,7 @@ public class QmsGroupController {
qmsGroup.setFormContext(qmsForm.getFormContext()); qmsGroup.setFormContext(qmsForm.getFormContext());
qmsGroup.setVersion(qmsForm.getVersion()); qmsGroup.setVersion(qmsForm.getVersion());
qmsGroupService.updateById(qmsGroup); qmsGroupService.updateById(qmsGroup);
qmsGroupScopeService.removeById(qmsGroup.getFormId()); qmsGroupScopeService.removeByGroupId(qmsGroup.getId());
qmsGroupScopeService.saveByBo(qmsGroup.getId(),param); qmsGroupScopeService.saveByBo(qmsGroup.getId(),param);
return R.ok(); return R.ok();
} }
@ -137,11 +138,39 @@ public class QmsGroupController {
if(qmsGroup.getPublishState().equals(1)){ if(qmsGroup.getPublishState().equals(1)){
return R.error("请勿重新发布"); return R.error("请勿重新发布");
} }
//TODO 发布 qmsGroup.setPublishState(1);
qmsGroupService.updateById(qmsGroup);
this.qmsGroupScopeService.publish(groupId);
//todo 发送推送
return R.ok();
}
/**
* 催办
* @param hastenBo
* @return
*/
@LimitSubmit
@PostMapping("/hasten")
@SysLog(module = SystemModule.QUESTION, title = "发布组", biz = BizType.UPDATE)
public R<?> hasten(@RequestBody @Valid QmsHastenBo hastenBo){
QmsGroup qmsGroup = qmsGroupService.getById(hastenBo.getGroupId());
if(qmsGroup.getPublishState().equals(0)){
return R.error("未发布不可以催办");
}
LambdaQueryWrapper<QmsGroupScope> lqw = new LambdaQueryWrapper<>();
lqw.eq(QmsGroupScope::getGroupId,hastenBo.getGroupId());
lqw.eq(QmsGroupScope::getFinished,0);
lqw.ne(QmsGroupScope::getScopeType,0);
lqw.ne(QmsGroupScope::getScopeType,2);
List<QmsGroupScope> groupScopes = qmsGroupScopeService.list(lqw);
List<String> userIds = groupScopes.stream()
.map(QmsGroupScope::getScopeValue)
.distinct().collect(Collectors.toList());
//todo 根据userId加载微信用户进行推送
return R.ok(); return R.ok();
} }
//TODO 催办
/** /**
* 催办列表 * 催办列表
@ -155,11 +184,14 @@ public class QmsGroupController {
LambdaQueryWrapper<QmsGroupScope> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<QmsGroupScope> lqw = new LambdaQueryWrapper<>();
if(finished!=null){ if(finished!=null){
lqw.eq(QmsGroupScope::getFinished,finished); lqw.eq(QmsGroupScope::getFinished,finished);
}else {
lqw.ne(QmsGroupScope::getFinished,-1);
} }
if(groupId!=null){ if(groupId!=null){
lqw.eq(QmsGroupScope::getGroupId,groupId); lqw.eq(QmsGroupScope::getGroupId,groupId);
} }
lqw.in(QmsGroupScope::getScopeType,1,3); lqw.ne(QmsGroupScope::getScopeType,0);
lqw.ne(QmsGroupScope::getScopeType,2);
PageUtil.startPage(); PageUtil.startPage();
List<QmsGroupScope> groupScopes = qmsGroupScopeService.list(lqw); List<QmsGroupScope> groupScopes = qmsGroupScopeService.list(lqw);
List<SysUserSimpleVo> list = new ArrayList<>(); List<SysUserSimpleVo> list = new ArrayList<>();

2
src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java

@ -59,6 +59,8 @@ public class QmsSubmitApiController {
lqw.eq(QmsGroupScope::getScopeValue,userId); lqw.eq(QmsGroupScope::getScopeValue,userId);
if(finished!=null){ if(finished!=null){
lqw.eq(QmsGroupScope::getFinished,finished); lqw.eq(QmsGroupScope::getFinished,finished);
}else {
lqw.ne(QmsGroupScope::getFinished,-1);
} }
PageUtil.startPage(); PageUtil.startPage();
List<QmsGroupScope> groupScopes = qmsGroupScopeService.list(lqw); List<QmsGroupScope> groupScopes = qmsGroupScopeService.list(lqw);

25
src/main/java/com/qs/serve/modules/qms/entity/bo/QmsHastenBo.java

@ -0,0 +1,25 @@
package com.qs.serve.modules.qms.entity.bo;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author YenHex
* @since 2022/9/20
*/
@Data
public class QmsHastenBo {
/**
* 发送组id
*/
@NotNull
private Long groupId;
/**
* 为空则发送给所用人
*/
private String[] userIds;
}

2
src/main/java/com/qs/serve/modules/qms/service/QmsGroupScopeService.java

@ -18,6 +18,6 @@ public interface QmsGroupScopeService extends IService<QmsGroupScope> {
QmsGroupScope getByGroupAndUid(Long groupId,String userId); QmsGroupScope getByGroupAndUid(Long groupId,String userId);
void removeByGroupId(Long groupId); void removeByGroupId(Long groupId);
void saveByBo(Long groupId,QmsGroupBo groupBo); void saveByBo(Long groupId,QmsGroupBo groupBo);
void publish(Long groupId);
} }

33
src/main/java/com/qs/serve/modules/qms/service/impl/QmsGroupScopeServiceImpl.java

@ -42,7 +42,8 @@ public class QmsGroupScopeServiceImpl extends ServiceImpl<QmsGroupScopeMapper,Qm
LambdaQueryWrapper<QmsGroupScope> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<QmsGroupScope> lqw = new LambdaQueryWrapper<>();
lqw.eq(QmsGroupScope::getGroupId,groupId); lqw.eq(QmsGroupScope::getGroupId,groupId);
lqw.eq(QmsGroupScope::getScopeValue,userId); lqw.eq(QmsGroupScope::getScopeValue,userId);
lqw.in(QmsGroupScope::getScopeType,1,3); lqw.ne(QmsGroupScope::getScopeType,0);
lqw.ne(QmsGroupScope::getScopeType,2);
return this.getOne(lqw); return this.getOne(lqw);
} }
@ -60,25 +61,45 @@ public class QmsGroupScopeServiceImpl extends ServiceImpl<QmsGroupScopeMapper,Qm
} }
List<QmsGroupScope> list = new ArrayList<>(); List<QmsGroupScope> list = new ArrayList<>();
for (String scopeValue : groupBo.getScopeValue()) { for (String scopeValue : groupBo.getScopeValue()) {
boolean isPersonType = groupBo.getScopeType().equals(1);
QmsGroupScope groupScope = new QmsGroupScope(); QmsGroupScope groupScope = new QmsGroupScope();
groupScope.setGroupId(groupId); groupScope.setGroupId(groupId);
groupScope.setScopeType(groupBo.getScopeType()); groupScope.setScopeType(groupBo.getScopeType());
groupScope.setFinished(0); //人员类型,临时修改为-1 表示未发布
groupScope.setFinished(isPersonType?-1:0);
groupScope.setScopeValue(scopeValue); groupScope.setScopeValue(scopeValue);
list.add(groupScope); list.add(groupScope);
if(groupBo.getScopeType().equals(2)){ }
this.saveBatch(list);
}
@Override
public void publish(Long groupId) {
List<QmsGroupScope> qmsGroupScopeList = this.listByGroupId(groupId);
List<QmsGroupScope> list = new ArrayList<>();
for (QmsGroupScope groupScope : qmsGroupScopeList) {
boolean isDeptType = groupScope.getScopeType().equals(2);
boolean isPersonType = groupScope.getScopeType().equals(1);
boolean isAllType = groupScope.getScopeType().equals(1);
if(isDeptType || isAllType){
LambdaQueryWrapper<SysUser> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(SysUser::getDeptId,scopeValue); if(isDeptType){
lqw.eq(SysUser::getDeptId,groupScope.getScopeValue());
}
lqw.isNotNull(SysUser::getMobile);
lqw.select(SysUser::getId); lqw.select(SysUser::getId);
List<SysUser> sysUsers = sysUserMapper.selectList(lqw); List<SysUser> sysUsers = sysUserMapper.selectList(lqw);
for (SysUser sysUser : sysUsers) { for (SysUser sysUser : sysUsers) {
QmsGroupScope groupScope2 = new QmsGroupScope(); QmsGroupScope groupScope2 = new QmsGroupScope();
groupScope2.setGroupId(groupId); groupScope2.setGroupId(groupId);
groupScope2.setScopeType(3); groupScope2.setScopeType(isDeptType?3:4);
groupScope2.setFinished(0); groupScope2.setFinished(0);
groupScope2.setScopeValue(sysUser.getId()); groupScope2.setScopeValue(sysUser.getId());
list.add(groupScope); list.add(groupScope2);
} }
}else if (isPersonType){
groupScope.setFinished(0);
this.updateById(groupScope);
} }
} }
this.saveBatch(list); this.saveBatch(list);

Loading…
Cancel
Save