Browse Source

拜访调整

contract
Yen 2 years ago
parent
commit
0f2951a197
  1. 13
      src/main/java/com/qs/serve/common/framework/interceptor/ApiAuthInterceptor.java
  2. 20
      src/main/java/com/qs/serve/common/framework/security/filter/SecurityRequestFilter.java
  3. 2
      src/main/java/com/qs/serve/common/model/consts/RedisCacheKeys.java
  4. 7
      src/main/java/com/qs/serve/controller/WxSvcLoginApi.java
  5. 1
      src/main/java/com/qs/serve/modules/baz/controller/BazVisitController.java
  6. 6
      src/main/java/com/qs/serve/modules/baz/controller/BazVisitInstanceController.java
  7. 58
      src/main/java/com/qs/serve/modules/baz/controller/my/BazMyVisitInstanceController.java
  8. 5
      src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstance.java
  9. 10
      src/main/java/com/qs/serve/modules/baz/entity/so/BazVisitInstanceSo.java
  10. 7
      src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInstanceServiceImpl.java
  11. 8
      src/main/java/com/qs/serve/modules/biz/controller/api/BizVisitApi.java
  12. 11
      src/main/java/com/qs/serve/modules/biz/entity/BizVisit.java
  13. 12
      src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java
  14. 8
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitFormController.java
  15. 1
      src/main/java/com/qs/serve/modules/bms/entity/vo/BmsUserPoint4VisitVo.java
  16. 8
      src/main/java/com/qs/serve/modules/qms/controller/QmsFormController.java
  17. 8
      src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java
  18. 26
      src/main/java/com/qs/serve/modules/qms/entity/so/QmsGroupSo.java
  19. 3
      src/main/java/com/qs/serve/modules/qms/mapper/QmsGroupScopeMapper.java
  20. 14
      src/main/java/com/qs/serve/modules/wx/controller/WxUserController.java
  21. 14
      src/main/resources/mapper/qms/QmsGroupScopeMapper.xml

13
src/main/java/com/qs/serve/common/framework/interceptor/ApiAuthInterceptor.java

