diff --git a/pom.xml b/pom.xml
index ba26ef7..35bdb44 100644
--- a/pom.xml
+++ b/pom.xml
@@ -202,6 +202,26 @@
3.1.5
+
+
+ com.github.shalousun
+ smart-doc
+ 2.7.7
+ test
+
+
+ org.web3j
+ core
+ 5.0.0
+ test
+
+
+ com.squareup.okhttp3
+ okhttp
+ 4.3.1
+ test
+
+
diff --git a/src/main/java/com/qs/serve/common/framework/security/model/LoginUserType.java b/src/main/java/com/qs/serve/common/framework/security/model/LoginUserType.java
index 8538e03..d9cbf96 100644
--- a/src/main/java/com/qs/serve/common/framework/security/model/LoginUserType.java
+++ b/src/main/java/com/qs/serve/common/framework/security/model/LoginUserType.java
@@ -15,6 +15,7 @@ public enum LoginUserType {
* 人员分类
*/
APP_USER("00","微信用户"),
+ MEMBER("03","member"),
SYS_USER("01","系统人员"),
SYS_SUP_USER("02","超级管理员")
;
diff --git a/src/main/java/com/qs/serve/modules/visit/api/VisitMainInnerController.java b/src/main/java/com/qs/serve/modules/visit/api/VisitMainInnerController.java
index 500a0ba..8813aa7 100644
--- a/src/main/java/com/qs/serve/modules/visit/api/VisitMainInnerController.java
+++ b/src/main/java/com/qs/serve/modules/visit/api/VisitMainInnerController.java
@@ -13,6 +13,7 @@ import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.visit.common.VisitMainConst;
import com.qs.serve.modules.visit.entity.VisitMain;
+import com.qs.serve.modules.visit.entity.bo.VisitCheckIn;
import com.qs.serve.modules.visit.service.VisitMainService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -37,7 +38,7 @@ public class VisitMainInnerController {
private SysUserService sysUserService;
/**
- * 翻页
+ * 翻页(门卫专用)
* @param param
* @return
*/
@@ -67,9 +68,9 @@ public class VisitMainInnerController {
* @param id
* @return
*/
- @GetMapping("/checkIn/{id}")
+ @PostMapping("/checkIn/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
- public R checkIn(@PathVariable("id") String id){
+ public R checkIn(@PathVariable String id, @RequestBody VisitCheckIn param){
VisitMain visitMain = visitMainService.getById(id);
if(visitMain.getCheckState().equals(VisitMainConst.CheckState_1)
&&visitMain.getVisitStatus().equals(VisitMainConst.VisitStatus_1)){
@@ -78,7 +79,9 @@ public class VisitMainInnerController {
visitMain.setCheckUserCode(sysUser.getCode());
visitMain.setCheckUserName(sysUser.getName());
visitMain.setVisitTime(LocalDateTime.now());
+ visitMain.setRemark2(param.getRemark2());
visitMain.setVisitStatus(VisitMainConst.VisitStatus_3);
+
visitMainService.updateById(visitMain);
return R.ok();
}
diff --git a/src/main/java/com/qs/serve/modules/visit/api/VisitMainOuterApi.java b/src/main/java/com/qs/serve/modules/visit/api/VisitMainOuterApi.java
index 06e73e2..3f94064 100644
--- a/src/main/java/com/qs/serve/modules/visit/api/VisitMainOuterApi.java
+++ b/src/main/java/com/qs/serve/modules/visit/api/VisitMainOuterApi.java
@@ -9,6 +9,7 @@ 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.common.util.StringUtils;
+import com.qs.serve.modules.visit.common.VisitMainConst;
import com.qs.serve.modules.visit.entity.VisitMain;
import com.qs.serve.modules.visit.service.VisitMainService;
import com.qs.serve.modules.wx.common.consts.WxUserTypeConst;
@@ -19,6 +20,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
+import java.time.LocalDateTime;
import java.util.List;
/**
@@ -77,13 +79,13 @@ public class VisitMainOuterApi {
WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getUserType().equals(WxUserTypeConst.UMS_MEMBER)){
param.setCheckState(null);
+ param.setVisitStatus(null);
param.setDeptId(null);
param.setDeptName(null);
param.setUserId(null);
param.setUserCode(null);
param.setUserName(null);
param.setSubmitTime(null);
-
boolean result = visitMainService.updateById(param);
return R.isTrue(result);
}
@@ -92,14 +94,34 @@ public class VisitMainOuterApi {
/**
* 提交到OA
- * @param id
+ * @param param
* @return
*/
@PostMapping("/submit")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.SUBMIT)
- public R> submit(String id){
- visitMainService.submitOaFlow(id);
- return R.ok();
+ public R> submit(@RequestBody @Valid VisitMain param){
+ WxUser wxUser = wxUserService.getCurrentWxUser();
+ if(wxUser.getUserType().equals(WxUserTypeConst.UMS_MEMBER)){
+ param.setCheckState(null);
+ param.setVisitStatus(null);
+ param.setDeptId(null);
+ param.setDeptName(null);
+ param.setUserId(null);
+ param.setUserCode(null);
+ param.setUserName(null);
+ param.setSubmitTime(null);
+
+ param.setVisitorId(wxUser.getUserId());
+
+ param.setSyFormId("test");
+ param.setSubmitTime(LocalDateTime.now());
+ param.setCheckState(VisitMainConst.CheckState_0);
+
+ boolean result = visitMainService.updateById(param);
+ //visitMainService.submitOaFlow(param.getId());
+ return R.ok();
+ }
+ return R.error("用户角色暂不支持");
}
}
diff --git a/src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java b/src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java
index c6ecdb8..d96e62c 100644
--- a/src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java
+++ b/src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java
@@ -117,6 +117,8 @@ public class VisitMain implements Serializable {
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
+ private String remark2;
+
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
diff --git a/src/main/java/com/qs/serve/modules/visit/entity/bo/VisitCheckIn.java b/src/main/java/com/qs/serve/modules/visit/entity/bo/VisitCheckIn.java
new file mode 100644
index 0000000..74c9952
--- /dev/null
+++ b/src/main/java/com/qs/serve/modules/visit/entity/bo/VisitCheckIn.java
@@ -0,0 +1,16 @@
+package com.qs.serve.modules.visit.entity.bo;
+
+import lombok.Data;
+
+/**
+ * @author YenHex
+ * @since 2024/9/19
+ */
+@Data
+public class VisitCheckIn {
+
+ private String id;
+
+ private String remark2;
+
+}
diff --git a/src/main/java/com/qs/serve/modules/wx/api/WxSvcLoginApi.java b/src/main/java/com/qs/serve/modules/wx/api/WxSvcLoginApi.java
index 269095f..9d7553d 100644
--- a/src/main/java/com/qs/serve/modules/wx/api/WxSvcLoginApi.java
+++ b/src/main/java/com/qs/serve/modules/wx/api/WxSvcLoginApi.java
@@ -146,23 +146,27 @@ public class WxSvcLoginApi {
public R> login(HttpServletRequest request,@RequestBody @Valid WxLoginUser wxLoginUser){
Map objectMap = new HashMap<>();
String token = IdUtil.fastSimpleUUID();
+ String userType = wxLoginUser.getUserType();
+ String userId = "1"+wxLoginUser.getUserType();
//微信登录ID
String wxUserKey = StringUtils.format(RedisCacheKeys.WX_KEY_USER,token);
- redisService.set(wxUserKey,"1");
+ redisService.set(wxUserKey,userId);
- LoginUser loginUser = new LoginUser("1","微信测试用户","",
+ LoginUser loginUser = new LoginUser(userId,"微信测试用户","",
ServletUtils.getIp(request), LoginUserType.APP_USER,new ArrayList<>(),null,AuthContextUtils.getTenant());
objectMap.put("token",token);
- String userType = wxLoginUser.getUserType();
- String sysUserId = "1";
Map tokenMap = new HashMap<>(10);
String client = "wx_app";
- String redisKey = StringUtils.format(RedisCacheKeys.LOGIN_KEY_APP,client,sysUserId);
- String pctoken = JwtUtils.generateToken(sysUserId,loginUser.getTypeFlag(),client);
- redisService.set(redisKey,pctoken);
- tokenMap.put("token", pctoken);
+ if(wxLoginUser.getUserType().equals("user")){
+ String redisKey = StringUtils.format(RedisCacheKeys.LOGIN_KEY_APP,client,"1");
+ String pctoken = JwtUtils.generateToken("1",loginUser.getTypeFlag(),client);
+ redisService.set(redisKey,pctoken);
+ tokenMap.put("token", pctoken);
+ }else {
+ tokenMap.put("token", token);
+ }
tokenMap.put("userType", userType);
- tokenMap.put("userId", sysUserId);
+ tokenMap.put("userId", userId);
tokenMap.put("IP", loginUser.getLoginIp());
tokenMap.put("loginType",client);
tokenMap.put("client",client);
diff --git a/src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java b/src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java
index 82cb2a0..2f47219 100644
--- a/src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java
+++ b/src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java
@@ -74,7 +74,7 @@ public class WxSvcUserApi {
sysUser.setAuthorList(userDetails.getAuthorList());
sysUserVo = sysUser.toSysUserVo(false);
}
- }else if (wxUser.getUserType().equals(WxUserTypeConst.SYS_USER)
+ }else if (wxUser.getUserType().equals(WxUserTypeConst.UMS_MEMBER)
&&StringUtils.hasText(wxUser.getUserId())){
UmsMember member = umsMemberMapper.selectById(wxUser.getUserId());
wxUser.setMemberInfo(member);
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 ca37676..136e530 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
@@ -126,7 +126,7 @@ public class WxUserServiceImpl extends ServiceImpl impleme
String wxUserId = redisService.getString(wxUserKey);
String appId = AuthContextUtils.getAppId();
WxUser wxUser = this.getById(wxUserId);
- if(updateSub&&!wxUser.getId().equals("1")
+ if(updateSub&&!wxUser.getId().equals("1user")&&!wxUser.getId().equals("1member")
&&(wxUser.getAppType().equals(1)||wxUser.getAppType().equals(2))){
try {
WxMpService wxMpService = wxMpConfig.wxMpService().switchoverTo(appId);