大赛系统授权

用户登陆接口
学校开通权限接口
智云平台开通学校班级、学生、老师账号同步
sale
tianea 3 years ago
parent ce2cd85e24
commit 6ac99e9dec

@ -8,6 +8,13 @@ export function login(data) {
})
}
export function info(){
return request({
url: baseUrl+ "login/info",
method: "get"
})
}
export function getInfo(token) {
return request({
url: '/auth/user/info',

@ -6,6 +6,8 @@ Vue.use(Router)
/* Layout */
import Layout from '@/layout'
import Auth from '@/components/oauth'
/**
* Note: sub-menu only appear when route children.length >= 1
* Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
@ -42,6 +44,11 @@ export const constantRoutes = [
component: () => import('@/views/404'),
hidden: true
},
{
path: '/index',
component: Auth,
hidden: true
},
{
path: '/',
component: Layout,

@ -33,7 +33,6 @@ const actions = {
const { username, password } = userInfo
return new Promise((resolve, reject) => {
login({ username: username.trim(), password: password }).then(response => {
console.log("login5")
const { data } = response
commit('SET_TOKEN', data.token)
setToken(data.token)

@ -41,7 +41,7 @@ service.interceptors.response.use(
* You can also judge the status by HTTP Status Code
*/
response => {
console.log(response)
const res = response.data
// if the custom code is not 200, it is judged as an error.
if (res.code !== 200) {

@ -54,9 +54,15 @@
<script>
import { validUsername } from '@/utils/validate'
import * as authApi from "@/utils/auth.js"
export default {
name: 'Login',
created(){
if(this.$route.query.token){
authApi.setToken(this.$route.query.token)
location.href="/"
}
},
data() {
const validateUsername = (rule, value, callback) => {
if (!validUsername(value)) {
@ -110,7 +116,7 @@ export default {
this.$refs.loginForm.validate(valid => {
if (valid) {
this.loading = true
console.log("login1")
this.$store.dispatch('user/login', this.loginForm).then(() => {
this.$router.push({ path: this.redirect || '/' })
this.loading = false
@ -118,7 +124,7 @@ export default {
this.loading = false
})
} else {
console.log("login3")
return false
}
})

@ -11,6 +11,13 @@ export function login(data){
})
}
export function info(){
return request({
url: baseUrl+ "login/info",
method: "get"
})
}
export function getMemberInfo(compId,stageId){
return request({
url: authUrl+"/get",

@ -191,9 +191,6 @@ export default {
mounted(){
this.listGoing()
this.listDone()
},
created(){
},
methods:{
goCompetition(id){

@ -1,6 +1,7 @@
import Vue from 'vue'
import Router from 'vue-router'
import Index from '@/components/index'
import Oauth from '@/components/oauth'
import CompetitionIndex from '@/views/competition/index'
import Login from '@/views/login/index'
import Exam from '@/views/system/exam'
@ -21,6 +22,11 @@ let router = new Router({
name: '首页',
component: Index
},
{
path: '/index',
name: '登陆中...',
component: Oauth
},
{
path: '/competition/',
name: '竞赛首页',

@ -0,0 +1,60 @@
package com.tz.platform.common.core.api;
import com.tz.platform.common.core.tools.HttpUtil;
import java.util.Map;
public class ZhiYunApi {
String baseUrl = "http://139.159.242.249:8890";
Map<String,String> headers = null;
public ZhiYunApi(){
}
public String findAllGrade(Integer schoolId){
String content = HttpUtil.get(baseUrl+"/api/classes/findAllBySchoolId?schoolId="+schoolId,headers);
return content;
}
public String findAllSchool(){
String content = HttpUtil.get(baseUrl+"/api/school/findAll",headers);
return content;
}
public String findAllStudent(Integer schoolId){
String content = HttpUtil.get(baseUrl+"/api/student/findAllBySchoolId?schoolId="+schoolId,headers);
return content;
}
public String findTeacherBySchoolId(Integer schoolId){
String content = HttpUtil.get(baseUrl+"/api/teacher/findAllBySchoolId?schoolId="+schoolId,headers);
return content;
}
public String findClassesBySchoolId(Integer schoolId){
String content = HttpUtil.get(baseUrl+"/api/classes/findAllBySchoolId?schoolId="+schoolId,headers);
return content;
}
public String findAllCource(){
String content = HttpUtil.get(baseUrl+"/api/course/findAll",headers);
return content;
}
public String findCourceBySchool(Integer schoolId){
String content = HttpUtil.get(baseUrl+"/api/course/findAllBySchoolId?schoolId="+schoolId,headers);
return content;
}
public String findAllQuestion(){
String content = HttpUtil.get(baseUrl+"/api/question/findAll",headers);
return content;
}
public String findQuestionByCourseId(Integer courseId,Integer pageIndex,Integer pageSize){
String content = HttpUtil.get(baseUrl+"/api/question/findByCourseId?courseId="+courseId+"&pageSize="+pageSize+"&pageIndex="+pageIndex,headers);
return content;
}
}

@ -2,7 +2,7 @@ FROM daocloud.io/library/java:8-jre-alpine
MAINTAINER tianze
ARG JAVA_OPTS="-Xmn256M -Xmx2048M"
ENV JAVA_OPTS=$JAVA_OPTS
ARG RUN_ARGS="--spring.profiles.active=pro --spring.cloud.nacos.server-addr=172.19.255.105:8848"
ARG RUN_ARGS="--spring.profiles.active=sale --spring.cloud.nacos.server-addr=172.19.255.105:8848"
ENV RUN_ARGS=$RUN_ARGS
ADD target/tianze-competition.jar /competition-service.jar
ENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar /competition-service.jar $RUN_ARGS"]

@ -15,6 +15,7 @@ import java.util.List;
@Entity
@TypeDef(name = "json", typeClass = JsonStringType.class)
@Data
@Table(name = "competition_sale")
public class Competition {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)

@ -9,7 +9,7 @@ import java.util.List;
@Data
@Entity
@Table(indexes = {@Index(columnList = "competitionId")})
@Table(name = "competition_group_sale",indexes = {@Index(columnList = "competitionId")})
public class CompetitionGroup {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)

@ -7,7 +7,7 @@ import java.util.Date;
@Entity
@Data
@Table(indexes={@Index(columnList = "competitionId,stageId,teamId"),@Index(columnList = "userId"),@Index(columnList = "studentNo"),@Index(columnList = "name"),@Index(columnList = "school"),@Index(columnList = "accountId")})
@Table(name="competition_member_sale",indexes={@Index(columnList = "competitionId,stageId,teamId"),@Index(columnList = "userId"),@Index(columnList = "studentNo"),@Index(columnList = "name"),@Index(columnList = "school"),@Index(columnList = "accountId")})
public class CompetitionMember {
@Id

@ -12,7 +12,7 @@ import java.util.List;
@Data
@Entity
@Table(indexes = {@Index(columnList = "competitionId")})
@Table(name="competition_task_sale",indexes = {@Index(columnList = "competitionId")})
@TypeDef(name = "json", typeClass = JsonStringType.class)
public class CompetitionTask {
@Id

@ -6,7 +6,7 @@ import javax.persistence.*;
@Data
@Entity
@Table(indexes = {@Index(columnList = "teamName"),@Index(columnList = "skey")})
@Table(name="competition_team_sale",indexes = {@Index(columnList = "teamName"),@Index(columnList = "skey")})
public class CompetitionTeam {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)

@ -12,7 +12,7 @@ import java.util.List;
@Data
@Entity
@TypeDef(name = "json", typeClass = JsonStringType.class)
@Table(indexes = {@Index(columnList = "userId,competitionId,stageId")})
@Table(name = "exam_answer_sale",indexes = {@Index(columnList = "userId,competitionId,stageId")})
public class ExamAnswer {
/**
* ID_ID_ID_ID_ID

@ -11,7 +11,7 @@ import java.util.List;
@Data
@Entity
@Table(indexes={ @Index(columnList = "userNo,compId,stageId")})
@Table(name = "exam_paper_sale",indexes={ @Index(columnList = "userNo,compId,stageId")})
@TypeDef(name = "json", typeClass = JsonStringType.class)
public class ExamPaper {
@Id

@ -12,6 +12,7 @@ import java.util.List;
@Data
@Entity
@Table(name = "exam_question_sale")
@TypeDef(name = "json", typeClass = JsonStringType.class)
public class ExamQuestion {
@Id

@ -5,10 +5,12 @@ import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
@Data
@Entity
@Table(name = "market_note_sale")
public class MarketNote {
@Id
private String id;

@ -10,7 +10,7 @@ import java.util.Date;
@Entity
@Data
@Table(indexes = {@Index(columnList = "shortDate")})
@Table(name = "member_log_sale",indexes = {@Index(columnList = "shortDate")})
public class MemberLog {
@Id
private String id;

@ -8,7 +8,7 @@ import java.util.Date;
@Data
@Entity
@Table(indexes = {@Index(columnList = "compId,stageId,updateTime"),@Index(columnList = "userNo"),@Index(columnList = "accountId")})
@Table(name = "ranking_sale",indexes = {@Index(columnList = "compId,stageId,updateTime"),@Index(columnList = "userNo"),@Index(columnList = "accountId")})
public class Ranking {
@Id
private String id;

@ -5,10 +5,12 @@ import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
@Data
@Entity
@Table(name = "report_info_sale")
public class ReportInfo {
@Id
private String accountId;

@ -4,9 +4,11 @@ import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Data
@Entity
@Table(name = "stock_sale")
public class Stock {
@Id
private String symbol;

@ -9,7 +9,7 @@ import javax.persistence.Table;
@Data
@Entity
@Table(indexes = {@Index(columnList = "accountId")})
@Table(name = "ten_position_sale",indexes = {@Index(columnList = "accountId")})
public class TenPosition {
@Id
private String id;

@ -242,8 +242,8 @@ public class JueJinApi {
String start = "2022-04-01";
String end = "2022-05-05";
// AccountInfo info = api.createAccount("测试账号",1000000L,1);
// System.out.println(info.getAccount_id());
AccountInfo info = api.createAccount("测试账号",1000000L,1);
System.out.println(info.getAccount_id());
// api.deleteAccount("4811913f-9dba-11ec-89b3-00163e0e6ad0");
// api.getCashInfo("d91c3a8f-cba8-11ec-a483-00163e0e6ad0");
// api.test();
@ -253,7 +253,7 @@ public class JueJinApi {
// String content = api.createReport2(accountId,"report"+System.currentTimeMillis());
// api.getTenPosition("9d7f4856-cc11-11ec-9cd0-00163e0e6ad0");
// api.getCashInfo("cbee8129-cae7-11ec-a4f7-00163e0e6ad0");
api.cashInOut("481c4bbd-cc20-11ec-b818-00163e0e6ad0");
// api.cashInOut("481c4bbd-cc20-11ec-b818-00163e0e6ad0");
// String content = api.getReport("57509895");
// System.out.println(content);
// String reportDetail = api.reportSumary("55122910");

@ -1,5 +1,5 @@
server:
port: 50012
port: 60012
error:
whitelabel:
enabled: false
@ -11,7 +11,7 @@ spring:
application:
name: tz-competition-service
profiles:
active: dev
active: sale
cloud:
nacos:
server-addr: 127.0.0.1:8848

@ -1,5 +1,5 @@
build.artifact=competition
build.group=com.tz
build.name=competition
build.time=2022-06-16T05\:40\:57.634Z
build.time=2022-08-25T14\:09\:03.001Z
build.version=1.0-SNAPSHOT

@ -5,9 +5,9 @@ services:
context: ./upload/upload-service
args:
JAVA_OPTS: '-Xmn256M -Xmx1024M'
RUN_ARGS: '--spring.profiles.active=pro --spring.cloud.nacos.server-addr=172.19.255.105:8848'
image: alient/tianze:upload
container_name: upload
RUN_ARGS: '--spring.profiles.active=sale --spring.cloud.nacos.server-addr=172.19.255.105:8848'
image: alient/tianze:upload-sale
container_name: upload-sale
restart: always
volumes:
- /tmp/logs/upload:/root/tianze/logs/upload
@ -15,15 +15,15 @@ services:
networks:
- tianze
ports:
- "50015:50015"
- "60015:60015"
tianze-user:
build:
context: ./user/user-service
args:
JAVA_OPTS: '-Xmn256M -Xmx1024M'
RUN_ARGS: '--spring.profiles.active=pro --spring.cloud.nacos.server-addr=172.19.255.105:8848'
image: alient/tianze:user
container_name: user
RUN_ARGS: '--spring.profiles.active=sale --spring.cloud.nacos.server-addr=172.19.255.105:8848'
image: alient/tianze:user-sale
container_name: user-sale
restart: always
volumes:
- /tmp/logs/user:/root/tianze/logs/user
@ -31,67 +31,67 @@ services:
networks:
- tianze
ports:
- "50011:50011"
- "60011:60011"
tianze-system:
build:
context: ./system/system-service
args:
JAVA_OPTS: '-Xmn256M -Xmx1024M'
RUN_ARGS: '--spring.profiles.active=pro --spring.cloud.nacos.server-addr=172.19.255.105:8848'
image: alient/tianze:system
container_name: system
RUN_ARGS: '--spring.profiles.active=sale --spring.cloud.nacos.server-addr=172.19.255.105:8848'
image: alient/tianze:system-sale
container_name: system-sale
restart: always
volumes:
- /tmp/logs/system:/root/tianze/logs/system
networks:
- tianze
ports:
- "50014:50014"
- "60014:60014"
tianze-gateway:
build:
context: ./gateway
args:
JAVA_OPTS: '-Xmn256M -Xmx1024M'
RUN_ARGS: '--spring.profiles.active=pro --spring.cloud.nacos.server-addr=172.19.255.105:8848'
image: alient/tianze:gateway
container_name: gateway
RUN_ARGS: '--spring.profiles.active=sale --spring.cloud.nacos.server-addr=172.19.255.105:8848'
image: alient/tianze:gateway-sale
container_name: gateway-sale
restart: always
volumes:
- /tmp/logs/gateway:/root/tianze/logs/gateway
networks:
- tianze
ports:
- "50010:50010"
- "60010:60010"
tianze-exam:
build:
context: ./exam/exam-service
args:
JAVA_OPTS: '-Xmn256M -Xmx1024M'
RUN_ARGS: '--spring.profiles.active=pro --spring.cloud.nacos.server-addr=172.19.255.105:8848'
image: alient/tianze:exam
container_name: exam
RUN_ARGS: '--spring.profiles.active=sale --spring.cloud.nacos.server-addr=172.19.255.105:8848'
image: alient/tianze:exam-sale
container_name: exam-sale
restart: always
volumes:
- /tmp/logs/exam:/root/tianze/logs/exam
networks:
- tianze
ports:
- "50013:50013"
- "60013:60013"
tianze-competition:
build:
context: ./competition/competition-service
args:
JAVA_OPTS: '-Xmn256M -Xmx2048M'
RUN_ARGS: '--spring.profiles.active=pro --spring.cloud.nacos.server-addr=172.19.255.105:8848'
image: alient/tianze:competition
container_name: competition
RUN_ARGS: '--spring.profiles.active=sale --spring.cloud.nacos.server-addr=172.19.255.105:8848'
image: alient/tianze:competition-sale
container_name: competition-sale
restart: always
volumes:
- /tmp/logs/competition:/root/tianze/logs/competition
networks:
- tianze
ports:
- "50012:50012"
- "60012:60012"
networks:
tianze:
driver: bridge

@ -2,7 +2,7 @@ FROM daocloud.io/library/java:8-jre-alpine
MAINTAINER tianze
ARG JAVA_OPTS="-Xmx128M"
ENV JAVA_OPTS=$JAVA_OPTS
ARG RUN_ARGS="--spring.profiles.active=pro --spring.cloud.nacos.server-addr=172.19.255.105:8848"
ARG RUN_ARGS="--spring.profiles.active=sale --spring.cloud.nacos.server-addr=172.19.255.105:8848"
ENV RUN_ARGS=$RUN_ARGS
ADD target/tianze-exam.jar /exam-service.jar
ENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar /exam-service.jar $RUN_ARGS"]

@ -8,7 +8,7 @@ import java.util.Date;
@Entity
@Data
@Table(indexes = {@Index(columnList = "name")})
@Table(name = "course_sale",indexes = {@Index(columnList = "name")})
public class Course implements Serializable {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)

@ -6,7 +6,7 @@ import javax.persistence.*;
@Entity
@Data
@Table(indexes = {@Index(columnList = "name")})
@Table(name = "couse_cat_sale",indexes = {@Index(columnList = "name")})
public class CourseCat {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)

@ -2,13 +2,11 @@ package com.tz.platform.entity;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.*;
@Entity
@Data
@Table(name = "course_sale")
public class CourseTag {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)

@ -13,7 +13,7 @@ import java.util.Date;
import java.util.List;
@Entity
@Table(name = "question",indexes = {@Index(columnList = "stem"),@Index(columnList = "type"),@Index(columnList = "courseId,questionType,levelId"),@Index(columnList = "userNo")})
@Table(name = "question_sale",indexes = {@Index(columnList = "stem"),@Index(columnList = "type"),@Index(columnList = "courseId,questionType,levelId"),@Index(columnList = "userNo")})
@Data
@TypeDef(name = "json", typeClass = JsonStringType.class)
public class Question {

@ -1,10 +1,10 @@
server:
port: 50013
port: 60013
spring:
application:
name: tz-exam-service
profiles:
active: dev
active: sale
cloud:
nacos:
server-addr: 127.0.0.1:8848

@ -2,7 +2,7 @@ FROM daocloud.io/library/java:8-jre-alpine
MAINTAINER tianze
ARG JAVA_OPTS="-Xmn256M -Xmx1024M"
ENV JAVA_OPTS=$JAVA_OPTS
ARG RUN_ARGS="--spring.profiles.active=pro --spring.cloud.nacos.server-addr=172.19.255.105:8848"
ARG RUN_ARGS="--spring.profiles.active=sale --spring.cloud.nacos.server-addr=172.19.255.105:8848"
ENV RUN_ARGS=$RUN_ARGS
ADD target/tianze-gateway.jar /gateway-service.jar
ENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar /gateway-service.jar $RUN_ARGS"]

@ -12,6 +12,6 @@ spring:
file-extension: yaml
namespace: ${spring.profiles.active}
profiles:
active: dev
active: sale
server:
port: 50010
port: 60010

@ -1,5 +1,5 @@
build.artifact=gateway
build.group=com.tz
build.name=gateway
build.time=2022-06-16T05\:40\:57.634Z
build.time=2022-08-25T14\:09\:03.001Z
build.version=1.0-SNAPSHOT

@ -12,6 +12,6 @@ spring:
file-extension: yaml
namespace: ${spring.profiles.active}
profiles:
active: dev
active: sale
server:
port: 50010
port: 60010

@ -1,5 +1,5 @@
#Generated by Maven
#Thu Jun 16 13:41:15 CST 2022
#Thu Aug 25 22:09:13 CST 2022
version=1.0-SNAPSHOT
groupId=com.tz
artifactId=gateway

@ -0,0 +1,20 @@
package com.tz.platform.feign;
import com.tz.platform.feign.vo.GradeVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@FeignClient(value = "tz-system-service")
public interface IFeignGrade {
@RequestMapping(value = "/feign/system/grade/getByOuterId")
GradeVo getByOuterId(@RequestBody Integer outerId);
@RequestMapping(value = "/feign/system/grade/save")
GradeVo saveGrade(@RequestBody GradeVo vo);
@RequestMapping(value = "/feign/system/grade/saveAll")
void saveAllGrade(@RequestBody List<GradeVo> gradeVoList);
}

@ -0,0 +1,18 @@
package com.tz.platform.feign;
import com.tz.platform.feign.vo.SchoolVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@FeignClient(value = "tz-system-service")
public interface IFeignSchool {
@RequestMapping(value = "/feign/system/school/getByOuterId")
SchoolVo getByOuterId(@RequestBody Integer outerId);
@RequestMapping(value = "/feign/system/school/list")
List<SchoolVo> list();
}

@ -2,6 +2,7 @@ package com.tz.platform.feign;
import com.tz.platform.feign.vo.StudentLevelVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@ -10,4 +11,7 @@ import java.util.List;
public interface IFeignStudentLevel {
@RequestMapping(value = "/feign/system/level/list")
List<StudentLevelVo> list();
@RequestMapping(value = "/feign/system/level/getByOuterId")
StudentLevelVo getByOuterId(@RequestBody Integer outerId);
}

@ -0,0 +1,15 @@
package com.tz.platform.feign.vo;
import lombok.Data;
import java.util.Date;
@Data
public class GradeVo {
private String classNo;
private String name;
private Date createTime;
private Long userNo;
private Integer schoolId;
private Integer outerId;
}

@ -0,0 +1,17 @@
package com.tz.platform.feign.vo;
import lombok.Data;
import java.util.Date;
@Data
public class SchoolVo {
private Integer id;
private String name;
private Integer provinceId;
private String province;
private Integer levelId;
private String level;
private Date createTime;
private Integer outerId;
}

@ -8,4 +8,5 @@ import java.io.Serializable;
public class StudentLevelVo implements Serializable {
private Integer id;
private String name;
private Integer outerId;
}

@ -4,10 +4,12 @@ import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
@Entity
@Data
@Table(name = "grade_sale")
public class Grade {
@Id
private String classNo;
@ -15,4 +17,5 @@ public class Grade {
private Date createTime;
private Long userNo;
private Integer schoolId;
private Integer outerId;
}

@ -2,13 +2,11 @@ package com.tz.platform.entity;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.*;
@Entity
@Data
@Table(name = "menu_sale")
public class Menu {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)

@ -2,10 +2,7 @@ package com.tz.platform.entity;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.*;
@Entity
@Data

@ -20,4 +20,5 @@ public class School {
private Integer levelId;
private String level;
private Date createTime;
private Integer outerId;
}

@ -14,7 +14,6 @@ public class StudentLevel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private Integer outerId;
}

@ -10,4 +10,5 @@ import java.util.List;
public interface GradeDao extends JpaRepository<Grade,String> {
Grade getByClassNo(String classNo);
List<Grade> findByName(String name);
Grade getByOuterId(Integer outerId);
}

@ -13,4 +13,5 @@ public interface SchoolDao extends JpaRepository<School,Integer> {
School getById(Integer id);
List<School> findByName(String name);
Page<School> findById(Integer id, Pageable pageable);
School getByOuterId(Integer outerId);
}

@ -6,4 +6,5 @@ import org.springframework.stereotype.Repository;
@Repository
public interface StudentLevelDao extends JpaRepository<StudentLevel,Integer> {
StudentLevel getByOuterId(Integer outerId);
}

@ -1,14 +1,16 @@
package com.tz.platform.system.api;
import com.tz.platform.common.core.api.ZhiYunApi;
import com.tz.platform.common.core.base.Result;
import com.tz.platform.system.pc.biz.PCProvinceBiz;
import com.tz.platform.system.pc.biz.PCStudentLevelBiz;
import com.tz.platform.system.pc.biz.SchoolBiz;
import com.tz.platform.system.pc.dto.ListStudentLevelDTO;
import com.tz.platform.system.pc.dto.ProvinceDTO;
import com.tz.platform.system.pc.dto.SchoolDTO;
import com.tz.platform.system.pc.vo.SchoolVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/system")
@ -20,6 +22,9 @@ public class SystemController {
@Autowired
private PCStudentLevelBiz pcStudentLevelBiz;
@Autowired
private SchoolBiz schoolBiz;
@GetMapping(value = "province")
public Result<ProvinceDTO> provinceList(){
@ -33,4 +38,8 @@ public class SystemController {
return pcStudentLevelBiz.list();
}
@RequestMapping(value="school",method = RequestMethod.GET)
public Result<SchoolDTO> addSchool(@RequestParam("id") Integer id,@RequestParam("name") String name,@RequestParam("level") Integer level,@RequestParam("province") String province){
return schoolBiz.save(id,name,level);
}
}

@ -0,0 +1,45 @@
package com.tz.platform.system.feign;
import cn.hutool.core.lang.UUID;
import com.tz.platform.common.core.tools.BeanUtils;
import com.tz.platform.entity.Grade;
import com.tz.platform.feign.IFeignGrade;
import com.tz.platform.feign.vo.GradeVo;
import com.tz.platform.repository.GradeDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class FeigGradeController implements IFeignGrade {
@Autowired
private GradeDao gradeDao;
@Override
public GradeVo getByOuterId(Integer outerId) {
Grade grade = gradeDao.getByOuterId(outerId);
return BeanUtils.copyProperties(grade,GradeVo.class);
}
@Override
public GradeVo saveGrade(GradeVo vo) {
Grade grade = BeanUtils.copyProperties(vo,Grade.class);
grade = gradeDao.save(grade);
return BeanUtils.copyProperties(grade,GradeVo.class);
}
@Override
public void saveAllGrade(List<GradeVo> gradeVoList) {
List<Grade> gradeList = BeanUtils.copyProperties(gradeVoList,Grade.class);
gradeList.forEach(grade -> {
if(StringUtils.isEmpty(grade.getClassNo())){
grade.setClassNo(UUID.fastUUID().toString(true));
}
});
gradeDao.saveAll(gradeList);
}
}

@ -0,0 +1,32 @@
package com.tz.platform.system.feign;
import com.tz.platform.common.core.tools.BeanUtils;
import com.tz.platform.entity.School;
import com.tz.platform.feign.IFeignSchool;
import com.tz.platform.feign.vo.SchoolVo;
import com.tz.platform.repository.SchoolDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class FeignSchoolController implements IFeignSchool {
@Autowired
private SchoolDao schoolDao ;
@Override
public SchoolVo getByOuterId(Integer outerId) {
School school = schoolDao.getByOuterId(outerId);
SchoolVo schoolVo = BeanUtils.copyProperties(school,SchoolVo.class);
return schoolVo;
}
@Override
public List<SchoolVo> list() {
List<School> schoolList = schoolDao.findAll();
List<SchoolVo> vo = BeanUtils.copyProperties(schoolList,SchoolVo.class);
return vo;
}
}

@ -18,4 +18,9 @@ public class FeignStudentLevelController implements IFeignStudentLevel {
public List<StudentLevelVo> list() {
return feignStudentLevelBiz.list();
}
@Override
public StudentLevelVo getByOuterId(Integer outerId) {
return feignStudentLevelBiz.getByOuterId(outerId);
}
}

@ -19,4 +19,9 @@ public class FeignStudentLevelBiz {
List<StudentLevelVo> rs = BeanUtils.copyProperties(studentLevels,StudentLevelVo.class);
return rs;
}
public StudentLevelVo getByOuterId(Integer outerId){
StudentLevel studentLevel = studentLevelDao.getByOuterId(outerId);
StudentLevelVo vo = BeanUtils.copyProperties(studentLevel,StudentLevelVo.class);
return vo;
}
}

@ -54,6 +54,7 @@ public class GradeBiz {
grade.setCreateTime(new Date());
grade.setUserNo(vo.getUserNo());
grade.setSchoolId(userVo.getSchoolId());
grade.setOuterId(0);
}
if(grade == null){
return Result.error("班级名称不能为空");

@ -1,12 +1,15 @@
package com.tz.platform.system.pc.biz;
import com.tz.platform.common.core.api.ZhiYunApi;
import com.tz.platform.common.core.base.Result;
import com.tz.platform.common.core.enmus.UserTypeEnum;
import com.tz.platform.common.core.tools.BeanUtils;
import com.tz.platform.entity.Grade;
import com.tz.platform.entity.School;
import com.tz.platform.feign.IFeignStudentLevel;
import com.tz.platform.feign.user.IFeignUser;
import com.tz.platform.feign.user.vo.UserVo;
import com.tz.platform.feign.vo.StudentLevelVo;
import com.tz.platform.repository.SchoolDao;
import com.tz.platform.system.pc.dto.ListGradeDTO;
import com.tz.platform.system.pc.dto.ListSchoolDTO;
@ -28,6 +31,11 @@ public class SchoolBiz {
@Autowired
private IFeignUser feignUser;
private ZhiYunApi zhiYunApi = new ZhiYunApi();
@Autowired
private IFeignStudentLevel feignStudentLevel;
public Result<SchoolDTO> save(SchoolVO vo){
UserVo user = feignUser.getByUserNo(vo.getUserNo());
@ -63,6 +71,42 @@ public class SchoolBiz {
return Result.success(dto);
}
public Result<SchoolDTO> save(Integer outerId,String name,Integer level){
StudentLevelVo studentLevelVo =null;
if(level == null){
return Result.error("学生成次不能为空");
}
try {
studentLevelVo = feignStudentLevel.getByOuterId(level);
}catch (Exception ex){
return Result.error("学生成次未做对应");
}
if(studentLevelVo == null){
return Result.error("学生成次未做对应");
}
if(StringUtils.isEmpty(name)){
return Result.error("学校名称不能为空");
}
School school = schoolDao.getByOuterId(outerId);
if(school==null){
school = new School();
school.setCreateTime(new Date());
school.setProvince("");
school.setProvinceId(0);
}
school.setLevel(studentLevelVo.getName());
school.setLevelId(studentLevelVo.getId());
school.setName(name);
school.setOuterId(outerId);
school =schoolDao.save(school);
SchoolDTO dto = BeanUtils.copyProperties(school,SchoolDTO.class);
return Result.success(dto);
}
public Result<ListSchoolDTO> list(SchoolVO vo){
UserVo userVo = feignUser.getByUserNo(vo.getUserNo());
Integer pageNo = vo.getPageNo();

@ -12,4 +12,5 @@ public class SchoolDTO implements Serializable {
private String province;
private Integer levelId;
private String level;
private Integer outerId;
}

@ -6,4 +6,5 @@ import lombok.Data;
public class StudentLevelVO {
private Integer id;
private String name;
private Integer outerId;
}

@ -1,10 +1,10 @@
server:
port: 50014
port: 60014
spring:
application:
name: tz-system-service
profiles:
active: dev
active: sale
cloud:
nacos:
server-addr: 127.0.0.1:8848

@ -2,7 +2,7 @@ FROM daocloud.io/library/java:8-jre-alpine
MAINTAINER tianze
ARG JAVA_OPTS="-Xmx128M"
ENV JAVA_OPTS=$JAVA_OPTS
ARG RUN_ARGS="--spring.profiles.active=pro --spring.cloud.nacos.server-addr=172.19.255.105:8848"
ARG RUN_ARGS="--spring.profiles.active=sale --spring.cloud.nacos.server-addr=172.19.255.105:8848"
ENV RUN_ARGS=$RUN_ARGS
ADD target/tianze-upload.jar /upload-service.jar
ENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar /upload-service.jar $RUN_ARGS"]

@ -1,10 +1,10 @@
server:
port: 50015
port: 60015
spring:
application:
name: tz-upload-service
profiles:
active: dev
active: sale
cloud:
nacos:
server-addr: 127.0.0.1:8848

@ -2,7 +2,7 @@ FROM daocloud.io/library/java:8-jre-alpine
MAINTAINER tianze
ARG JAVA_OPTS="-Xmx128M"
ENV JAVA_OPTS=$JAVA_OPTS
ARG RUN_ARGS="--spring.profiles.active=pro --spring.cloud.nacos.server-addr=172.19.255.105:8848"
ARG RUN_ARGS="--spring.profiles.active=sale --spring.cloud.nacos.server-addr=172.19.255.105:8848"
ENV RUN_ARGS=$RUN_ARGS
ADD target/tianze-user.jar /user-service.jar
ENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar /user-service.jar $RUN_ARGS"]

@ -39,6 +39,11 @@
<artifactId>xlsx-streamer</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>2.3.5.RELEASE</version>
</dependency>
</dependencies>

@ -4,11 +4,13 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.tz.platform.feign")
@EnableScheduling
public class UserServiceApplication {
public static void main(String[] args) {
SpringApplication.run(UserServiceApplication.class,args);

@ -0,0 +1,21 @@
package com.tz.platform.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer;
@Configuration
@EnableResourceServer
public class MyResourceServerConfigurer extends ResourceServerConfigurerAdapter {
@Override
public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
super.configure(resources);
}
@Override
public void configure(HttpSecurity http) throws Exception{
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and().authorizeRequests().antMatchers("/api/auth/**").authenticated();
}
}

@ -0,0 +1,44 @@
package com.tz.platform.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer;
import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter;
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer;
import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer;
@Configuration
@EnableAuthorizationServer
public class MyauthorizationServerConfigurer extends AuthorizationServerConfigurerAdapter {
@Autowired
private AuthenticationManager authenticationManager;
@Override
public void configure(AuthorizationServerSecurityConfigurer security) throws Exception{
security.allowFormAuthenticationForClients();
}
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception{
clients.inMemory()
.withClient("zhiyun")
.authorizedGrantTypes("client_credentials")
.scopes("all")
.secret("zhiyun2022");
}
// protected void configure(AuthenticationManagerBuilder auth) throws Exception {
//
// }
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
endpoints.authenticationManager(authenticationManager);
super.configure(endpoints);
}
}

@ -0,0 +1,32 @@
package com.tz.platform.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.password.PasswordEncoder;
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
public PasswordEncoder passwordEncoder(){
return new PasswordEncoder() {
@Override
public String encode(CharSequence charSequence) {
return charSequence.toString();
}
@Override
public boolean matches(CharSequence charSequence, String s) {
return s.equals(charSequence.toString());
}
};
}
@Override
@Bean
public AuthenticationManager authenticationManager() throws Exception{
return super.authenticationManager();
}
}

@ -2,14 +2,12 @@ package com.tz.platform.entity;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.*;
import java.util.Date;
@Data
@Entity
@Table(name = "login_log_sale")
public class LoginLog {
@Id
private Long id;

@ -8,7 +8,7 @@ import java.io.Serializable;
import java.util.Date;
@Entity
@Table(name = "user",indexes = {@Index(columnList = "studentNo"),@Index(columnList = "school"),@Index(columnList = "username"),@Index(columnList = "name")})
@Table(name = "user_sale",indexes = {@Index(columnList = "studentNo"),@Index(columnList = "school"),@Index(columnList = "username"),@Index(columnList = "name")})
@Data
public class User implements Serializable {
@ -57,6 +57,10 @@ public class User implements Serializable {
private String avatar;
private Integer classId;
private Integer outerId;
private static final long serialVersionUID = 1L;

@ -0,0 +1,42 @@
package com.tz.platform.user.api;
import com.tz.platform.common.core.base.Result;
import com.tz.platform.common.core.enmus.UserTypeEnum;
import com.tz.platform.common.core.tools.JWTUtil;
import com.tz.platform.entity.User;
import com.tz.platform.repository.UserDao;
import com.tz.platform.user.api.biz.ApiUserLoginBiz;
import com.tz.platform.user.api.dto.OauthDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(value = "/api/auth")
public class OauthController {
@Autowired
private ApiUserLoginBiz userLoginBiz;
@Autowired
private UserDao userDao;
@PostMapping("login")
public Result<OauthDTO> login(String uname, Integer uid){
OauthDTO oauthDTO = new OauthDTO();
User user = userDao.getByUsername(uname);
if(user == null){
return Result.error("用户不存在");
}
String token =JWTUtil.create(user.getId(),user.getUserType(), JWTUtil.DATE);
oauthDTO.setToken(token);
String baseUrl = "https://zqtzdss.sztzjy.com/index?token=";
if(user.getUserType() > UserTypeEnum.USER.getCode()){
baseUrl = "http://zqtzdst.sztzjy.com/#/login?token=";
}
oauthDTO.setUrl(baseUrl+token);
return Result.success(oauthDTO);
}
}

@ -24,6 +24,13 @@ public class UserLoginController extends BaseController {
return apiUserLoginBiz.loginPassword(userLoginPasswordBO);
}
@GetMapping(path = "info")
public Result<UserLoginDTO> info(){
Long userId = getUserNo();
String ip = getRemoteIp();
return apiUserLoginBiz.loginByToken(userId,ip);
}
@GetMapping(path = "out")
public Result<String> loginOut(){
return apiUserLoginBiz.loginOut(getUserNo());

@ -98,6 +98,28 @@ public class ApiUserLoginBiz {
return Result.success(dto);
}
public Result<UserLoginDTO> loginByToken(Long userId,String ip){
User user = userDao.getById(userId);
// 登录日志
LoginLog loginLog = loginLog(LoginStatusEnum.SUCCESS, ip,user.getUsername(),"web",user.getId());
UserLoginDTO dto = new UserLoginDTO();
dto.setUserNo(user.getId());
dto.setUsername(user.getUsername());
dto.setName(user.getName());
dto.setSchool(user.getSchool());
dto.setLevelId(user.getLevelId());
dto.setEmail(user.getEmail());
dto.setClassName(user.getClassName());
dto.setMobile(user.getMobile());
dto.setIp(loginLog.getIp());
dto.setComplete(user.getComplete());
dto.setLocation(loginLog.getLocation());
dto.setLastLoginTime(loginLog.getLastTime());
dto.setToken(JWTUtil.create(user.getId(),user.getUserType(), JWTUtil.DATE));
dto.setClassName(user.getClassName());
return Result.success(dto);
}
private LoginLog loginLog(LoginStatusEnum loginStatusEnum, String ip,String username,String clientType,Long userNo){
LoginLog loginLog = loginLogDao.getById(userNo);
String lastTime = "";

@ -0,0 +1,11 @@
package com.tz.platform.user.api.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class OauthDTO implements Serializable {
private String url;
private String token;
}

@ -0,0 +1,84 @@
package com.tz.platform.zhiyun;
import com.tz.platform.zhiyun.biz.ZhiyunAccountBiz;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Objects;
@Component
@Slf4j
public class ZhiyunJob {
@Autowired
private ZhiyunAccountBiz zhiyunAccountBiz;
@Resource
private RedisTemplate redisTemplate;
/**
*
*/
private long ms = 3600000;
/**
*
*/
@Scheduled(cron = "*/60 * * * * ?")
public void synStudent(){
String jobName = "zhiyunSynJob";
boolean lr = lock(jobName,ms);
if(lr){
try {
zhiyunAccountBiz.synGrade();
zhiyunAccountBiz.synAccountJob();
}catch (Exception ex){
log.error("大赛状态更新任务失败: {}",ex.getMessage());
}finally {
unLock(jobName);
}
}
}
/**
* redis
*
* @param lockKey key
* @param lockExpireMils 线线
* @return
*/
public boolean lock(String lockKey, long lockExpireMils) {
return (Boolean) redisTemplate.execute((RedisCallback) connection -> {
long nowTime = System.currentTimeMillis();
Boolean acquire = connection.setNX(lockKey.getBytes(), String.valueOf(nowTime + lockExpireMils + 1).getBytes());
if (acquire) {
return Boolean.TRUE;
} else {
byte[] value = connection.get(lockKey.getBytes());
if (Objects.nonNull(value) && value.length > 0) {
long oldTime = Long.parseLong(new String(value));
if (oldTime < nowTime) {
//connection.getSet返回这个key的旧值并设置新值。
byte[] oldValue = connection.getSet(lockKey.getBytes(), String.valueOf(nowTime + lockExpireMils + 1).getBytes());
//当key不存时会返回空表示key不存在或者已在管道中使用
return oldValue == null ? false : Long.parseLong(new String(oldValue)) < nowTime;
}
}
}
return Boolean.FALSE;
});
}
public void unLock(String key){
redisTemplate.execute((RedisCallback) redisConnection -> {
redisConnection.del(key.getBytes());
return true;
});
}
}

@ -0,0 +1,155 @@
package com.tz.platform.zhiyun.biz;
import cn.hutool.crypto.digest.DigestUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.tz.platform.common.core.api.ZhiYunApi;
import com.tz.platform.common.core.config.SystemUtil;
import com.tz.platform.common.core.enmus.UserTypeEnum;
import com.tz.platform.common.core.tools.StrUtil;
import com.tz.platform.entity.User;
import com.tz.platform.feign.IFeignGrade;
import com.tz.platform.feign.IFeignSchool;
import com.tz.platform.feign.vo.GradeVo;
import com.tz.platform.feign.vo.SchoolVo;
import com.tz.platform.repository.UserDao;
import org.apache.commons.collections4.list.GrowthList;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Component
public class ZhiyunAccountBiz {
private ZhiYunApi zhiYunApi =new ZhiYunApi();
@Autowired
private IFeignSchool feignSchool ;
@Autowired
private IFeignGrade feignGrade ;
@Autowired
private UserDao userDao;
public void synAccountJob(){
List<SchoolVo> schoolVoList = feignSchool.list();
schoolVoList.forEach(schoolVo -> {
String studentContent = zhiYunApi.findAllStudent(schoolVo.getOuterId());
dealStudent(studentContent,schoolVo);
String teacherCountent = zhiYunApi.findTeacherBySchoolId(schoolVo.getOuterId());
dealTeacher(teacherCountent,schoolVo);
});
}
public void synGrade(){
List<SchoolVo> schoolVoList = feignSchool.list();
schoolVoList.forEach(schoolVo -> {
String gradeContent = zhiYunApi.findAllGrade(schoolVo.getOuterId());
dealGrade(gradeContent,schoolVo);
});
}
public void synQuestion(){
List<SchoolVo> schoolVoList = feignSchool.list();
schoolVoList.forEach(schoolVo -> {
});
}
private void dealGrade(String content,SchoolVo school){
JSONObject jsonObject = JSONUtil.parseObj(content);
Integer code = jsonObject.getInt("code");
if(code == 200 ){
JSONArray jsonArray = jsonObject.getJSONArray("data");
List<GradeVo> gradeVoList = new ArrayList<>();
jsonArray.forEach(jo->{
JSONObject studentOb = (JSONObject)jo;
Integer outerId = studentOb.getInt("id");
String name = studentOb.getStr("name");
GradeVo vo = feignGrade.getByOuterId(outerId);
if(vo == null){
vo = new GradeVo();
vo.setCreateTime(new Date());
}
vo.setName(name);
vo.setOuterId(outerId);
vo.setUserNo(0L);
vo.setSchoolId(school.getId());
gradeVoList.add(vo);
});
feignGrade.saveAllGrade(gradeVoList);
}
}
private void dealStudent(String content,SchoolVo school){
JSONObject jsonObject = JSONUtil.parseObj(content);
Integer code = jsonObject.getInt("code");
if(code == 200 ){
JSONArray jsonArray = jsonObject.getJSONArray("data");
List<User> userList = new ArrayList<>();
jsonArray.forEach(jo->{
JSONObject studentOb = (JSONObject)jo;
Integer classId = studentOb.getInt("classId");
String studentNo = studentOb.getStr("studentNo");
String name = studentOb.getStr("name");
User user = dealUser(studentNo,name,classId,school,UserTypeEnum.USER.getCode());
userList.add(user);
});
userDao.saveAll(userList);
}
}
private User dealUser(String studentNo,String name,int classId,SchoolVo school,Integer userType){
User user =userDao.getByUsername(studentNo);
if(user == null){
user = new User();
user.setMobileSalt(StrUtil.get32UUID());
user.setMobilePsw(DigestUtil.sha1Hex(user.getMobileSalt() + SystemUtil.INIT_PASSWORD));
}
user.setSchoolId(school.getId());
user.setOuterId(0);
user.setSchool(school.getName());
//需要设置值
user.setClassName("");
user.setClassId(0);
GradeVo gradeVo = feignGrade.getByOuterId(classId);
if(gradeVo !=null){
user.setClassName(gradeVo.getName());
user.setClassId(gradeVo.getOuterId());
}
user.setLevelId(school.getLevelId());
user.setName(name);
user.setUsername(studentNo);
user.setStatusId(1);
user.setUserType(userType);
user.setStudentNo(studentNo);
return user;
}
private void dealTeacher(String content,SchoolVo school){
JSONObject jsonObject = JSONUtil.parseObj(content);
Integer code = jsonObject.getInt("code");
if(code == 200 ){
JSONArray jsonArray = jsonObject.getJSONArray("data");
List<User> userList = new ArrayList<>();
jsonArray.forEach(jo->{
JSONObject studentOb = (JSONObject)jo;
String studentNo = studentOb.getStr("teacherNo");
String name = studentOb.getStr("name");
User user = dealUser(studentNo,name,0,school,UserTypeEnum.TEACHER.getCode());
userList.add(user);
});
userDao.saveAll(userList);
}
}
}

@ -1,10 +1,10 @@
server:
port: 50011
port: 60011
spring:
application:
name: tz-user-service
profiles:
active: dev
active: sale
cloud:
nacos:
server-addr: 127.0.0.1:8848

Loading…
Cancel
Save