From 8f6dfbc2ca4a55a1ce0a4bb62094c4bf5c671b4d Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 27 十月 2025 10:57:10 +0800
Subject: [PATCH] 会议室问题修改
---
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java | 6 +++
server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java | 2
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 4 ++
server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java | 19 +++------
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 50 +++++++++++++++++++++++++
server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java | 10 +++++
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java | 20 ++++++++++
7 files changed, 98 insertions(+), 13 deletions(-)
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java b/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java
index 85565d8..9a1ed69 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java
@@ -120,8 +120,6 @@
}
public void createBeginWxNotice(SystemDictDataBiz systemDictDataBiz, SmsEmailMapper smsEmailMapper, Bookings bookings, String openId){
- Map<String,Object> map = new HashMap<>();
-
//鏁翠綋鍙傛暟map
Map<String, Object> paramMap = new HashMap<String, Object>();
//娑堟伅涓婚鏄剧ず鐩稿叧map
@@ -169,13 +167,12 @@
smsEmail.setCreateDate(new Date());
smsEmail.setTitle("浼氳鍗冲皢寮�濮嬫彁閱�");
smsEmail.setInfo(DateUtil.getFomartDate(DateUtil.getXMinuteAfterDate(bookings.getStartTime(),-earlyMin),"yyyy-MM-dd HH:mm:ss"));
- smsEmail.setContent(JSONObject.toJSONString(map));
+ smsEmail.setContent(JSONObject.toJSONString(paramMap));
+ smsEmailMapper.insert(smsEmail);
}
public void createEndWxNotice(SystemDictDataBiz systemDictDataBiz, SmsEmailMapper smsEmailMapper, Bookings bookings, String openId){
- Map<String,Object> map = new HashMap<>();
-
//鏁翠綋鍙傛暟map
Map<String, Object> paramMap = new HashMap<String, Object>();
//娑堟伅涓婚鏄剧ず鐩稿叧map
@@ -203,12 +200,6 @@
paramMap.put("touser", openId);
paramMap.put("data", dataMap);
- smsEmailMapper.delete(new QueryWrapper<SmsEmail>().lambda()
- .eq(SmsEmail::getObjType,Constants.FIVE.toString())
- .eq(SmsEmail::getStatus,Constants.TWO)
- .eq(SmsEmail::getType,Constants.TWO)
- .eq(SmsEmail::getObjId,bookings.getId())
- );
SmsEmail smsEmail = new SmsEmail();
smsEmail.setPhone(openId);
@@ -222,7 +213,11 @@
smsEmail.setTitle("浼氳鍗冲皢寮�濮嬫彁閱�");
Integer endMin= Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.OVER_NOTICE_WX).getCode());
smsEmail.setInfo(DateUtil.getFomartDate(DateUtil.getXMinuteAfterDate(bookings.getEndTime(),-endMin),"yyyy-MM-dd HH:mm:ss"));
- smsEmail.setContent(JSONObject.toJSONString(map));
+ smsEmail.setContent(JSONObject.toJSONString(paramMap));
+
+ smsEmailMapper.insert(smsEmail);
+
+
}
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
index 64f3f6e..31b9644 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -165,6 +165,12 @@
//鍒涘缓浼氳鍗冲皢鍒版湡涓庝細璁嵆灏嗙粨鏉熺殑閫氱煡
if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){
WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ smsEmailMapper.delete(new QueryWrapper<SmsEmail>().lambda()
+ .eq(SmsEmail::getObjType,Constants.FIVE.toString())
+ .eq(SmsEmail::getStatus,Constants.TWO)
+ .eq(SmsEmail::getType,Constants.TWO)
+ .eq(SmsEmail::getObjId,bookings.getId())
+ );
wxPlatNotice.createBeginWxNotice(systemDictDataBiz,smsEmailMapper,bookings,systemUser.getOpenid());
wxPlatNotice.createEndWxNotice(systemDictDataBiz,smsEmailMapper,bookings,systemUser.getOpenid());
}
diff --git a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
index 955b70d..aebf0d1 100644
--- a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
+++ b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
@@ -31,7 +31,7 @@
public Integer create(SystemDictData systemDictData) {
SystemDictData queryDto = new SystemDictData();
queryDto.setDictId(systemDictData.getDictId());
- queryDto.setCode(systemDictData.getCode());
+ queryDto.setLabel(systemDictData.getLabel());
queryDto.setDeleted(Boolean.FALSE);
SystemDictData dictData = systemDictDataService.findOne(queryDto);
if (dictData != null) {
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index ffa8898..70b7b71 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -547,6 +547,10 @@
+ public static final String PROHIBIT_TIME = "PROHIBIT_TIME";
+ public static final String ERR_TIMES = "ERR_TIMES";
+ public static final String PROHIBIT_LOGIN_OPEN = "PROHIBIT_LOGIN_OPEN";
+
public interface RedisKeys {
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
index 7f2fc50..d989500 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -183,6 +183,26 @@
}
}
+
+ /**
+ * 鑾峰彇2涓椂闂翠箣闂寸殑鍒嗛挓鏁�
+ * @param fromDate
+ * @param toDate
+ * @return
+ */
+ public static long getBetweenMin(Date fromDate, Date toDate) {
+ long m_intervalday = 0;// 鍒濆鍖栨椂闂撮棿闅旂殑鍊间负0
+ // 浣跨敤鐨勬椂闂存牸寮忎负yyyy-MM-dd
+ try {
+ m_intervalday = toDate.getTime() - fromDate.getTime();// 璁$畻鎵�寰椾负寰鏁�
+ m_intervalday = m_intervalday / 1000 / 60;// 璁$畻鎵�寰楃殑鍒嗛挓
+
+ return m_intervalday;
+ } catch (Exception e) {
+ return Integer.MIN_VALUE;
+ }
+ }
+
/**
* @author Pablo Descrption:取锟矫碉拷前锟斤拷锟斤拷getgetg get Date format
* Example锛�2008.03.15
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java b/server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
index 48f88b9..e04a886 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
@@ -111,6 +111,16 @@
@ApiModelProperty(value = "鏄惁宸插垹闄�", hidden = true)
private Boolean deleted;
+ @ApiModelProperty(value = "绂佹鐧诲綍杩囨湡鏃堕棿", example = "1")
+ private Date prohibitTime;
+
+ @ApiModelProperty(value = "鏄惁绂佹鐧诲綍锛�0=鍚︼紱1=鏄紱", example = "1")
+ private Integer prohibitStatus;
+
+ @ApiModelProperty(value = "瀵嗙爜閿欒娆℃暟", example = "1")
+ private Integer errTimes;
+
+
@ApiModelProperty(value = "0 鍚敤 1 绂佺敤")
private Integer status;
@ApiModelProperty(value = "浼佷笟缂栫爜锛堝叧鑱攃ompany锛�")
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index 722ef3e..b47b93f 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -5,6 +5,7 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.jwt.JwtTokenUtil;
import com.doumee.core.exception.BusinessException;
+import com.doumee.core.utils.DateUtil;
import com.doumee.dao.system.dto.LoginCabinetDTO;
import com.doumee.dao.system.dto.LoginH5DTO;
import com.doumee.service.business.third.TmsService;
@@ -291,6 +292,55 @@
return userInfo;
}
+
+ public void checkPassword(SystemUser user,String pwd){
+ String pppp = Utils.Secure.encryptPassword(new String(pwd), user.getSalt());
+ // 姣旇緝瀵嗙爜
+ if( !StringUtils.equals(pppp, user.getPassword())){
+ //鏄惁寮�鍚瘑鐮侀敊璇姝㈢櫥褰曪細0=鍚︼紱1=鏄紱
+ SystemDictData prohibitLoginData = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROHIBIT_LOGIN_OPEN);
+ if(Objects.nonNull(prohibitLoginData)&&"1".equals(prohibitLoginData.getCode())){
+ SystemDictData prohibitErrTimesData = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ERR_TIMES);
+ if(Objects.nonNull(prohibitErrTimesData)){
+
+ }
+ throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
+ }else{
+ throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
+ }
+ }
+
+ }
+
+ public void updErrTimes(SystemUser systemUser){
+ //鏈�澶ч敊璇鏁� 杩涜鐧诲綍闄愬埗
+ SystemDictData prohibitErrTimesData = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ERR_TIMES);
+ //鏄惁寮�鍚瘑鐮侀敊璇姝㈢櫥褰曪細0=鍚︼紱1=鏄紱
+ SystemDictData prohibitLoginData = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROHIBIT_LOGIN_OPEN);
+ //瀵嗙爜閿欒绂佹鐧诲綍闄愬埗鏃堕棿锛堝垎閽燂級
+ SystemDictData prohibitTimeData = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROHIBIT_TIME);
+ if(Objects.isNull(prohibitTimeData)||Objects.isNull(prohibitLoginData)||Objects.isNull(prohibitTimeData)){
+ return;
+ }
+ systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
+ .setSql( " PROHIBIT_STATUS = CASE WHEN "+prohibitLoginData+" = 1 and ( IFNULL(ERR_TIMES,0) + 1 ) > "+prohibitErrTimesData.getCode()+" then 1 else 0 end ")
+ .setSql(" PROHIBIT_TIME = CASE WHEN PROHIBIT_STATUS = 1 then DATE_ADD(NOW(), INTERVAL "+prohibitTimeData.getCode()+" MINUTE) else null end , ")
+ .setSql(" ERR_TIMES = (ifnull(ERR_TIMES,0) + 1) ")
+ .eq(SystemUser::getId,systemUser.getId())
+ );
+ }
+
+ public void prohibitLogin(SystemUser systemUser){
+ if(Constants.equalsInteger(systemUser.getProhibitStatus(),Constants.ZERO)){
+ Long betweenMin = DateUtil.getBetweenMin(systemUser.getProhibitTime(),new Date());
+ if(betweenMin <= 0L){
+ betweenMin = 0L;
+ }
+ throw new BusinessException( ResponseStatus.NOT_ALLOWED.getCode(),"瀵嗙爜閿欒娆℃暟杩囧锛岃鍚�"+ betweenMin +"鍒嗛挓鍚庨噸璇�");
+ }
+ }
+
+
@Override
public LoginUserInfo loginByPasswordForPda(LoginDTO dto, ServerHttpRequest request) {
SystemLoginLog loginLog =getInitLoginlog(dto.getUsername(),request);
--
Gitblit v1.9.3