From 1e2b22bfd8d44f222576e950eaec2fee86095087 Mon Sep 17 00:00:00 2001 From: tuyp Date: Fri, 24 Jan 2025 00:01:50 +0800 Subject: [PATCH] 春节备份 --- src/main/java/com/subsidy/controller/MemberController.java | 12 +++++++----- src/main/java/com/subsidy/dto/member/QingxuetangLoginDTO.java | 2 ++ src/main/java/com/subsidy/service/MemberService.java | 2 ++ src/main/java/com/subsidy/service/impl/DudaoServiceImpl.java | 10 ++++------ src/main/java/com/subsidy/service/impl/MemberServiceImpl.java | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/subsidy/util/SMSUtils.java | 2 +- src/main/resources/application-dev.properties | 2 +- 7 files changed, 82 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/subsidy/controller/MemberController.java b/src/main/java/com/subsidy/controller/MemberController.java index 15d6454..b11bccc 100644 --- a/src/main/java/com/subsidy/controller/MemberController.java +++ b/src/main/java/com/subsidy/controller/MemberController.java @@ -101,6 +101,13 @@ public class MemberController { return ResponseData.generateCreatedResponse(0,memberService.kexinkuLogin(kexinkuLoginDTO)); } + @PostMapping("academyLogin") + @ApiOperation("院校端免密登陆 id nickname timestamp sign") + @TimeRequired + public ResponseVO academyLogin(@RequestBody QingxuetangLoginDTO qingxuetangLoginDTO, HttpServletRequest request)throws Exception{ + return ResponseData.generateCreatedResponse(0,memberService.academyLogin(qingxuetangLoginDTO,request)); + } + @PostMapping("checkStatus") @ApiOperation("实名制验证状态 id") @TimeRequired @@ -154,11 +161,6 @@ public class MemberController { return ResponseData.generateCreatedResponse(0,memberService.socialContentVod(contentVodDTO)); } - - - - - @PostMapping("checkItem") @ApiOperation("##2024.3##每次点开题目或者视频的时候看下前置事项 memberId classId vodId:当前视频的id paperId:上一个视频的题目id type 0:视频 1:习题") public ResponseVO checkItem(@RequestBody CheckItemDTO checkItemVO){ diff --git a/src/main/java/com/subsidy/dto/member/QingxuetangLoginDTO.java b/src/main/java/com/subsidy/dto/member/QingxuetangLoginDTO.java index a0ece89..9214308 100644 --- a/src/main/java/com/subsidy/dto/member/QingxuetangLoginDTO.java +++ b/src/main/java/com/subsidy/dto/member/QingxuetangLoginDTO.java @@ -23,5 +23,7 @@ public class QingxuetangLoginDTO { private String sign; + private Long id; + } diff --git a/src/main/java/com/subsidy/service/MemberService.java b/src/main/java/com/subsidy/service/MemberService.java index c3e3838..8e24c06 100644 --- a/src/main/java/com/subsidy/service/MemberService.java +++ b/src/main/java/com/subsidy/service/MemberService.java @@ -45,6 +45,8 @@ public interface MemberService extends IService { UserRoleVO kexinkuLogin(KexinkuLoginDTO kexinkuLoginDTO); + UserRoleVO academyLogin(QingxuetangLoginDTO qingxuetangLoginDTO,HttpServletRequest request)throws Exception; + CheckStatusVO checkStatus(MemberDO memberDO); String updatePassword(MemberDO memberDO); diff --git a/src/main/java/com/subsidy/service/impl/DudaoServiceImpl.java b/src/main/java/com/subsidy/service/impl/DudaoServiceImpl.java index 7809775..f999d4a 100644 --- a/src/main/java/com/subsidy/service/impl/DudaoServiceImpl.java +++ b/src/main/java/com/subsidy/service/impl/DudaoServiceImpl.java @@ -83,7 +83,7 @@ public class DudaoServiceImpl implements DudaoService { List imageClassIds = dudaoMapper.imageClassIds("0"); Set classIds = new HashSet<>(); -// classIds.add(423L); +// classIds.add(488L); vodClassIds.stream().forEach(x->classIds.add(x)); examClassIds.stream().forEach(x->classIds.add(x)); @@ -176,8 +176,7 @@ public class DudaoServiceImpl implements DudaoService { List vodClassIds = dudaoMapper.vodClassIds("0"); // List vodClassIds = new ArrayList<>(); -// vodClassIds.add(487L); -// vodClassIds.add(489L); +// vodClassIds.add(488L); List result = new ArrayList<>(); @@ -304,12 +303,11 @@ public class DudaoServiceImpl implements DudaoService { List chapterExamBasics = new ArrayList<>(); - //找出前一天产生考试数据的班级 +// 找出前一天产生考试数据的班级 List classIds = dudaoMapper.dailyExamBasic("0"); // ListclassIds = new ArrayList<>(); -// classIds.add(487L); -// classIds.add(489L); +// classIds.add(488L); try { if (classIds.size() > 0) { diff --git a/src/main/java/com/subsidy/service/impl/MemberServiceImpl.java b/src/main/java/com/subsidy/service/impl/MemberServiceImpl.java index cce7d0b..1980568 100644 --- a/src/main/java/com/subsidy/service/impl/MemberServiceImpl.java +++ b/src/main/java/com/subsidy/service/impl/MemberServiceImpl.java @@ -1,10 +1,13 @@ package com.subsidy.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.subsidy.common.ResponseData; import com.subsidy.common.configure.QXueYouConfig; import com.subsidy.common.exception.HttpException; import com.subsidy.dto.administer.VerifyCodeDTO; @@ -14,7 +17,10 @@ import com.subsidy.model.*; import com.subsidy.service.MemberService; import com.subsidy.util.*; import com.subsidy.util.excel.ExcelUtil; +import com.subsidy.util.websocket.WebSocketUtil; import com.subsidy.vo.administer.UserRoleVO; +import com.subsidy.vo.classdict.ClassSettingsVO; +import com.subsidy.vo.classdict.SystemSettings; import com.subsidy.vo.live.MemberLivesVO; import com.subsidy.vo.live.PolyvInfoVO; import com.subsidy.vo.member.*; @@ -24,6 +30,7 @@ import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; @@ -33,10 +40,12 @@ import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; +import org.apache.ibatis.javassist.tools.web.Webserver; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.socket.TextMessage; import javax.servlet.http.HttpServletRequest; import java.time.Duration; @@ -667,6 +676,62 @@ public class MemberServiceImpl extends ServiceImpl imple } + public UserRoleVO academyLogin(QingxuetangLoginDTO qingxuetangLoginDTO, HttpServletRequest request)throws Exception { + + UserRoleVO userRoleVO = new UserRoleVO(); + +// appId:hs2na9ef6f4a52a8 +// appSecret:552a4147db2dj19b9m21acd614f8 + MemberDO memberDO = this.baseMapper.selectOne(new QueryWrapper() + .lambda() + .eq(MemberDO::getId, qingxuetangLoginDTO.getId())); + + if (memberDO == null) { + throw new HttpException(10010); + } + + /** + * 时间戳有没有过期 + */ + if (qingxuetangLoginDTO.getTimestamp() - System.currentTimeMillis() >= 5 * 60 * 1000 || System.currentTimeMillis() - qingxuetangLoginDTO.getTimestamp() >= 5 * 60 * 1000) { + throw new HttpException(14002); + } + + //鉴权逻辑 对不对 + String preAuthen = "appId=hs2na9ef6f4a52a8" + + "&id=" + qingxuetangLoginDTO.getId() + + "&nickname=" + qingxuetangLoginDTO.getNickname() + + "×tamp=" + qingxuetangLoginDTO.getTimestamp() + + "&appSecret=552a4147db2dj19b9m21acd614f8"; + + String result = SecretUtils.getMD5String(preAuthen); + if (!qingxuetangLoginDTO.getSign().equals(result)) { + throw new HttpException(14001); + } + +// Academy companyDictDO = companyMemberMappingMapper.memberCompany(memberDO.getId()); + + if ("冻结".equals(memberDO.getStatus())) { + throw new HttpException(10013); + } + + BeanUtils.copyProperties(memberDO, userRoleVO); + +// userRoleVO.setCompanyId(companyDictDO.getId()); +// userRoleVO.setSuperviseName(companyDictDO.getSuperviseName()); +// userRoleVO.setCompanyName(companyDictDO.getCompanyName()); +// userRoleVO.setLogo(companyDictDO.getLogo()); +// userRoleVO.setQxyStatus(companyDictDO.getQxyStatus()); +// List rotationImgDictDOS = rotationImgDictMapper.selectList(new QueryWrapper() +// .lambda() +// .eq(RotationImgDictDO::getCompanyId, companyDictDO.getId())); +// userRoleVO.setRotationImgDictDOS(rotationImgDictDOS); + String token = JwtUtil.generateToken(memberDO.getId(), ConstantUtils.MOBILE_TERMINATE); + userRoleVO.setToken(token); + + return userRoleVO; + } + public CheckStatusVO checkStatus(MemberDO memberDO) { CheckStatusVO checkStatusVO = new CheckStatusVO(); diff --git a/src/main/java/com/subsidy/util/SMSUtils.java b/src/main/java/com/subsidy/util/SMSUtils.java index 2ef8917..419907b 100644 --- a/src/main/java/com/subsidy/util/SMSUtils.java +++ b/src/main/java/com/subsidy/util/SMSUtils.java @@ -52,7 +52,7 @@ public class SMSUtils { //必填:短信签名-可在短信控制台中找到 request.setSignName("有课互联"); //必填:短信模板-可在短信控制台中找到 - request.setTemplateCode("SMS_190945394"); + request.setTemplateCode("SMS_229640297"); //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.setTemplateParam("{\"code\":\""+ code +"\"}"); diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index 83da02a..59fd1aa 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -12,7 +12,7 @@ spring.server.port=23457 #spring.datasource.password=dev@1553$ # 数据源配置 -spring.datasource.url=jdbc:mysql://139.224.253.21:3306/subsidy?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 +spring.datasource.url=jdbc:mysql://139.224.253.21:3306/subsidy_new?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=root -- libgit2 0.25.0