From 3a5e49666af1da441633b0a9bae4c3c2b18974b3 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期二, 14 四月 2026 16:05:41 +0800
Subject: [PATCH] 质押合同添加业务经理绑定,H5相关逻辑完善
---
fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html | 13 +
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java | 46 ++--
fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java | 16 +
fzzy-igdss-view/src/main/java/models/core.model.xml | 12 +
fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java | 112 +++++++---
fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml | 37 +++
fzzy-igdss-web/src/main/resources/templates/wx/bind.html | 105 +++------
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SysUserService.java | 11 +
fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java | 70 ++++--
fzzy-igdss-web/src/main/resources/templates/wx/warn-detail.html | 12 +
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java | 13 +
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java | 30 ++
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java | 4
fzzy-igdss-web/src/main/resources/templates/wx/home.html | 7
fzzy-igdss-web/src/main/resources/templates/wx/unbind.html | 109 +++-------
15 files changed, 372 insertions(+), 225 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java
index 39b63d1..c5cbfb5 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java
@@ -57,6 +57,10 @@
@TableField("pledge_bank")
private String pledgeBank;
+ @Column(name = "pledge_bank_user", columnDefinition = "varchar(40) COMMENT '璐ㄦ娂閾惰涓氬姟鍛�'")
+ @TableField("pledge_bank_user")
+ private String pledgeBankUser;
+
//璐ㄦ娂鍏徃
@Column(name = "pledge_company", columnDefinition = "varchar(40) COMMENT '璐ㄦ娂鍏徃'")
@TableField("pledge_company")
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java
index 388987c..d693658 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java
@@ -10,6 +10,7 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.stereotype.Service;
+
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@@ -42,26 +43,31 @@
//鑾峰彇褰撳墠鐧诲綍浜�
SysUser user = ContextUtil.getLoginUser();
- if (Constant.USER_TYPE_10.equals(user.getUserType())) {
- //鐩戠鐢ㄦ埛锛岀洿鎺ユ煡璇㈢粍缁囦笅鎵�鏈夊簱鍖�
- return this.listDept(null,user.getCompanyId(),null);
- }
- if (Constant.USER_TYPE_20.equals(user.getUserType())) {
- //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
- return this.getDeptByBank(user.getUserData());
- }
- if (Constant.USER_TYPE_30.equals(user.getUserType())) {
- //搴撳尯鐢ㄦ埛
- String deptId = user.getDeptId() + "";
- if(ContextUtil.isDepotUser(deptId)){
- //鏌ヨ鐢ㄦ埛鎵�灞炲簱鍖�
- return this.listDept(deptId,null,null);
- }else {
- //鏌ヨ鐢ㄦ埛鎵�灞炲叕鍙镐笅鎵�鏈夊簱鍖�
- return this.listDept(null,null, deptId);
- }
- }
- return this.listDept(null,user.getCompanyId(),null);
+ if(null != user){
+ if (Constant.USER_TYPE_10.equals(user.getUserType())) {
+ //鐩戠鐢ㄦ埛锛岀洿鎺ユ煡璇㈢粍缁囦笅鎵�鏈夊簱鍖�
+ return this.listDept(null,user.getCompanyId(),null);
+ }
+ if (Constant.USER_TYPE_20.equals(user.getUserType())) {
+ //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
+ return this.getDeptByBank(user.getUserData());
+ }
+ if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+ //搴撳尯鐢ㄦ埛
+ String deptId = user.getDeptId() + "";
+ if(ContextUtil.isDepotUser(deptId)){
+ //鏌ヨ鐢ㄦ埛鎵�灞炲簱鍖�
+ return this.listDept(deptId,null,null);
+ }else {
+ //鏌ヨ鐢ㄦ埛鎵�灞炲叕鍙镐笅鎵�鏈夊簱鍖�
+ return this.listDept(null,null, deptId);
+ }
+ }
+ return this.listDept(null,user.getCompanyId(),null);
+
+ }
+ return this.listDept(null,ContextUtil.getCompanyId(),null);
+
}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java
index 350b2a6..9b84d36 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java
@@ -12,6 +12,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -51,6 +52,18 @@
return pledgeContractMapper.selectList(queryWrapper);
}
+
+ public List<PledgeContract> getDateByUser(String userId) {
+ if(StringUtils.isBlank(userId)){
+ return new ArrayList<PledgeContract>();
+ }
+ QueryWrapper<PledgeContract> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("company_id", ContextUtil.getCompanyId());
+ queryWrapper.eq("pledge_bank_user", userId);
+ return pledgeContractMapper.selectList(queryWrapper);
+
+ }
+
/**
* 鏍规嵁鏉′欢鏌ヨ
* @param id
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java
index 5c92215..bea91cd 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java
@@ -32,8 +32,9 @@
*/
public void listPage(Page<SnapReply> page, IgdsBaseParam param) {
QueryWrapper<SnapReply> queryWrapper = new QueryWrapper<>();
-
- param.setCompanyId(ContextUtil.getCompanyId());
+ if (StringUtils.isBlank(param.getCompanyId())) {
+ param.setCompanyId(ContextUtil.getCompanyId());
+ }
queryWrapper.eq("company_id", param.getCompanyId());
//搴撳尯妫�绱�
@@ -51,6 +52,31 @@
snapReplyMapper.selectPage(page, queryWrapper);
}
+ public void listPageByListDept(Page<SnapReply> page, IgdsBaseParam param, List<String> listDept) {
+ if( listDept == null || listDept.isEmpty()){
+ return;
+ }
+
+ QueryWrapper<SnapReply> queryWrapper = new QueryWrapper<>();
+ if (StringUtils.isBlank(param.getCompanyId())) {
+ param.setCompanyId(ContextUtil.getCompanyId());
+ }
+ queryWrapper.eq("company_id", param.getCompanyId());
+
+ //搴撳尯妫�绱�
+ if (!listDept.isEmpty()) {
+ queryWrapper.in("dept_id", listDept);
+ }
+ //鏄惁澶勭悊妫�绱�
+ if (StringUtils.isNotBlank(param.getKey())) {
+ queryWrapper.eq("is_handle", param.getKey());
+ }
+
+ queryWrapper.orderByDesc("create_time");
+ queryWrapper.orderByDesc("id");
+ snapReplyMapper.selectPage(page, queryWrapper);
+ }
+
/**
* 鏌ヨ鎵�鏈夋暟鎹�
*
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SysUserService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SysUserService.java
index 17ffd9d..67afd7f 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SysUserService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SysUserService.java
@@ -75,4 +75,15 @@
return userMapper.selectUserList(param);
}
+
+
+ public List<SysUser> getBindBankUserList(String bankId) {
+ SysUser param = new SysUser();
+ param.setCompanyId(ContextUtil.getCompanyId());
+ param.setUserType(Constant.USER_TYPE_20);
+ if( StringUtils.isNotBlank(bankId)){
+ param.setUserData(bankId);
+ }
+ return userMapper.selectUserList(param);
+ }
}
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
index 964740d..a0257ac 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
@@ -38,6 +38,12 @@
<Property name="dataType">[dtPledgeContractDepot]</Property>
<Property name="loadMode">manual</Property>
</DataSet>
+ <DataSet id="dsBankUser">
+ <Property name="dataProvider">pledgeContractPR#getBankUserList</Property>
+ <Property name="userData">涓氬姟缁忕悊涓嬫媺鍒楄〃</Property>
+ <Property name="loadMode">manual</Property>
+ <Property name="dataType">[dtSysUser]</Property>
+ </DataSet>
<Container>
<Property name="className">c-param</Property>
<AutoForm>
@@ -305,6 +311,12 @@
<Editor/>
</AutoFormElement>
<AutoFormElement>
+ <Property name="name">pledgeBankUser</Property>
+ <Property name="property">pledgeBankUser</Property>
+ <Property name="trigger">dsBankUserDropDown</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
<Property name="name">pledgeCompany</Property>
<Property name="property">pledgeCompany</Property>
<Editor/>
@@ -475,5 +487,30 @@
</Children>
<Tools/>
</Dialog>
+ <DataSetDropDown id="dsBankUserDropDown">
+ <ClientEvent name="onOpen">
+var entity = view.get("#dsMain.data:#");
+if(!entity){
+ $alert("璇峰厛閫夋嫨鎵�灞炲簱鍖�");
+}else{
+ var pledgeBank = entity.get("pledgeBank");
+ if(!pledgeBank){
+ $alert("璇峰厛閫夋嫨璐ㄦ娂閾惰");
+ }else{
+ view.get("#dsBankUser").set("parameter",entity.get("pledgeBank")).flushAsync();
+ }
+}</ClientEvent>
+ <Property name="dataSet">dsBankUser</Property>
+ <Property name="height">450</Property>
+ <Property name="autoOpen">true</Property>
+ <Property name="assignmentMap">pledgeBankUser=userId</Property>
+ <Property name="width">400</Property>
+ <DataColumn>
+ <Property name="align">center</Property>
+ <Property name="name">userName</Property>
+ <Property name="property">userName</Property>
+ <Editor/>
+ </DataColumn>
+ </DataSetDropDown>
</View>
</ViewConfig>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java
index fd55294..d9be1fa 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java
@@ -13,6 +13,7 @@
import com.fzzy.igds.service.DepotService;
import com.fzzy.igds.service.PledgeContractDepotService;
import com.fzzy.igds.service.PledgeContractService;
+import com.fzzy.igds.service.SysUserService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.entity.SysDictData;
@@ -35,6 +36,8 @@
@Resource
private PledgeContractDepotService pledgeContractDepotService;
+ @Resource
+ private SysUserService sysUserService;
@Resource
private DepotService depotService;
@@ -186,4 +189,17 @@
}
return result;
}
+
+ /** 鑾峰彇璐ㄦ娂閾惰涓氬姟缁忕悊鏁版嵁
+ * pledgeContractPR#getBankUserList
+ *
+ * @return
+ */
+ @DataProvider
+ public List<SysUser> getBankUserList(String parentId) {
+ if (com.ruoyi.common.utils.StringUtils.isNotEmpty(parentId)) {
+ return sysUserService.getBindBankUserList(parentId);
+ }
+ return sysUserService.getBindBankUserList(null);
+ }
}
diff --git a/fzzy-igdss-view/src/main/java/models/core.model.xml b/fzzy-igdss-view/src/main/java/models/core.model.xml
index f1e741b..4e7abac 100644
--- a/fzzy-igdss-view/src/main/java/models/core.model.xml
+++ b/fzzy-igdss-view/src/main/java/models/core.model.xml
@@ -1100,6 +1100,14 @@
<Property name="valueProperty">name</Property>
</Property>
</PropertyDef>
+ <PropertyDef name="pledgeBankUser">
+ <Property name="label">閾惰涓氬姟缁忕悊</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("pledgeContractPR#getBankUserList").getResult()}</Property>
+ <Property name="keyProperty">userId</Property>
+ <Property name="valueProperty">userName</Property>
+ </Property>
+ </PropertyDef>
<PropertyDef name="pledgeCompany">
<Property></Property>
<Property name="label">璐ㄦ娂鍏徃</Property>
@@ -2091,9 +2099,13 @@
</PropertyDef>
<PropertyDef name="userName">
<Property></Property>
+ <Property name="label">鐢ㄦ埛鍚嶇О</Property>
</PropertyDef>
<PropertyDef name="userType">
<Property></Property>
</PropertyDef>
+ <PropertyDef name="userData">
+ <Property name="label">鎵�灞為摱琛�</Property>
+ </PropertyDef>
</DataType>
</Model>
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java
index aaa0ede..aa3ea9f 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java
@@ -5,8 +5,10 @@
import com.fzzy.appwx.constant.WeChatConst;
import com.fzzy.appwx.manager.WeChatManager;
import com.fzzy.appwx.param.WeChatBaseParam;
+import com.fzzy.group.manager.GroupManager;
import com.fzzy.igds.data.ConfigData;
import com.fzzy.igds.data.PageResponse;
+import com.fzzy.igds.domain.Dept;
import com.fzzy.igds.domain.SnapReply;
import com.ruoyi.common.core.domain.entity.SysUser;
import lombok.extern.slf4j.Slf4j;
@@ -16,7 +18,8 @@
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
-import java.net.URLEncoder;
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
@Slf4j
@Controller
@@ -27,6 +30,8 @@
private ConfigData configData;
@Resource
private WeChatManager weChatManager;
+ @Resource
+ private GroupManager groupManager;
/**
@@ -46,13 +51,13 @@
tag = "home";
}
- String newUrl = WeChatConst.USER_AUTH_UPR
- .replace("APPID", configData.getWxAppId())
- .replace("REDIRECT_URI", URLEncoder.encode(url, "UTF-8"))
- .replace("STATE", tag);
-
- return "redirect:" + newUrl;
-// return "redirect:" + url + "?state=" + tag;
+// String newUrl = WeChatConst.USER_AUTH_UPR
+// .replace("APPID", configData.getWxAppId())
+// .replace("REDIRECT_URI", URLEncoder.encode(url, "UTF-8"))
+// .replace("STATE", tag);
+//
+// return "redirect:" + newUrl;
+ return "redirect:" + url + "?state=" + tag;
}
@@ -100,21 +105,31 @@
mv.addObject("userName", userName);
}
mv.setViewName("/wx/" + state);
+ //楠岃瘉鐮佺被鍨�
+ if("bind".equals( state) || "unbind".equals( state)){
+ mv.addObject("captchaType", "math");
+ }
-//// //娴嬭瘯浠g爜寮�鍚�
-// String openid = "testOpenId";
-// mv.addObject("openid", openid);
-// SysUser user = weChatManager.getUser(openid);
-// if (StringUtils.isEmpty(userName)) {
-// if (user != null) {
-// userName = user.getUserName();
-// }
-// }
-//
-// if (StringUtils.isNotEmpty(userName)) {
-// mv.addObject("userName", userName);
-// }
-//// //娴嬭瘯浠g爜缁撴潫
+
+ //鏌ヨ搴撳尯淇℃伅
+ List<Dept> deptList = groupManager.getDeptList();
+ mv.addObject("deptList", deptList);
+
+
+// //娴嬭瘯浠g爜寮�鍚�
+ String openid = "testOpenId";
+ mv.addObject("openid", openid);
+ SysUser user = weChatManager.getUser(openid);
+ if (StringUtils.isEmpty(userName)) {
+ if (user != null) {
+ userName = user.getUserName();
+ }
+ }
+
+ if (StringUtils.isNotEmpty(userName)) {
+ mv.addObject("userName", userName);
+ }
+// //娴嬭瘯浠g爜缁撴潫
return mv;
}
@@ -143,8 +158,8 @@
*/
@PostMapping(value = "/bandOpenId")
@ResponseBody
- public PageResponse<String> bandOpenId( @RequestBody WeChatBaseParam param) {
- return weChatManager.bandOpenId(param);
+ public PageResponse<String> bandOpenId(HttpServletRequest httpRequest, @RequestBody WeChatBaseParam param) {
+ return weChatManager.bandOpenId(httpRequest,param);
}
/**
@@ -156,11 +171,14 @@
*/
@PostMapping(value = "/unBandOpenId")
@ResponseBody
- public PageResponse<String> unBandOpenId( @RequestBody WeChatBaseParam param) {
- return weChatManager.unBandOpenId(param);
+ public PageResponse<String> unBandOpenId( HttpServletRequest httpRequest, @RequestBody WeChatBaseParam param) {
+ //鍦ㄨ繖閲岃皟鐢ㄩ獙璇佺爜鏍¢獙
+
+ return weChatManager.unBandOpenId(httpRequest,param);
}
+
/**
* 鑾峰彇鍑哄叆搴撳憡璀︽壒澶嶅垎椤垫暟鎹�
*
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java
index 4eb73be..27322c9 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java
@@ -7,26 +7,42 @@
import com.fzzy.igds.constant.RespCodeEnum;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.igds.data.PageResponse;
+import com.fzzy.igds.domain.PledgeContract;
+import com.fzzy.igds.domain.PledgeContractDepot;
import com.fzzy.igds.domain.SnapReply;
+import com.fzzy.igds.service.PledgeContractDepotService;
+import com.fzzy.igds.service.PledgeContractService;
import com.fzzy.igds.service.SnapReplyService;
+import com.google.code.kaptcha.Constants;
import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.system.service.ISysUserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
@Component
public class WeChatManager {
- @Autowired
+ @Resource
private WeChatUtil weChatUtil;
@Autowired
private ISysUserService sysUserService;
@Resource
private SnapReplyService snapReplyService;
+
+ @Resource
+ private PledgeContractService pledgeContractService;
+
+ @Resource
+ private PledgeContractDepotService pledgeContractDepotService;
public String getOpenid(String code) {
@@ -69,8 +85,25 @@
return new PageResponse(RespCodeEnum.CODE_0000.getCode(), "鏌ヨ鎴愬姛", user);
}
+ //鏍¢獙楠岃瘉鐮�
+ public boolean validateResponse(HttpServletRequest request, String validateCode) {
+ // 鈶� 浠嶴ession鑾峰彇鐢熸垚鐨勯獙璇佺爜
+ Object obj = ShiroUtils.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);
+ String code = String.valueOf(obj != null ? obj : "");
+
+ // 鈶� 绔嬪嵆娓呴櫎Session涓殑楠岃瘉鐮侊紙闃叉閲嶅浣跨敤锛�
+ request.getSession().removeAttribute(Constants.KAPTCHA_SESSION_KEY);
+
+ // 鈶� 姣斿鐢ㄦ埛杈撳叆鍜屾纭瓟妗堬紙蹇界暐澶у皬鍐欙級
+ if (StringUtils.isEmpty(validateCode) || !validateCode.equalsIgnoreCase(code)) {
+ return false;
+
+ }
+ return true;
+ }
+
//缁戝畾openId
- public PageResponse<String> bandOpenId(WeChatBaseParam param) {
+ public PageResponse<String> bandOpenId(HttpServletRequest httpRequest,WeChatBaseParam param) {
//鍒ゆ柇鍙傛暟
if (null == param || StringUtils.isEmpty(param.getOpenid())) {
@@ -81,22 +114,15 @@
return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "鎵嬫満鍙蜂负绌猴紝璇峰~鍐�");
}
-// if (StringUtils.isEmpty(param.getMsgCode())) {
-// return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "楠岃瘉鐮佷笉鑳戒负绌�");
-//
-// }
-//
-// String code = (String) redisService.getCacheObject(WeChatConst.WX_MOBILE_CODE + param.getMobile());
-// if(StringUtils.isEmpty(code)){
-// res.put("code","1007");
-// res.put("msg","楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鑾峰彇");
-// return res;
-// }
-// if(! code.equals(param.getMsgCode())){
-// res.put("code","1007");
-// res.put("msg","楠岃瘉鐮侀敊璇�");
-// return res;
-// }
+ if (StringUtils.isEmpty(param.getMsgCode())) {
+ return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "楠岃瘉鐮佷笉鑳戒负绌�");
+
+ }
+ //楠岃瘉鐮侀獙璇�
+ boolean validateResponse = validateResponse(httpRequest, param.getMsgCode());
+ if (!validateResponse) {
+ return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "楠岃瘉鐮侀敊璇�");
+ }
//鏍规嵁鎵嬫満鍙锋煡鐪嬬敤鎴锋槸鍚︽槸绯荤粺鐢ㄦ埛
SysUser user = sysUserService.selectUserByPhoneNumber(param.getMobile());
@@ -110,13 +136,13 @@
// redisService.deleteObject(WeChatConst.WX_MOBILE_CODE + param.getMobile());
- return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(), "璇锋眰鎴愬姛");
+ return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(), "缁戝畾鎴愬姛");
}
//瑙g粦openId
- public PageResponse<String> unBandOpenId(WeChatBaseParam param) {
+ public PageResponse<String> unBandOpenId(HttpServletRequest httpRequest,WeChatBaseParam param) {
//鍒ゆ柇鍙傛暟
if (null == param || StringUtils.isEmpty(param.getOpenid())) {
@@ -130,20 +156,11 @@
return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "楠岃瘉鐮佷笉鑳戒负绌�");
}
-
-// String code = (String) redisService.getCacheObject(WeChatConst.WX_MOBILE_CODE + param.getMobile());
-// if(StringUtils.isEmpty(code)){
-// res.put("code","1007");
-// res.put("msg","楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鑾峰彇");
-// return res;
-//
-// }
-// if(! code.equals(param.getMsgCode())){
-// res.put("code","1007");
-// res.put("msg","楠岃瘉鐮侀敊璇�");
-// return res;
-// }
-
+ //楠岃瘉鐮侀獙璇�
+ boolean validateResponse = validateResponse(httpRequest, param.getMsgCode());
+ if (!validateResponse) {
+ return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "楠岃瘉鐮侀敊璇�");
+ }
//鏍规嵁鎵嬫満鍙锋煡璇㈢敤鎴锋槸鍚﹀凡缁忕粦瀹�
SysUser user = sysUserService.selectUserByPhoneNumber(param.getMobile());
if (user == null || StringUtils.isEmpty(user.getPhonenumber())) {
@@ -153,8 +170,6 @@
user.setOpenId("");
sysUserService.updateUserInfo(user);
-
-// redisService.deleteObject(WeChatConst.WX_MOBILE_CODE + param.getMobile());
return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(), "璇锋眰鎴愬姛");
@@ -179,14 +194,35 @@
return new PageResponse<Page<SnapReply>>(RespCodeEnum.CODE_1006.getCode(), "灏氭湭缁戝畾鏈嶅姟锛岃鍏堢粦瀹氾紒");
}
+ //鑾峰彇涓氬姟缁忕悊缁戝畾鐨勮川鎶煎悎鍚�
+ List<PledgeContract> dateByUser = pledgeContractService.getDateByUser(String.valueOf(user.getUserId()));
+ if (dateByUser == null || dateByUser.isEmpty()) {
+ //杩斿洖绌烘暟鎹�
+ return new PageResponse<Page<SnapReply>>(RespCodeEnum.CODE_0000.getCode(), "璇锋眰鎴愬姛", new Page<>(param.getPageNo(), param.getPageSize()));
+ }
+ List<PledgeContractDepot> pledgeContractDepots = new ArrayList<>() ;
+ for (PledgeContract pledgeContract : dateByUser) {
+ String id = pledgeContract.getId();
+ IgdsBaseParam depotPParam = new IgdsBaseParam();
+ depotPParam.setParentId(id);
+ List<PledgeContractDepot> pledgeContractDepots1 = pledgeContractDepotService.listAll(depotPParam);
+ pledgeContractDepots.addAll(pledgeContractDepots1);
+ }
+ if(pledgeContractDepots.isEmpty()){
+ //杩斿洖绌烘暟鎹�
+ return new PageResponse<Page<SnapReply>>(RespCodeEnum.CODE_0000.getCode(), "璇锋眰鎴愬姛", new Page<>(param.getPageNo(), param.getPageSize()));
+ }
+
+ // 鑾峰彇pledgeContractDepots涓幓閲嶅悗鐨勫簱鍖篒DList
+ List<String> deptIdList = pledgeContractDepots.stream().map(PledgeContractDepot::getPledgeDept).distinct().collect(Collectors.toList());
+
//鍒嗛〉鎷兼帴
Page<SnapReply> page = new Page<>(param.getPageNo(), param.getPageSize());
//鏌ヨ鍙傛暟缁勮
IgdsBaseParam queryParam = new IgdsBaseParam();
- queryParam.setDeptId(String.valueOf(user.getDeptId()));
queryParam.setCompanyId(user.getCompanyId());
queryParam.setKey(Constant.YN_N);
- snapReplyService.listPage(page, queryParam);
+ snapReplyService.listPageByListDept(page, queryParam,deptIdList);
return new PageResponse<Page<SnapReply>>(RespCodeEnum.CODE_0000.getCode(), "璇锋眰鎴愬姛", page);
}
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/bind.html b/fzzy-igdss-web/src/main/resources/templates/wx/bind.html
index 65571f8..8c728eb 100644
--- a/fzzy-igdss-web/src/main/resources/templates/wx/bind.html
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/bind.html
@@ -10,35 +10,43 @@
.mui-content {
margin: 0 6px;
}
+
.mui-content-padded {
margin: 10px;
width: 96%;
margin: auto;
margin-top: 8px;
}
+
.mui-radio {
float: left;
}
+
.mui-radio.mui-left input[type=radio] {
left: 1px;
}
+
.mui-checkbox.mui-left label, .mui-radio.mui-left label {
padding-right: 20px;
padding-left: 35px;
}
+
.mui-btn-block {
width: 96%;
margin: auto;
margin-top: 10px;
padding: 8px 0;
}
+
.mui-input-row label ~ input {
float: left;
width: 50%;
}
+
.mui-input-row label {
width: 27%;
}
+
.btn {
margin-top: 4px;
margin-right: 2px;
@@ -47,8 +55,14 @@
color: #fff;
padding: 5px 5px;
}
+
.ts {
margin-top: 10px;
+ }
+
+ .login-yzm-btn {
+ width: 80px;
+ height: 38px;
}
</style>
</head>
@@ -62,10 +76,14 @@
</div>
<div class="mui-input-row">
<label>楠岃瘉鐮�</label>
- <input id="code" style="width: 45%;" type="text" class="mui-input-clear" placeholder="5鍒嗛挓鍐呮湁鏁�">
- <div id="count">
- <button type="button" class="btn" onclick="getCheck()">鑾峰彇楠岃瘉鐮�</button>
- </div>
+ <input id="code" style="width: 45%;" type="text" class="mui-input-clear" placeholder="鍦ㄦ杈撳叆楠岃瘉鐮�">
+ </div>
+ <div class="mui-input-row" style="height: 60px">
+ <label >鐐瑰嚮鏇存崲楠岃瘉鐮�</label>
+ <a href="javascript:void(0);" title="鐐瑰嚮鏇存崲楠岃瘉鐮�" class="login-yzm-btn">
+ <img class="imgcode"
+ th:src="@{/captcha/captchaImage(type=${captchaType})}"/>
+ </a>
</div>
</form>
</div>
@@ -75,96 +93,51 @@
<script th:src="@{/wx/wx-common.js}"></script>
<script th:src="@{/ajax/libs/mui/js/mui.js}"></script>
<script th:inline="javascript">
-
var openid = [[${openid}]]; //鐢ㄦ埛鐨刼penid
- var c = 60; //鑾峰彇楠岃瘉鐮佸悗鐨勫�掕鏃�
+ var captchaType = [[${captchaType}]]; //楠岃瘉鐮佺被鍨�
mui.init();
- //鑾峰彇楠岃瘉鐮�
- function getCheck() {
- var phone = document.getElementById("phone").value;
- if (phone == null || phone.trim() == '') {
- mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
- return;
- }
- var flag = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone);
- if (!flag) {
- mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function() {}, "div");
- return;
- }
- //璇锋眰鍙傛暟
- var data = JSON.stringify({
- "data": {
- "openid": openid,
- "mobile": phone
- }
- });
- $.ajax({
- type: "POST",
- url: "../wx/gateway",
- dataType: "json",
- contentType: "application/json;charset=UTF-8",
- data: data,
- success: function (result) {
- if (result.code == "0000") {
- mui.toast("鏍¢獙鐮佸凡鍙戦�侊紒");
- //鍊掕鏃惰鏁�
- count();
- } else {
- mui.alert(result.msg, '鎻愮ず', ["纭畾"], function() {}, "div");
- }
- }
- });
- }
-
- function count() {
- $("#count").html('');
- $("#count").addClass("ts");
- var interval = setInterval(function () {//瀹氫箟瀹氭椂鍣�
- if (c == 0) {
- clearInterval(interval);//娓呴櫎瀹氭椂鍣�
- $("#count").removeClass("ts");
- $("#count").html('<button type="button" class="btn" onclick="getCheck()">鑾峰彇楠岃瘉鐮�</button>');
- c = 60;
- } else {
- $("#count").html(c + 's鍚庨噸璇�');
- c--;
- }
- }, 1000);
- }
+ $('.imgcode').click(function () {
+ var url = "../captcha/captchaImage?type=" + captchaType + "&s=" + Math.random();
+ $(".imgcode").attr("src", url);
+ });
//缁戝畾鎻愪氦
function binding() {
var phone = document.getElementById("phone").value;
if (phone == null || phone.trim() == '') {
- mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+ mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function () {
+ }, "div");
return;
}
var flag = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone);
if (!flag) {
- mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function() {}, "div");
+ mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function () {
+ }, "div");
return;
}
var code = document.getElementById("code").value;
- // if (code == null || code.trim() == '') {
- // mui.alert("楠岃瘉鐮佷笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
- // return;
- // }
+ if (code == null || code.trim() == '') {
+ mui.alert("楠岃瘉鐮佷笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+ return;
+ }
var data = {
"openid": openid,
"mobile": phone,
"msgCode": code
};
- wxCommon.postJson("../wx/bandOpenId", data,function (result) {
+ wxCommon.postJson("../wx/bandOpenId", data, function (result) {
if (result.code == "0000") {
mui.toast("缁戝畾鎴愬姛锛�");
} else {
- mui.alert(result.msg, '鎻愮ず', ["纭畾"], function() {}, "div");
+ mui.alert(result.msg, '鎻愮ず', ["纭畾"], function () {
+ }, "div");
}
});
}
+
</script>
</body>
</html>
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/home.html b/fzzy-igdss-web/src/main/resources/templates/wx/home.html
index e638e63..2c2a269 100644
--- a/fzzy-igdss-web/src/main/resources/templates/wx/home.html
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/home.html
@@ -171,6 +171,13 @@
$(function () {
+ window.addEventListener('pageshow', function(event) {
+ // 濡傛灉椤甸潰鏄粠缂撳瓨涓仮澶嶇殑锛堝寘鎷悗閫�锛夛紝鍒欓噸鏂板姞杞�
+ if (event.persisted || performance.getEntriesByType('navigation')[0]?.type === 'back_forward') {
+ location.reload();
+ }
+ });
+
if (loginType == "WECHAT") {
$("#bind").css("display", "");
$("#unbind").css("display", "");
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/unbind.html b/fzzy-igdss-web/src/main/resources/templates/wx/unbind.html
index eb535c2..10c7cf8 100644
--- a/fzzy-igdss-web/src/main/resources/templates/wx/unbind.html
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/unbind.html
@@ -10,32 +10,39 @@
.mui-content {
margin: 0 6px;
}
+
.mui-content-padded {
margin: 10px;
width: 96%;
margin: auto;
margin-top: 8px;
}
+
.mui-radio.mui-left input[type=radio] {
left: 1px;
}
+
.mui-checkbox.mui-left label, .mui-radio.mui-left label {
padding-right: 20px;
padding-left: 35px;
}
+
.mui-btn-block {
width: 96%;
margin: auto;
margin-top: 10px;
padding: 8px 0;
}
+
.mui-input-row label ~ input {
float: left;
width: 50%;
}
+
.mui-input-row label {
width: 27%;
}
+
.btn {
margin-top: 4px;
margin-right: 2px;
@@ -44,8 +51,14 @@
color: #fff;
padding: 5px 5px;
}
+
.ts {
margin-top: 10px;
+ }
+
+ .login-yzm-btn {
+ width: 80px;
+ height: 38px;
}
</style>
</head>
@@ -59,10 +72,14 @@
</div>
<div class="mui-input-row">
<label>楠岃瘉鐮�</label>
- <input id="code" style="width: 45%;" type="text" class="mui-input-clear" placeholder="5鍒嗛挓鍐呮湁鏁�">
- <div id="count">
- <button type="button" class="btn" onclick="getCheck()">鑾峰彇楠岃瘉鐮�</button>
- </div>
+ <input id="code" style="width: 45%;" type="text" class="mui-input-clear" placeholder="鍦ㄦ杈撳叆楠岃瘉鐮�">
+ </div>
+ <div class="mui-input-row" style="height: 60px">
+ <label>鐐瑰嚮鏇存崲楠岃瘉鐮�</label>
+ <a href="javascript:void(0);" title="鐐瑰嚮鏇存崲楠岃瘉鐮�" class="login-yzm-btn">
+ <img class="imgcode"
+ th:src="@{/captcha/captchaImage(type=${captchaType})}"/>
+ </a>
</div>
</form>
</div>
@@ -74,97 +91,49 @@
<script th:inline="javascript">
var openid = [[${openid}]]; //鐢ㄦ埛鐨刼penid
- var c = 60; //鑾峰彇楠岃瘉鐮佸悗鐨勫�掕鏃�
+ var captchaType = [[${captchaType}]]; //楠岃瘉鐮佺被鍨�
+
mui.init();
//鑾峰彇楠岃瘉鐮�
- function getCheck() {
- var phone = document.getElementById("phone").value;
- if (phone == null || phone.trim() == '') {
- mui.alert("鎵嬫満鍙蜂笉鑳戒负绌�", '鎻愮ず', ["纭畾"], function() {}, "div");
- return;
- }
- var flag = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone);
- if (!flag) {
- mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘", '鎻愮ず', ["纭畾"], function() {}, "div");
- return;
- }
+ $('.imgcode').click(function () {
+ var url = "../captcha/captchaImage?type=" + captchaType + "&s=" + Math.random();
+ $(".imgcode").attr("src", url);
+ });
- //璇锋眰鍙傛暟
- var data = JSON.stringify({
- "interfaceId": "app_1004",
- "sign": "01",
- "outId": "01-01",
- "reqDateTime": new Date(),
- "data": {
- "openid": openid,
- "mobile": phone
- }
- });
-
- $.ajax({
- type: "POST",
- url: "../wx/gateway",
- dataType: "json",
- contentType: "application/json;charset=UTF-8",
- data: data,
- success: function (result) {
- if (result.code == "0000") {
- mui.toast("鏍¢獙鐮佸凡鍙戦��");
- //鍊掕鏃惰鏁�
- count();
- } else {
- mui.alert(result.msg, '鎻愮ず', ["纭畾"], function() {}, "div");
- }
- }
- });
- }
-
- //鍊掕鏃惰鏁�
- function count() {
- $("#count").html('');
- $("#count").addClass("ts");
- var interval = setInterval(function () {//瀹氫箟瀹氭椂鍣�
- if (c == 0) {
- clearInterval(interval);//娓呴櫎瀹氭椂鍣�
- $("#count").removeClass("ts");
- $("#count").html('<button type="button" class="btn" onclick="getCheck()">鑾峰彇楠岃瘉鐮�</button>');
- c = 60;
- } else {
- $("#count").html(c + 's鍚庨噸璇�');
- c--;
- }
- }, 1000);
- }
//缁戝畾鎻愪氦
function unBinding() {
var phone = document.getElementById("phone").value;
if (phone == null || phone.trim() == '') {
- mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+ mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function () {
+ }, "div");
return;
}
var flag = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone);
if (!flag) {
- mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function() {}, "div");
+ mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function () {
+ }, "div");
return;
}
var code = document.getElementById("code").value;
- // if (code == null || code.trim() == '') {
- // mui.alert("楠岃瘉鐮佷笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
- // return;
- // }
+ if (code == null || code.trim() == '') {
+ mui.alert("楠岃瘉鐮佷笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function () {
+ }, "div");
+ return;
+ }
var data = {
"openid": openid,
"mobile": phone,
"msgCode": code
};
- wxCommon.postJson("../wx/unBandOpenId", data,function (result) {
+ wxCommon.postJson("../wx/unBandOpenId", data, function (result) {
if (result.code == "0000") {
mui.toast("瑙g粦鎴愬姛锛�");
} else {
- mui.alert(result.msg, '鎻愮ず', ["纭畾"], function() {}, "div");
+ mui.alert(result.msg, '鎻愮ず', ["纭畾"], function () {
+ }, "div");
}
});
}
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/warn-detail.html b/fzzy-igdss-web/src/main/resources/templates/wx/warn-detail.html
index 8bafb29..6fc3a57 100644
--- a/fzzy-igdss-web/src/main/resources/templates/wx/warn-detail.html
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/warn-detail.html
@@ -127,9 +127,17 @@
<script th:inline="javascript">
var warnId = [[${id}]]; //璁惧id
var companyId = [[${companyId}]]; //缁勭粐缂栫爜
+ var deptList = [[${deptList}]];
var userName = [[${userName}]]; //褰撳墠鎿嶄綔浜鸿处鍙�
var loginType = [[${loginType}]]; //鐧诲綍鏂瑰紡
+ var deptListMap = {};
$(function () {
+ //鎵�鏈夊簱鍖�
+ if (deptList) {
+ for (var i = 0; i < deptList.length; i++) {
+ deptListMap[deptList[i].id] = deptList[i];
+ }
+ }
mui.init();
try {
getDeviceList();
@@ -158,11 +166,11 @@
//鍒濆鍖栭〉闈㈡暟鎹�
function initData(data) {
+ var deptName = deptListMap[data.deptId] ? deptListMap[data.deptId].kqmc : data.deptId;
var html1 = '';
var html2 = '';
- html1 += '<h4 class="mui-ellipsis">' + data.id;
- html1 += '<span class="first">' + data.deptId + '</span></h4>';
+ html1 += '<h4 class="mui-ellipsis">' +deptName;
html1 += '<h5 class="mui-ellipsis">' + data.createTime + '</h5>';
html1 += '<p>' + data.content + '</p>';
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html b/fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html
index b151cde..f116b6e 100644
--- a/fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html
@@ -73,6 +73,7 @@
<script th:src="@{/ajax/libs/mui/js/mui.js}"></script>
<script th:inline="javascript">
var loginType = [[${loginType}]]; //鐧诲綍鏂瑰紡
+ var deptList = [[${deptList}]];
var userName = [[${userName}]];
openid = [[${openid}]]; //鐢ㄦ埛鐨刼penid
SERVE_URL = location.href.split("/wx/")[0]; //鏈嶅姟鍩熷悕
@@ -81,7 +82,15 @@
var total;
var pageCount; //鎬婚〉鐮佹暟
var warnList; //姣忛〉鏁版嵁
+ var deptListMap = {};
$(function () {
+ //鎵�鏈夊簱鍖�
+ if (deptList) {
+ for (var i = 0; i < deptList.length; i++) {
+ deptListMap[deptList[i].id] = deptList[i];
+ }
+ }
+
// 鐩戝惉椤甸潰鏄剧ず浜嬩欢锛堝井淇� H5 鐜锛�
window.addEventListener('pageshow', function() {
if (localStorage.getItem('needRefresh') === 'true') {
@@ -139,12 +148,14 @@
mui('#pullrefresh').pullRefresh().endPullupToRefresh((pageNo>=pageCount));
var table = document.body.querySelector('.mui-table-view');
for (var i = 0; i < warnList.length; i++) {
+ var deptName = deptListMap[warnList[i].deptId] ? deptListMap[warnList[i].deptId].kqmc : warnList[i].deptId;
+ console.log(deptListMap);
var li = document.createElement('li');
li.className = 'mui-table-view-cell';
var html = '';
html += '<div onclick="toWarnDetail(\'' + warnList[i].id +'\',\'' + warnList[i].companyId + '\')" class="mui-table">';
html += '<div class="mui-table-cell mui-col-xs-10"><h4 class="mui-ellipsis">' + warnList[i].id;
- html += '</span></h4><h5>鎵�灞炲簱鍖猴細<span>' + warnList[i].deptId;
+ html += '</span></h4><h5>鎵�灞炲簱鍖猴細<span>' + deptName;
html += '</span></h5><h5>璀﹀憡鏃堕棿锛�<span>' + warnList[i].createTime;
html += '</span></h5><p class="mui-h6 mui-ellipsis">璀﹀憡璇存槑锛�' +warnList[i].content;
li.innerHTML = html;
--
Gitblit v1.9.3