beetlsql3-dev
xuliangtong 2 years ago
parent 47307af0c4
commit 762f9e8329

@ -1,9 +1,12 @@
package com.ibeetl.jlw.service;
import cn.jlw.token.TokenService;
import cn.jlw.webSocket.WebSocketServer;
import com.ibeetl.admin.core.conf.CacheConfig;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.service.CoreUserService;
import com.ibeetl.jlw.entity.CoreUserWx;
import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.web.query.CoreUserWxQuery;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.common.session.WxSessionManager;
@ -27,10 +30,12 @@ public class MsgHandler extends AbstractHandler {
private CoreUserService coreUserService;
@Autowired
private CoreUserWxService coreUserWxService;
@Autowired
private StudentService studentService;
@Autowired
private TokenService tokenService;
@Override
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage,
Map<String, Object> context, WxMpService wxMpService,
@ -44,18 +49,22 @@ public class MsgHandler extends AbstractHandler {
.fromUser(wxMessage.getToUser())
.build();
}
CoreUserWxQuery coreUserWxQuery = new CoreUserWxQuery();
coreUserWxQuery.setOpenid(fromUser);
coreUserWxQuery.setUserId(Long.parseLong(userId));
CoreUserWx info = coreUserWxService.getInfo(coreUserWxQuery);
if (info != null) {
CoreUser coreUser = coreUserService.getUserById(Long.parseLong(userId));
//todo 登录
//tokenService.getToken()
//indexTokenMap.put(keyId, teacherToken);
//tokenSessionMap.put()
//platformService.setLoginUser()
return WxMpXmlOutMessage.TEXT().content("登录成功").toUser(fromUser)
//登录
if (userId.contains("login")) {
userId = userId.replace("login", "");
CoreUserWxQuery coreUserWxQuery = new CoreUserWxQuery();
coreUserWxQuery.setOpenid(fromUser);
coreUserWxQuery.setUserId(Long.parseLong(userId));
CoreUserWx info = coreUserWxService.getInfo(coreUserWxQuery);
if (info != null) {
Student student = studentService.getByUserId(info.getUserId());
String token = tokenService.getToken(student);
WebSocketServer.sendToUser("token="+token, userId);
return WxMpXmlOutMessage.TEXT().content("登录成功").toUser(fromUser)
.fromUser(wxMessage.getToUser())
.build();
}
return WxMpXmlOutMessage.TEXT().content("登录失败,未绑定账号").toUser(fromUser)
.fromUser(wxMessage.getToUser())
.build();
}

@ -1,16 +1,19 @@
package com.ibeetl.jlw.service;
import cn.hutool.core.util.NumberUtil;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.service.CoreUserService;
import com.ibeetl.jlw.dao.StatisticalAnalysisDao;
import com.ibeetl.jlw.dao.SysLogDao;
import com.ibeetl.jlw.dao.UniversitiesCollegesDao;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.enums.SignInTypeEnum;
import com.ibeetl.jlw.web.query.*;
import org.beetl.sql.core.query.LambdaQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -42,6 +45,7 @@ public class StatisticalAnalysisService {
@Autowired private ResourcesTrainingService resourcesTrainingService;
@Autowired private ResourcesInfoService resourcesInfoService;
@Autowired private ResourcesQuestionService resourcesQuestionService;
@Autowired private TeacherOpenCourseStudentSigninLogService teacherOpenCourseStudentSigninLogService;
private static final String PATTERN = "(?<=\"code\":\\[\").*?(?=\"\\],)";
Pattern r = Pattern.compile(PATTERN);
@ -78,8 +82,12 @@ public class StatisticalAnalysisService {
List<TeacherOpenCourseNotice> noticeList = teacherOpenCourseNoticeService.getValuesByQuery(teacherOpenCourseNoticeQuery);
data.put("noticeNum", noticeList.size());
//签到
data.put("signInNum", 30);
data.put("signInRate", 30);
TeacherOpenCourseStudentSigninLogQuery signQuery = new TeacherOpenCourseStudentSigninLogQuery();
signQuery.setTeacherOpenCourseId(teacherOpenCourseId);
List<TeacherOpenCourseStudentSigninLog> signinLogs = teacherOpenCourseStudentSigninLogService.getValuesByQuery(signQuery);
List<TeacherOpenCourseStudentSigninLog> collect = signinLogs.stream().filter(v -> v.getTeacherOpenCourseStudentSigninLogTag().equals(SignInTypeEnum.SIGN_IN)).collect(Collectors.toList());
data.put("signInNum", collect.size());
data.put("signInRate", NumberUtil.div(NumberUtil.toBigDecimal(collect.size()), NumberUtil.toBigDecimal(signinLogs.size()), 2).multiply(BigDecimal.valueOf(100)).intValue());
//章节练习
data.put("chapterNum", 40);
data.put("chapterTotal", 40);

@ -1,7 +1,9 @@
package com.ibeetl.jlw.web;
import cn.hutool.core.util.IdUtil;
import cn.jlw.Interceptor.SCoreUser;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.jlw.service.WeixinService;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
@ -13,6 +15,9 @@ import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
/**
*
*
@ -40,6 +45,24 @@ public class WeiXinController {
return echostr;
}
/**
*
* @return
* @throws WxErrorException
*/
@GetMapping("/api/getLoginQrCode")
public JsonResult<?> getLoginQrCode() throws WxErrorException {
WxMpQrcodeService qrcodeService = weixinService.getQrcodeService();
String snowflakeNextIdStr = IdUtil.getSnowflakeNextIdStr();
WxMpQrCodeTicket wxMpQrCodeTicket = qrcodeService.qrCodeCreateTmpTicket("login" + snowflakeNextIdStr, 2592000);
String imgUrl = qrcodeService.qrCodePictureUrl(wxMpQrCodeTicket.getTicket());
Map<String, Object> map = new HashMap<>();
map.put("imgUrl", imgUrl);
map.put("userId", snowflakeNextIdStr);
return JsonResult.success(map);
}
/**
*
* @param coreUser
@ -47,10 +70,14 @@ public class WeiXinController {
* @throws WxErrorException
*/
@GetMapping("/api/getQrCode")
public String getQrCode(@SCoreUser CoreUser coreUser) throws WxErrorException {
public JsonResult<?> getQrCode(@SCoreUser CoreUser coreUser) throws WxErrorException {
WxMpQrcodeService qrcodeService = weixinService.getQrcodeService();
WxMpQrCodeTicket wxMpQrCodeTicket = qrcodeService.qrCodeCreateTmpTicket(coreUser.getId().toString(), 2592000);
return qrcodeService.qrCodePictureUrl(wxMpQrCodeTicket.getTicket());
String imgUrl = qrcodeService.qrCodePictureUrl(wxMpQrCodeTicket.getTicket());
Map<String, Object> map = new HashMap<>();
map.put("imgUrl", imgUrl);
map.put("userId", coreUser.getId());
return JsonResult.success(map);
}

Loading…
Cancel
Save