From 5106415afca2e2262bf5580c1ce950168d9ae21f Mon Sep 17 00:00:00 2001 From: Yen Date: Sun, 9 Oct 2022 16:45:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=AC=A1=E6=95=B0=E9=99=90?= =?UTF-8?q?=E5=88=B6=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/QmsSubmitApiController.java | 37 ++++++---- .../modules/qms/entity/QmsFormSubmit.java | 5 ++ .../qs/serve/modules/qms/entity/QmsGroup.java | 10 +++ .../modules/qms/entity/bo/QmsGroupBo.java | 4 ++ .../qms/mapper/QmsGroupScopeMapper.java | 11 +++ .../qms/service/QmsFormSubmitService.java | 9 +++ .../qms/service/QmsGroupScopeService.java | 8 +++ .../impl/QmsFormSubmitServiceImpl.java | 19 +++++ .../impl/QmsGroupScopeServiceImpl.java | 9 +++ .../wx/service/impl/WxUserServiceImpl.java | 3 + .../mapper/qms/QmsGroupScopeMapper.xml | 70 +++++++++++++++++++ .../resources/mapper/sys/SysUserMapper.xml | 3 - 12 files changed, 170 insertions(+), 18 deletions(-) create mode 100644 src/main/resources/mapper/qms/QmsGroupScopeMapper.xml diff --git a/src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java b/src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java index b9aa253f..dac07f4a 100644 --- a/src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java +++ b/src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java @@ -17,6 +17,7 @@ import com.qs.serve.modules.qms.entity.QmsGroup; import com.qs.serve.modules.qms.entity.QmsGroupScope; import com.qs.serve.modules.qms.entity.bo.QmsSubmitBo; import com.qs.serve.modules.qms.mapper.QmsGroupMapper; +import com.qs.serve.modules.qms.mapper.QmsGroupScopeMapper; import com.qs.serve.modules.qms.service.QmsFormService; import com.qs.serve.modules.qms.service.QmsFormSubmitService; import com.qs.serve.modules.qms.service.QmsGroupScopeService; @@ -47,11 +48,10 @@ import java.util.List; public class QmsSubmitApiController { private QmsFormSubmitService qmsFormSubmitService; - private SysUserService userService; private QmsGroupScopeService qmsGroupScopeService; + private QmsGroupScopeMapper qmsGroupScopeMapper; private QmsGroupService qmsGroupService; private WxUserService wxUserService; - private QmsFormService qmsFormService; /** * 我的代办、已办列表 @@ -59,30 +59,34 @@ public class QmsSubmitApiController { * @return */ @GetMapping("/myGroupList") - public R todoPage(String finished){ + public R todoPage(Integer finished){ WxUser wxUser = wxUserService.getCurrentWxUser(); if(wxUser.getSysUserId()==null||wxUser.getSysUserId().equals("0")){ return R.byEmptyList(); } String userId = wxUser.getSysUserId(); +// LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); +// lqw.in(QmsGroupScope::getScopeType,1,3,4); +// lqw.eq(QmsGroupScope::getScopeValue,userId); +// lqw.orderByDesc(QmsGroupScope::getCreateTime); +// if(StringUtils.hasText(finished)){ +// //查询是否已完成 +// lqw.eq(QmsGroupScope::getFinished,finished); +// }else { +// //查询所有 +// lqw.ne(QmsGroupScope::getFinished,-1); +// } +// PageUtil.startPage(); +// List groupScopes = qmsGroupScopeService.list(lqw); PageUtil.startPage(); - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.in(QmsGroupScope::getScopeType,1,3,4); - lqw.eq(QmsGroupScope::getScopeValue,userId); - lqw.orderByDesc(QmsGroupScope::getCreateTime); - if(StringUtils.hasText(finished)){ - lqw.eq(QmsGroupScope::getFinished,finished); - }else { - lqw.ne(QmsGroupScope::getFinished,-1); - } - PageUtil.startPage(); - List groupScopes = qmsGroupScopeService.list(lqw); + List groupScopes = qmsGroupScopeMapper.listScope(finished,userId); List result = new ArrayList<>(); for (QmsGroupScope groupScope : groupScopes) { QmsGroup qmsGroup = qmsGroupService.getById(groupScope.getGroupId()); if(qmsGroup==null){ continue; } + //当 finished==0 and groupFinished ==1 表示人数达标,已过期 qmsGroup.setFinished(groupScope.getFinished()); result.add(qmsGroup); } @@ -131,12 +135,15 @@ public class QmsSubmitApiController { String userId = wxUserService.getCurrentWxUser().getSysUserId(); lqw.eq(QmsFormSubmit::getGroupId,groupId); lqw.eq(QmsFormSubmit::getUserId,userId); + QmsGroup qmsGroup = qmsGroupService.getById(groupId); QmsFormSubmit formSubmit = qmsFormSubmitService.getOne(lqw,false); + QmsGroupScope groupScope = qmsGroupScopeService.getByGroupAndUid(groupId,userId); if(formSubmit==null){ - QmsGroup qmsGroup = qmsGroupService.getById(groupId); formSubmit = CopierUtil.copy(qmsGroup,new QmsFormSubmit()); formSubmit.setTitle(qmsGroup.getName()); } + formSubmit.setGroupFinished(qmsGroup.getGroupFinished()); + formSubmit.setFinished(groupScope.getFinished()); return R.ok(formSubmit); } diff --git a/src/main/java/com/qs/serve/modules/qms/entity/QmsFormSubmit.java b/src/main/java/com/qs/serve/modules/qms/entity/QmsFormSubmit.java index 4e85836d..e0499c51 100644 --- a/src/main/java/com/qs/serve/modules/qms/entity/QmsFormSubmit.java +++ b/src/main/java/com/qs/serve/modules/qms/entity/QmsFormSubmit.java @@ -102,5 +102,10 @@ public class QmsFormSubmit implements Serializable { @JsonProperty private Boolean delFlag; + @TableField(exist = false) + private Integer groupFinished; + + @TableField(exist = false) + private Integer finished; } diff --git a/src/main/java/com/qs/serve/modules/qms/entity/QmsGroup.java b/src/main/java/com/qs/serve/modules/qms/entity/QmsGroup.java index 635b2779..07c58d10 100644 --- a/src/main/java/com/qs/serve/modules/qms/entity/QmsGroup.java +++ b/src/main/java/com/qs/serve/modules/qms/entity/QmsGroup.java @@ -62,6 +62,16 @@ public class QmsGroup implements Serializable { @TableField(fill = FieldFill.INSERT) private LocalDateTime publishTime; + /** + * (最少提交人数)标识是否完成 + */ + private Integer groupFinished; + + /** + * 最少提交人数 + */ + private Integer limitSubmit; + /** 表单版本 */ private Integer version; diff --git a/src/main/java/com/qs/serve/modules/qms/entity/bo/QmsGroupBo.java b/src/main/java/com/qs/serve/modules/qms/entity/bo/QmsGroupBo.java index 3bd491c9..7747ec91 100644 --- a/src/main/java/com/qs/serve/modules/qms/entity/bo/QmsGroupBo.java +++ b/src/main/java/com/qs/serve/modules/qms/entity/bo/QmsGroupBo.java @@ -35,4 +35,8 @@ public class QmsGroupBo { /** 使用范围值 */ private String[] scopeValue; + /** + * 最少提交人数,0表示不限制 + */ + private Integer limitSubmit; } diff --git a/src/main/java/com/qs/serve/modules/qms/mapper/QmsGroupScopeMapper.java b/src/main/java/com/qs/serve/modules/qms/mapper/QmsGroupScopeMapper.java index 3c3c3a3b..0d8a1824 100644 --- a/src/main/java/com/qs/serve/modules/qms/mapper/QmsGroupScopeMapper.java +++ b/src/main/java/com/qs/serve/modules/qms/mapper/QmsGroupScopeMapper.java @@ -2,6 +2,9 @@ package com.qs.serve.modules.qms.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.qms.entity.QmsGroupScope; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * Mapper @@ -10,5 +13,13 @@ import com.qs.serve.modules.qms.entity.QmsGroupScope; */ public interface QmsGroupScopeMapper extends BaseMapper { + /** + * 代办、已办列表 + * @param finished + * @param userId + * @return + */ + List listScope(@Param("finished") Integer finished,@Param("userId") String userId); + } diff --git a/src/main/java/com/qs/serve/modules/qms/service/QmsFormSubmitService.java b/src/main/java/com/qs/serve/modules/qms/service/QmsFormSubmitService.java index d962e306..09ce5e02 100644 --- a/src/main/java/com/qs/serve/modules/qms/service/QmsFormSubmitService.java +++ b/src/main/java/com/qs/serve/modules/qms/service/QmsFormSubmitService.java @@ -17,5 +17,14 @@ public interface QmsFormSubmitService extends IService { */ void submit(QmsSubmitBo param); + + + /** + * 统计完成的数量 + * @param groupId + * @return + */ + long countGroupFinished(String groupId); + } diff --git a/src/main/java/com/qs/serve/modules/qms/service/QmsGroupScopeService.java b/src/main/java/com/qs/serve/modules/qms/service/QmsGroupScopeService.java index 558abed6..cce63ea1 100644 --- a/src/main/java/com/qs/serve/modules/qms/service/QmsGroupScopeService.java +++ b/src/main/java/com/qs/serve/modules/qms/service/QmsGroupScopeService.java @@ -18,6 +18,14 @@ public interface QmsGroupScopeService extends IService { QmsGroupScope getByGroupAndUid(String groupId,String userId); void removeByGroupId(String groupId); void saveByBo(String groupId,QmsGroupBo groupBo); + + /** + * 发布 + * @param groupId + */ void publish(String groupId); + + boolean isFinished(String groupId); + } diff --git a/src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java b/src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java index d394efdd..ec9f24b4 100644 --- a/src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java @@ -49,6 +49,9 @@ public class QmsFormSubmitServiceImpl extends ServiceImpl lqw = new LambdaQueryWrapper<>(); lqw.eq(QmsFormSubmit::getGroupId,param.getGroupId()); @@ -83,7 +86,23 @@ public class QmsFormSubmitServiceImpl extends ServiceImpl0 && qmsGroup.getLimitSubmit() <= count; + boolean isFinished2 = qmsGroupScopeService.isFinished(qmsGroup.getId()); + if(isFinished1||isFinished2){ + QmsGroup qgParam = new QmsGroup(); + qgParam.setId(qmsGroup.getId()); + qgParam.setGroupFinished(1); + qmsGroupService.updateById(qgParam); + } } + @Override + public long countGroupFinished(String groupId) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(QmsFormSubmit::getGroupId,groupId); + return this.count(lqw); + } } diff --git a/src/main/java/com/qs/serve/modules/qms/service/impl/QmsGroupScopeServiceImpl.java b/src/main/java/com/qs/serve/modules/qms/service/impl/QmsGroupScopeServiceImpl.java index f0f65df9..e1c577c2 100644 --- a/src/main/java/com/qs/serve/modules/qms/service/impl/QmsGroupScopeServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/qms/service/impl/QmsGroupScopeServiceImpl.java @@ -144,5 +144,14 @@ public class QmsGroupScopeServiceImpl extends ServiceImpl lqw = new LambdaQueryWrapper<>(); + lqw.in(QmsGroupScope::getScopeType,1,3,4); + lqw.eq(QmsGroupScope::getGroupId,groupId); + lqw.eq(QmsGroupScope::getFinished,0); + return this.count(lqw)<1L; + } } diff --git a/src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java b/src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java index 5873c809..bc468ac4 100644 --- a/src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java @@ -93,6 +93,9 @@ public class WxUserServiceImpl extends ServiceImpl impleme if(wxUser==null){ Assert.throwEx(HttpCode.LOGIN_ERR); } + if(wxUser.getId().equals("1")){ + return wxUser; + } String appId = AuthContextUtils.getAppId(); try { WxMpService wxMpService = wxMpConfig.wxMpService().switchoverTo(appId); diff --git a/src/main/resources/mapper/qms/QmsGroupScopeMapper.xml b/src/main/resources/mapper/qms/QmsGroupScopeMapper.xml new file mode 100644 index 00000000..17dc76ca --- /dev/null +++ b/src/main/resources/mapper/qms/QmsGroupScopeMapper.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + qms_group_scope.`id`, + qms_group_scope.`group_id`, + qms_group_scope.`scope_type`, + qms_group_scope.`scope_value`, + qms_group_scope.`finished`, + qms_group_scope.`del_flag`, + qms_group_scope.`tenant_id`, + qms_group_scope.`create_time`, + qms_group_scope.`create_by`, + qms_group_scope.`update_time`, + qms_group_scope.`update_by` + + + + + + diff --git a/src/main/resources/mapper/sys/SysUserMapper.xml b/src/main/resources/mapper/sys/SysUserMapper.xml index f280d428..f63a15a0 100644 --- a/src/main/resources/mapper/sys/SysUserMapper.xml +++ b/src/main/resources/mapper/sys/SysUserMapper.xml @@ -70,9 +70,6 @@ and sys_user.login_enable = #{query.loginEnable} and sys_user.serving_state = #{query.servingState} and sys_user.identity_no = #{query.identityNo} - and sys_user.enter_date = #{query.enterDate} - and sys_user.formal_date = #{query.formalDate} - and sys_user.formal_status = #{query.formalStatus} and sys_user.remark = #{query.remark} and sys_user.create_time = #{query.createTime} and sys_user.create_by = #{query.createBy}