@ -6,6 +6,7 @@ import com.qs.serve.common.framework.security.model.LoginUserDTO;
import com.qs.serve.common.model.consts.GySysConst;
import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.util.JsonUtil;
import com.qs.serve.common.util.StringUtils;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.context.SecurityContextHolder;
@ -34,10 +35,14 @@ public class ApiAuthInterceptor implements HandlerInterceptor {
String loginUserJson = redisService.getString(RedisCacheKeys.LOGIN_KEY_WX+token);
if(loginUserJson!=null){
LoginUser loginUser = Objects.requireNonNull(JsonUtil.jsonToPojo(loginUserJson, LoginUserDTO.class)).loginUser();
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities());
authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
SecurityContextHolder.getContext().setAuthentication(authentication);
return true;
String wxLoginKey = StringUtils.format(RedisCacheKeys.LOGIN_KEY_WXUSER,loginUser.getUserId());
String sysUserId = redisService.getString(wxLoginKey);
if(sysUserId!=null){
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities());
authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
SecurityContextHolder.getContext().setAuthentication(authentication);
return true;
}
}
try {
response.setHeader("Access-Control-Allow-Origin", "*");

20
src/main/java/com/qs/serve/common/framework/security/filter/SecurityRequestFilter.java

@ -3,10 +3,13 @@ package com.qs.serve.common.framework.security.filter;
import com.qs.serve.common.config.DevEnvironmentConfig;
import com.qs.serve.common.config.properties.PermitProperties;
import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.framework.security.model.LoginUser;
import com.qs.serve.common.framework.security.model.LoginUserDTO;
import com.qs.serve.common.framework.security.model.LoginUserType;
import com.qs.serve.common.model.HttpResponsePrintUtil;
import com.qs.serve.common.model.consts.GySysConst;
import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.util.JsonUtil;
import com.qs.serve.common.util.JwtUtils;
import com.qs.serve.common.framework.security.util.SecurityPermitUtil;
import com.qs.serve.common.util.AuthContextUtils;
@ -27,6 +30,7 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Objects;
/**
* 判断token情况
@ -52,6 +56,20 @@ public class SecurityRequestFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws ServletException, IOException {
String appToken = request.getHeader(GySysConst.APP_TOKEN_PROP);
String loginUserJson = redisService.getString(RedisCacheKeys.LOGIN_KEY_WX+appToken);
if(loginUserJson!=null){
LoginUser loginUser = Objects.requireNonNull(JsonUtil.jsonToPojo(loginUserJson, LoginUserDTO.class)).loginUser();
String wxLoginKey = com.qs.serve.common.util.StringUtils.format(RedisCacheKeys.LOGIN_KEY_WXUSER,loginUser.getUserId());
String sysUserId = redisService.getString(wxLoginKey);
if(sysUserId==null){
HttpResponsePrintUtil.print2(response,401,"账号绑定更新,已被系统登出");
return;
}
}
String supplierId = request.getHeader(GySysConst.SUPPLIER_PROP);
AuthContextUtils.setSupplierId(supplierId);
//移除前缀
@ -105,11 +123,13 @@ public class SecurityRequestFilter extends OncePerRequestFilter {
* @throws ServletException
*/
private void tryDoSecurityAuthor(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
String tenant = request.getHeader(GySysConst.TENANT_PROP);
String token = request.getHeader(GySysConst.AUTHORIZATION_PROP);
if(tenant!=null&&token!=null&&JwtUtils.verify(token)){
String userId = JwtUtils.getUserId(token);
String userType = JwtUtils.getUserType(token);
AuthContextUtils.setTenant(tenant);
if(SecurityContextHolder.getContext().getAuthentication()==null){
UserDetails userDetails = null;

2
src/main/java/com/qs/serve/common/model/consts/RedisCacheKeys.java

@ -18,6 +18,8 @@ public class RedisCacheKeys {
/** 家长登录key */
public final static String LOGIN_KEY_WX = "login_wx_:";
public final static String LOGIN_KEY_WXUSER= "login_wx_usr:{}";
/** 用户登录APP {}客户端 {}用户ID */
public final static String LOGIN_KEY_APP = "login_app_{}:{}:";

7
src/main/java/com/qs/serve/controller/WxSvcLoginApi.java

@ -72,6 +72,9 @@ public class WxSvcLoginApi {
redisService.set(key, JsonUtil.objectToJson(loginUser.loginUserDTO()),2, TimeUnit.DAYS);
objectMap.put("token",token);
String wxLoginKey = StringUtils.format(RedisCacheKeys.LOGIN_KEY_WXUSER,wxUser.getId());
redisService.set(wxLoginKey,wxUser.getSysUserId(),2, TimeUnit.DAYS);
//后台管理员信息
Map<String,Object> tokenMap = new HashMap<>(10);
String client = "wx_app";
@ -103,6 +106,10 @@ public class WxSvcLoginApi {
objectMap.put("token",token);
String sysUserId = "1";
String wxLoginKey = StringUtils.format(RedisCacheKeys.LOGIN_KEY_WXUSER,sysUserId);
redisService.set(wxLoginKey,sysUserId,2, TimeUnit.DAYS);
Map<String,Object> tokenMap = new HashMap<>(10);
String client = "wx_app";

1
src/main/java/com/qs/serve/modules/baz/controller/BazVisitController.java

@ -53,6 +53,7 @@ public class BazVisitController {
return R.ok(list);
}
/**
* 获取第一个流程
* @param visitId

6
src/main/java/com/qs/serve/modules/baz/controller/BazVisitInstanceController.java

@ -46,6 +46,12 @@ public class BazVisitInstanceController {
public R<PageVo<BazVisitInstance>> getPage(BazVisitInstanceSo param){
BazVisitInstance entity = CopierUtil.copy(param,new BazVisitInstance());
LambdaQueryWrapper<BazVisitInstance> lqw = new LambdaQueryWrapper<>(entity);
if(param.getQueryStartDate()!=null){
lqw.ge(BazVisitInstance::getCreateTime,param.getQueryStartDate());
}
if(param.getQueryEndDate()!=null){
lqw.le(BazVisitInstance::getCreateTime,param.getQueryEndDate());
}
PageUtil.startPage();
lqw.orderByDesc(BazVisitInstance::getCreateTime);
List<BazVisitInstance> list = bazVisitInstanceService.list(lqw);

58
src/main/java/com/qs/serve/modules/baz/controller/my/BazMyVisitInstanceController.java

@ -10,17 +10,21 @@ import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.baz.entity.BazVisit;
import com.qs.serve.modules.baz.entity.BazVisitInstance;
import com.qs.serve.modules.baz.entity.bo.BazCreateVisitInstanceBo;
import com.qs.serve.modules.baz.entity.bo.BazVisitInstanceFlowBo;
import com.qs.serve.modules.baz.entity.so.BazVisitInstanceSo;
import com.qs.serve.modules.baz.service.BazVisitInstanceService;
import com.qs.serve.modules.sys.service.SysUserSalesService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 拜访模块 拜访实例(我的)
@ -34,6 +38,8 @@ import java.util.List;
public class BazMyVisitInstanceController {
private BazVisitInstanceService bazVisitInstanceService;
private SysUserSalesService sysUserSalesService;
/**
* 翻页
@ -44,6 +50,12 @@ public class BazMyVisitInstanceController {
public R<PageVo<BazVisitInstance>> getPage(BazVisitInstanceSo param){
BazVisitInstance entity = CopierUtil.copy(param,new BazVisitInstance());
LambdaQueryWrapper<BazVisitInstance> lqw = new LambdaQueryWrapper<>(entity);
if(param.getQueryStartDate()!=null){
lqw.ge(BazVisitInstance::getCreateTime,param.getQueryStartDate());
}
if(param.getQueryEndDate()!=null){
lqw.le(BazVisitInstance::getCreateTime,param.getQueryEndDate());
}
PageUtil.startPage();
lqw.eq(BazVisitInstance::getVisitorId, AuthContextUtils.getSysUserId());
lqw.orderByDesc(BazVisitInstance::getCreateTime);
@ -51,6 +63,52 @@ public class BazMyVisitInstanceController {
return R.byPageHelperList(list);
}
/**
* 翻页(我的部下)
* @param param
* @return
*/
@GetMapping("/page4Under")
public R<PageVo<BazVisitInstance>> page4Under(BazVisitInstanceSo param){
BazVisitInstance entity = CopierUtil.copy(param,new BazVisitInstance());
LambdaQueryWrapper<BazVisitInstance> lqw = new LambdaQueryWrapper<>(entity);
if(param.getQueryStartDate()!=null){
lqw.ge(BazVisitInstance::getCreateTime,param.getQueryStartDate());
}
if(param.getQueryEndDate()!=null){
lqw.le(BazVisitInstance::getCreateTime,param.getQueryEndDate());
}
List<String> userIds = sysUserSalesService.listByChildIds(AuthContextUtils.getSysUserId());
if(userIds.size()<1){
return R.byEmptyList();
}
String userId = AuthContextUtils.getSysUserId();
PageUtil.startPage();
lqw.in(BazVisitInstance::getVisitorId, userIds);
lqw.ne(BazVisitInstance::getVisitorId,userId);
lqw.orderByDesc(BazVisitInstance::getCreateTime);
List<BazVisitInstance> list = bazVisitInstanceService.list(lqw);
return R.byPageHelperList(list);
}
/**
* 获取用户未完成拜访数量
* @param visitId 拜访id
* @return
*/
@GetMapping("/getCounter")
public R<?> getPage(Long visitId){
LambdaQueryWrapper<BazVisitInstance> lqw = new LambdaQueryWrapper<>();
lqw.eq(BazVisitInstance::getVisitId,visitId);
lqw.eq(BazVisitInstance::getVisitorId,AuthContextUtils.getSysUserId());
lqw.eq(BazVisitInstance::getVisitState,0);
long unFinished = bazVisitInstanceService.count(lqw);
Map<String,Object> map = new HashMap<>();
map.put("unFinished",unFinished);
return R.ok(map,"ok");
}
/**
* 创建流程
* @param param

5
src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstance.java

@ -60,11 +60,13 @@ public class BazVisitInstance implements Serializable {
/** 拜访人编码 */
@NotBlank(message = "拜访人编码不能为空")
@Length(max = 255,message = "拜访人编码长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String visitorCode;
/** 拜访人 */
@NotBlank(message = "拜访人不能为空")
@Length(max = 255,message = "拜访人长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String visitorName;
/** 目标id */
@ -74,12 +76,15 @@ public class BazVisitInstance implements Serializable {
/** 目标i编码 */
@Length(max = 255,message = "目标i编码长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String targetCode;
/** 目标名称 */
@NotBlank(message = "目标名称不能为空")
@Length(max = 255,message = "目标名称长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String targetName;
private String targetLocalX;
private String targetLocalY;
private String targetAddress;

10
src/main/java/com/qs/serve/modules/baz/entity/so/BazVisitInstanceSo.java

@ -5,6 +5,8 @@ import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
@ -58,5 +60,13 @@ public class BazVisitInstanceSo implements Serializable {
/** 备注 */
private String remark;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate queryStartDate;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate queryEndDate;
}

7
src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInstanceServiceImpl.java

@ -103,8 +103,8 @@ public class BazVisitInstanceServiceImpl extends ServiceImpl<BazVisitInstanceMap
if(instanceFlow.getFlowSort().equals(1)){
instanceFlow.initInputValues(flowBo);
instanceFlow.setFlowState(1);
instanceFlow.setSubmitTime(LocalDateTime.now());
instanceFlow.setRemark(flowBo.getRemark());
if(instanceFlow.getPositionState().equals(2)
&&(StringUtils.hasEmpty(flowBo.getValLocalX())
||StringUtils.hasEmpty(flowBo.getMapAddress())
@ -134,7 +134,7 @@ public class BazVisitInstanceServiceImpl extends ServiceImpl<BazVisitInstanceMap
visitInfo.setVisitId(visitInstance.getVisitId());
visitInfo.setTargetId(targetDTO.getTargetId());
visitInfo.setTargetType(targetType);
visitInfo.setUserId(sysUser.getSyUserId());
visitInfo.setUserId(sysUser.getId());
visitInfo.setVisitCount(1);
}else {
visitInfo.setVisitCount(visitInfo.getVisitCount()+1);
@ -173,6 +173,7 @@ public class BazVisitInstanceServiceImpl extends ServiceImpl<BazVisitInstanceMap
instanceFlow.initInputValues(param);
instanceFlow.setFlowState(1);
instanceFlow.setSubmitTime(LocalDateTime.now());
instanceFlow.setRemark(param.getRemark());
instanceFlowService.updateById(instanceFlow);
//完成自动更新
LambdaQueryWrapper<BazVisitInstanceFlow> countLqw = new LambdaQueryWrapper<>();

8
src/main/java/com/qs/serve/modules/biz/controller/api/BizVisitApi.java

@ -8,6 +8,7 @@ import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.baz.entity.BazVisitInstance;
import com.qs.serve.modules.biz.entity.BizCusVisit;
import com.qs.serve.modules.biz.entity.BizVisit;
import com.qs.serve.modules.biz.service.BizVisitService;
@ -55,6 +56,13 @@ public class BizVisitApi {
param.setVisitorId(userId);
PageUtil.startPage();
LambdaQueryWrapper<BizVisit> visitWrapper = new LambdaQueryWrapper<>(param);
if(param.getQueryStartTime()!=null){
visitWrapper.ge(BizVisit::getCreateTime,param.getQueryStartTime());
}
if(param.getQueryEndTime()!=null){
visitWrapper.le(BizVisit::getCreateTime,param.getQueryEndTime());
}
visitWrapper.orderByDesc(BizVisit::getCreateTime);
List<BizVisit> list = bizVisitService.list(visitWrapper);
return R.byPageHelperList(list);
}

11
src/main/java/com/qs/serve/modules/biz/entity/BizVisit.java

@ -1,5 +1,6 @@
package com.qs.serve.modules.biz.entity;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.io.Serializable;
@ -93,5 +94,15 @@ public class BizVisit implements Serializable {
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
@TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate queryStartTime;
@TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate queryEndTime;
}

12
src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java

@ -10,6 +10,9 @@ import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.baz.common.BazTargetTypeConsts;
import com.qs.serve.modules.baz.entity.BazVisitInfo;
import com.qs.serve.modules.baz.service.BazVisitInfoService;
import com.qs.serve.modules.bms.entity.BmsChannel;
import com.qs.serve.modules.bms.entity.BmsRegion;
import com.qs.serve.modules.bms.entity.BmsRegion2;
@ -47,6 +50,7 @@ import java.util.stream.Collectors;
@RequestMapping("bms/channelPoint")
public class BmsChannelPointController {
private BazVisitInfoService bazVisitInfoService;
private BmsChannelPointService bmsChannelPointService;
private BmsRegionService bmsRegionService;
private BmsRegion2Service bmsRegion2Service;
@ -66,6 +70,14 @@ public class BmsChannelPointController {
param.setTenantId(AuthContextUtils.getTenant());
PageUtil.startPage();
List<BmsUserPoint4VisitVo> list = channelPointMapper.selectUserPointList4Visit(param);
for (BmsUserPoint4VisitVo visitVo : list) {
LambdaQueryWrapper<BazVisitInfo> visitInfoLqw = new LambdaQueryWrapper<>();
visitInfoLqw.eq(BazVisitInfo::getTargetType, BazTargetTypeConsts.POINT);
visitInfoLqw.eq(BazVisitInfo::getTargetId,visitVo.getPointId());
visitInfoLqw.eq(BazVisitInfo::getUserId,sysUserId);
BazVisitInfo visitInfo = bazVisitInfoService.getOne(visitInfoLqw,false);
visitVo.setVisitInfo(visitInfo);
}
return R.byPageHelperList(list);
}

8
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitFormController.java

@ -8,6 +8,8 @@ import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.baz.entity.BazVisitFlow;
import com.qs.serve.modules.baz.service.BazVisitFlowService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
@ -31,6 +33,7 @@ import java.util.List;
public class BmsSupplierVisitFormController {
private BmsSupplierVisitFormService bmsSupplierVisitFormService;
private BazVisitFlowService bazVisitFlowService;
/**
* 列表
@ -112,6 +115,11 @@ public class BmsSupplierVisitFormController {
@PreAuthorize("hasRole('bms:supplierVisitForm:delete')")
public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids);
LambdaQueryWrapper<BazVisitFlow> visitLqw = new LambdaQueryWrapper<>();
visitLqw.in(BazVisitFlow::getFormId,idsLong);
if( 0< bazVisitFlowService.count(visitLqw)){
return R.error("拜访模块使用了表单,删除失败");
}
boolean result = bmsSupplierVisitFormService.removeByIds(idsLong);
return R.isTrue(result);
}

1
src/main/java/com/qs/serve/modules/bms/entity/vo/BmsUserPoint4VisitVo.java

@ -34,5 +34,6 @@ public class BmsUserPoint4VisitVo {
String localX;
String localY;
Object visitInfo;
}

8
src/main/java/com/qs/serve/modules/qms/controller/QmsFormController.java

@ -8,7 +8,9 @@ import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.qms.entity.QmsFormSubmit;
import com.qs.serve.modules.qms.entity.bo.QmsFormBo;
import com.qs.serve.modules.qms.service.QmsFormSubmitService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
@ -32,6 +34,7 @@ import java.util.List;
public class QmsFormController {
private QmsFormService qmsFormService;
private QmsFormSubmitService formSubmitService;
/**
* 翻页查询
@ -104,6 +107,11 @@ public class QmsFormController {
@SysLog(module = SystemModule.QUESTION, title = "问卷表单", biz = BizType.DELETE)
@PreAuthorize("hasRole('qms:form:delete')")
public R<?> deleteById(@PathVariable("id") Long id){
LambdaQueryWrapper<QmsFormSubmit> lqw = new LambdaQueryWrapper<>();
lqw.eq(QmsFormSubmit::getFromId,id);
if(formSubmitService.count(lqw)>0){
return R.error("问卷表单已被使用无法删除");
}
boolean result = qmsFormService.removeById(id);
return R.isTrue(result);
}

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

@ -16,6 +16,7 @@ import com.qs.serve.modules.qms.entity.QmsFormSubmit;
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.entity.so.QmsGroupSo;
import com.qs.serve.modules.qms.mapper.QmsGroupMapper;
import com.qs.serve.modules.qms.mapper.QmsGroupScopeMapper;
import com.qs.serve.modules.qms.service.QmsFormService;
@ -55,11 +56,12 @@ public class QmsSubmitApiController {
/**
* 我的代办已办列表
* @param finished
* @param param
* @return
*/
@GetMapping("/myGroupList")
public R<?> todoPage(Integer finished){
public R<?> todoPage(QmsGroupSo param){
Integer finished = param.getFinished();
WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getSysUserId()==null||wxUser.getSysUserId().equals("0")){
return R.byEmptyList();
@ -79,7 +81,7 @@ public class QmsSubmitApiController {
// PageUtil.startPage();
// List<QmsGroupScope> groupScopes = qmsGroupScopeService.list(lqw);
PageUtil.startPage();
List<QmsGroupScope> groupScopes = qmsGroupScopeMapper.listScope(finished,userId);
List<QmsGroupScope> groupScopes = qmsGroupScopeMapper.listScope(param,userId);
List<QmsGroup> result = new ArrayList<>();
for (QmsGroupScope groupScope : groupScopes) {
QmsGroup qmsGroup = qmsGroupService.getById(groupScope.getGroupId());

26
src/main/java/com/qs/serve/modules/qms/entity/so/QmsGroupSo.java

@ -0,0 +1,26 @@
package com.qs.serve.modules.qms.entity.so;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
/**
* @author YenHex
* @since 2023/4/14
*/
@Data
public class QmsGroupSo {
Integer finished;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate queryStartDate;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate queryEndDate;
}

3
src/main/java/com/qs/serve/modules/qms/mapper/QmsGroupScopeMapper.java

@ -2,6 +2,7 @@ package com.qs.serve.modules.qms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.qms.entity.QmsGroupScope;
import com.qs.serve.modules.qms.entity.so.QmsGroupSo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -19,7 +20,7 @@ public interface QmsGroupScopeMapper extends BaseMapper<QmsGroupScope> {
* @param userId
* @return
*/
List<QmsGroupScope> listScope(@Param("finished") Integer finished,@Param("userId") String userId);
List<QmsGroupScope> listScope(@Param("query") QmsGroupSo finished, @Param("userId") String userId);
}

14
src/main/java/com/qs/serve/modules/wx/controller/WxUserController.java

@ -46,7 +46,7 @@ public class WxUserController {
public R<PageVo<WxUser>> getList(WxUser param){
PageUtil.startPage();
LambdaQueryWrapper<WxUser> lqw = new LambdaQueryWrapper<>(param);
lqw.eq(WxUser::getFirstFlag,1);
//lqw.eq(WxUser::getFirstFlag,1);
if(param.getNotBindFlag()!=null&&param.getNotBindFlag().equals(1)){
lqw.isNull(WxUser::getPhone).or().eq(WxUser::getPhone,"");
}else if (param.getNotBindFlag()!=null&&param.getNotBindFlag().equals(0)){
@ -80,6 +80,9 @@ public class WxUserController {
return R.error("该微信用户已被绑定");
}
SysUser sysUser = sysUserService.getById(param.getSysUserId());
if(sysUser.getMobile()==null||sysUser.getMobile().length()<4){
return R.error("用户未绑定手机号");
}
if(!StringUtils.hasText(wxUser.getUnionId())){
WxUser updVo = new WxUser();
updVo.setId(wxUser.getId());
@ -107,9 +110,11 @@ public class WxUserController {
@PostMapping("/rmBind")
public R<?> rmBind(@RequestBody @Valid WxUserRmBindBo param){
String sysUserId = null;
String wxUserId = null;
if(StringUtils.hasText(param.getWxUserId())){
WxUser wxUser = wxUserService.getById(param.getWxUserId());
sysUserId = wxUser.getSysUserId();
wxUserId = wxUser.getId();
if(!StringUtils.hasText(wxUser.getUnionId())){
wxUser.setSysUserId("0");
wxUser.setEmpName(wxUser.getNickName());
@ -135,11 +140,8 @@ public class WxUserController {
wxUserService.updateById(wxUser);
}
}
if(sysUserId!=null){
String client = "wx_app";
String redisKey = StringUtils.format(RedisCacheKeys.LOGIN_KEY_APP,client,sysUserId);
redisService.remove(redisKey);
}
String wxLoginKey = StringUtils.format(RedisCacheKeys.LOGIN_KEY_WXUSER,wxUserId);
redisService.remove(wxLoginKey);
return R.ok();
}

14
src/main/resources/mapper/qms/QmsGroupScopeMapper.xml

@ -56,13 +56,21 @@
and `qms_group_scope`.`scope_value` = #{userId}
and `qms_group_scope`.`del_flag` = '0'
and `qms_group`.`del_flag` = '0'
<if test="finished == null"> and `qms_group_scope`.`finished` != -1 </if>
<if test="finished != null and finished == 0 ">
<if test="query.finished == null"> and `qms_group_scope`.`finished` != -1 </if>
<if test="query.finished != null and query.finished == 0 ">
and `qms_group_scope`.`finished` = '0' and `qms_group`.`group_finished` = '0'
</if>
<if test="finished != null and finished == 1 ">
<if test="query.finished != null and query.finished == 1 ">
and (`qms_group_scope`.`finished` = '1' or `qms_group`.`group_finished` = '1')
</if>
<if test="query.queryStartDate != null">
and qms_group_scope.`create_time` &gt;= #{query.queryStartDate}
</if>
<if test="query.queryEndDate != null">
and qms_group_scope.`create_time` &lt;= #{query.queryEndDate}
</if>
</where>
order by `qms_group_scope`.`create_time` desc
</select>

Loading…
Cancel
Save