diff --git a/src/main/java/com/qs/serve/modules/sys/service/impl/SysPostServiceImpl.java b/src/main/java/com/qs/serve/modules/sys/service/impl/SysPostServiceImpl.java index 351cb30e..9806f0ba 100644 --- a/src/main/java/com/qs/serve/modules/sys/service/impl/SysPostServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/sys/service/impl/SysPostServiceImpl.java @@ -53,12 +53,12 @@ public class SysPostServiceImpl extends ServiceImpl impl } if(parent==null){ param.setPid("0"); - param.setPostCode(StringUtils.genShortId()+IdUtil.genCode(4)); param.setPathIds(param.getId()); }else { param.setPathIds(parent.getPathIds()+"_"+param.getId()); } if(dbData==null){ + param.setPostCode(StringUtils.genShortId()+IdUtil.genCode(4)); this.saveOrUpdate(param); }else { param.setPostCode(null); diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java index 7239c270..2146d6e8 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java @@ -234,17 +234,19 @@ public class TbsActivityTemplateController { .map(TbsActivityTemplateRegion::getTemplateId).distinct().collect(Collectors.toList()); LambdaQueryWrapper tmpLqw = new LambdaQueryWrapper<>(); tmpLqw.eq(TbsActivityTemplate::getTemplateState,1); - tmpLqw.and(a->{ - if(CollectionUtil.isNotEmpty(saleRegion)){ - a.or(b->b.eq(TbsActivityTemplate::getSaleRegionFlag,0)); - } - if(CollectionUtil.isNotEmpty(bizRegion)){ - a.or(b->b.eq(TbsActivityTemplate::getBizRegionFlag,0)); - } - if(CollectionUtil.isNotEmpty(templateRegions)){ - a.or(b->b.in(TbsActivityTemplate::getId,templateIds)); - } - }); + if(CollectionUtil.isNotEmpty(saleRegion)||CollectionUtil.isNotEmpty(bizRegion)||CollectionUtil.isNotEmpty(templateRegions)){ + tmpLqw.and(a->{ + if(CollectionUtil.isNotEmpty(saleRegion)){ + a.or(b->b.eq(TbsActivityTemplate::getSaleRegionFlag,0)); + } + if(CollectionUtil.isNotEmpty(bizRegion)){ + a.or(b->b.eq(TbsActivityTemplate::getBizRegionFlag,0)); + } + if(CollectionUtil.isNotEmpty(templateRegions)){ + a.or(b->b.in(TbsActivityTemplate::getId,templateIds)); + } + }); + } if(StringUtils.hasText(templateName)){ tmpLqw.like(TbsActivityTemplate::getTemplateName,templateName); } diff --git a/src/main/java/com/qs/serve/modules/third/PortalFormPushController.java b/src/main/java/com/qs/serve/modules/third/PortalFormPushController.java index 5223b921..bf9521eb 100644 --- a/src/main/java/com/qs/serve/modules/third/PortalFormPushController.java +++ b/src/main/java/com/qs/serve/modules/third/PortalFormPushController.java @@ -27,7 +27,9 @@ import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import java.util.stream.Collectors; /** @@ -71,10 +73,17 @@ public class PortalFormPushController { List wxUserList = wxUserService.list(lqw); List userCodes2 = wxUserList.stream().map(WxUser::getSysUserCode).distinct().collect(Collectors.toList()); List pushUserList = new ArrayList<>(); + Set wxUserIdSet = new HashSet<>(); for (WxUser wxUser : wxUserList) { - if(wxUser.getOpenId().equals("0")){ + if (wxUser.getOpenId().equals("0")) { continue; } + boolean exist = wxUserIdSet.stream().anyMatch(a->a.equals(wxUser.getOpenId())); + if(exist){ + continue; + }else { + wxUserIdSet.add(wxUser.getOpenId()); + } WxSmsNewForm wxSmsNewForm = new WxSmsNewForm(); wxSmsNewForm.setTitle(param.getTitle()); wxSmsNewForm.setUserName(wxUser.getEmpName()); diff --git a/src/main/java/com/qs/serve/modules/wx/controller/WxFormPushController.java b/src/main/java/com/qs/serve/modules/wx/controller/WxFormPushController.java index 42f940e7..6cfc2480 100644 --- a/src/main/java/com/qs/serve/modules/wx/controller/WxFormPushController.java +++ b/src/main/java/com/qs/serve/modules/wx/controller/WxFormPushController.java @@ -24,7 +24,9 @@ import com.qs.serve.modules.wx.entity.bo.WxFormPushBo; import javax.validation.Valid; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import java.util.stream.Collectors; /** @@ -128,16 +130,26 @@ public class WxFormPushController { userlqw.eq(WxFormPushUser::getFormPushId,entity.getId()); List list = wxFormPushUserService.list(userlqw); - List userCodes = list.stream().map(a->a.getUserCode()).collect(Collectors.toList()); + List userCodes = list.stream().map(WxFormPushUser::getUserCode).collect(Collectors.toList()); + if(userCodes.size()<1){ + return R.ok(); + } WxApp app = wxAppService.getOne(new LambdaQueryWrapper<>(),false); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(WxUser::getAppId,app.getId()); lqw.in(WxUser::getSysUserCode,userCodes); List wxUserList = wxUserService.list(lqw); + Set wxUserIdSet = new HashSet<>(); for (WxUser wxUser : wxUserList) { if (wxUser.getOpenId().equals("0")) { continue; } + boolean exist = wxUserIdSet.stream().anyMatch(a->a.equals(wxUser.getOpenId())); + if(exist){ + continue; + }else { + wxUserIdSet.add(wxUser.getOpenId()); + } WxSmsNewForm wxSmsNewForm = new WxSmsNewForm(); wxSmsNewForm.setTitle(entity.getTitle()); wxSmsNewForm.setUserName(wxUser.getEmpName()); @@ -207,10 +219,17 @@ public class WxFormPushController { lqw.in(WxUser::getSysUserId,userIds); List wxUserList = wxUserService.list(lqw); List pushUserList = new ArrayList<>(); + Set wxUserIdSet = new HashSet<>(); for (WxUser wxUser : wxUserList) { - if(wxUser.getOpenId().equals("0")){ + if (wxUser.getOpenId().equals("0")) { continue; } + boolean exist = wxUserIdSet.stream().anyMatch(a->a.equals(wxUser.getOpenId())); + if(exist){ + continue; + }else { + wxUserIdSet.add(wxUser.getOpenId()); + } WxSmsNewForm wxSmsNewForm = new WxSmsNewForm(); wxSmsNewForm.setTitle(param.getTitle()); wxSmsNewForm.setUserName(wxUser.getEmpName()); @@ -261,7 +280,6 @@ public class WxFormPushController { return R.error("已发布的消息不能删除"); } } - boolean result = wxFormPushService.removeByIds(idsLong); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/wx/controller/my/WxFormPushMyController.java b/src/main/java/com/qs/serve/modules/wx/controller/my/WxFormPushMyController.java index 9a8901df..35fbac3d 100644 --- a/src/main/java/com/qs/serve/modules/wx/controller/my/WxFormPushMyController.java +++ b/src/main/java/com/qs/serve/modules/wx/controller/my/WxFormPushMyController.java @@ -14,6 +14,7 @@ import com.qs.serve.modules.baz.entity.BazVisitInstance; import com.qs.serve.modules.wx.entity.WxFormPush; import com.qs.serve.modules.wx.entity.WxFormPushUser; import com.qs.serve.modules.wx.entity.bo.WxFormPushBo; +import com.qs.serve.modules.wx.mapper.WxFormPushMapper; import com.qs.serve.modules.wx.service.WxFormPushService; import com.qs.serve.modules.wx.service.WxFormPushUserService; import lombok.AllArgsConstructor; @@ -39,7 +40,7 @@ import java.util.Map; public class WxFormPushMyController { private WxFormPushService wxFormPushService; - + private WxFormPushMapper wxFormPushMapper; private WxFormPushUserService wxFormPushUserService; /** @@ -48,18 +49,20 @@ public class WxFormPushMyController { * @return */ @GetMapping("/page") - public R> getList(WxFormPushUser param){ - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + public R> getList(WxFormPush param){ +// lqw.eq(WxFormPushUser::getUserId,AuthContextUtils.getSysUserId()); +// List list = wxFormPushUserService.list(lqw); +// List result = new ArrayList<>(); +// for (WxFormPushUser pushUser : list) { +// WxFormPush formPush = wxFormPushService.getById(pushUser.getFormPushId()); +// formPush.setReadFlag(pushUser.getReadFlag()); +// result.add(formPush); +// } PageUtil.startPage(); - lqw.eq(WxFormPushUser::getUserId,AuthContextUtils.getSysUserId()); - List list = wxFormPushUserService.list(lqw); - List result = new ArrayList<>(); - for (WxFormPushUser pushUser : list) { - WxFormPush formPush = wxFormPushService.getById(pushUser.getFormPushId()); - formPush.setReadFlag(pushUser.getReadFlag()); - result.add(formPush); - } - return R.byPageHelperList(result); + param.setQueryUserId(AuthContextUtils.getSysUserId()); + param.setStatus("1"); + List formPushUsers = wxFormPushMapper.selectUserFormPushList(param); + return R.byPageHelperList(formPushUsers); } /** @@ -86,7 +89,7 @@ public class WxFormPushMyController { @SysLog(module = SystemModule.Verification, title = "表单推送", biz = BizType.QUERY) public R getById(@PathVariable("id") String id){ WxFormPush wxFormPush = wxFormPushService.getById(id); - if(wxFormPush.getStatus().equals(0)){ + if(wxFormPush.getStatus().equals("0")){ //未发布不能查询 wxFormPush.setId(null); wxFormPush.setTitle(null); diff --git a/src/main/java/com/qs/serve/modules/wx/entity/WxFormPush.java b/src/main/java/com/qs/serve/modules/wx/entity/WxFormPush.java index 89b4c433..f8930095 100644 --- a/src/main/java/com/qs/serve/modules/wx/entity/WxFormPush.java +++ b/src/main/java/com/qs/serve/modules/wx/entity/WxFormPush.java @@ -100,6 +100,10 @@ public class WxFormPush implements Serializable { @TableField(exist = false) private Integer readFlag; + /** 查询的用户id */ + @TableField(exist = false) + private String queryUserId; + @TableField(exist = false) private List wxFormPushUserList; diff --git a/src/main/java/com/qs/serve/modules/wx/entity/bo/WxFormPushBo.java b/src/main/java/com/qs/serve/modules/wx/entity/bo/WxFormPushBo.java index 9b219cc3..41ad43ac 100644 --- a/src/main/java/com/qs/serve/modules/wx/entity/bo/WxFormPushBo.java +++ b/src/main/java/com/qs/serve/modules/wx/entity/bo/WxFormPushBo.java @@ -46,7 +46,7 @@ public class WxFormPushBo implements Serializable { @NotNull(message = "人员ID不能为空") private List userIds; - //是否发布,保存并发布->1,保存草稿->0 + /** 是否发布,保存并发布->1,保存草稿->0 */ @NotNull(message = "状态不能为空") private String status; diff --git a/src/main/java/com/qs/serve/modules/wx/mapper/WxFormPushMapper.java b/src/main/java/com/qs/serve/modules/wx/mapper/WxFormPushMapper.java index 401a8581..ade5b116 100644 --- a/src/main/java/com/qs/serve/modules/wx/mapper/WxFormPushMapper.java +++ b/src/main/java/com/qs/serve/modules/wx/mapper/WxFormPushMapper.java @@ -2,7 +2,8 @@ package com.qs.serve.modules.wx.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.wx.entity.WxFormPush; - +import org.apache.ibatis.annotations.Param; +import java.util.List; /** * 表单推送 Mapper * @author YenHex @@ -10,5 +11,7 @@ import com.qs.serve.modules.wx.entity.WxFormPush; */ public interface WxFormPushMapper extends BaseMapper { + List selectUserFormPushList(@Param("query") WxFormPush param); + } diff --git a/src/main/resources/mapper/wx/WxFormPushMapper.xml b/src/main/resources/mapper/wx/WxFormPushMapper.xml new file mode 100644 index 00000000..5db0da69 --- /dev/null +++ b/src/main/resources/mapper/wx/WxFormPushMapper.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + wx_form_push.`id`, + wx_form_push.`type_id`, + wx_form_push.`type_code`, + wx_form_push.`type_name`, + wx_form_push.`title`, + wx_form_push.`form_context`, + wx_form_push.`form_context_value`, + wx_form_push.`remark`, + wx_form_push.`create_time`, + wx_form_push.`update_time`, + wx_form_push.`tenant_id`, + wx_form_push.`create_by`, + wx_form_push.`update_by`, + wx_form_push.`del_flag`, + wx_form_push.`status`, + wx_form_push.`business_type` + + + +