Merge remote-tracking branch 'origin/beetlsql3-dev' into beetlsql3-dev
commit
14ca4c7581
@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>admin</artifactId>
|
||||
<groupId>com.ibeetl</groupId>
|
||||
<version>1.3.1</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>admin-test</artifactId>
|
||||
|
||||
<properties>
|
||||
<!-- Test 测试相关 -->
|
||||
<podam.version>7.2.6.RELEASE</podam.version>
|
||||
<jedis-mock.version>0.1.16</jedis-mock.version>
|
||||
<hutool-core.version>5.7.22</hutool-core.version>
|
||||
<dynamic-beetlsql-spring-boot-starter.version>1.3.1</dynamic-beetlsql-spring-boot-starter.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>uk.co.jemos.podam</groupId> <!-- 单元测试,随机生成 POJO 类 -->
|
||||
<artifactId>podam</artifactId>
|
||||
<version>${podam.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.github.fppt</groupId> <!-- 单元测试,我们采用内嵌的 Redis 数据库 -->
|
||||
<artifactId>jedis-mock</artifactId>
|
||||
<version>${jedis-mock.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.qeedata</groupId>
|
||||
<artifactId>dynamic-beetlsql-spring-boot-starter</artifactId>
|
||||
<version>${dynamic-beetlsql-spring-boot-starter.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>${hutool-core.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@ -0,0 +1,52 @@
|
||||
package com.ibeetl.admin.test.base;
|
||||
|
||||
import com.ibeetl.admin.test.config.RedisTestConfiguration;
|
||||
import com.ibeetl.admin.test.config.SqlInitializationTestConfiguration;
|
||||
import com.qeedata.data.beetlsql.dynamic.configure.DynamicBeetlSqlAutoConfiguration;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.test.context.jdbc.Sql;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 测试基类 暂时不能用
|
||||
* TODO 暂时不能用
|
||||
* </p>
|
||||
*
|
||||
* @author mlx
|
||||
* @date 2022/9/24
|
||||
* @modified
|
||||
*/
|
||||
@SpringBootTest(classes = {BaseDbAndRedisUnitTest.Application.class}, webEnvironment = SpringBootTest.WebEnvironment.NONE)
|
||||
@RunWith(SpringRunner.class)
|
||||
@ActiveProfiles("test")
|
||||
@Sql(scripts = "/sql/clean.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD) // 每个单元测试结束后,清理 DB
|
||||
public class BaseDbAndRedisUnitTest {
|
||||
|
||||
@Autowired
|
||||
protected MockMvc mvc;
|
||||
|
||||
@Import({
|
||||
// DB 配置类
|
||||
DataSourceAutoConfiguration.class, // Spring DB 自动配置类
|
||||
DataSourceTransactionManagerAutoConfiguration.class, // Spring 事务自动配置类
|
||||
SqlInitializationTestConfiguration.class, // SQL 初始化
|
||||
// BeetlSql 配置类
|
||||
// DefaultDataSourceCreator.class,
|
||||
DynamicBeetlSqlAutoConfiguration.class, // 动态多数据源BeetlSql
|
||||
// Redis 配置类
|
||||
RedisTestConfiguration.class, // Redis 测试配置类,用于启动 RedisServer
|
||||
RedisAutoConfiguration.class, // Spring Redis 自动配置类
|
||||
|
||||
})
|
||||
public static class Application {
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package com.ibeetl.admin.test.base;
|
||||
|
||||
import com.ibeetl.admin.test.config.RedisTestConfiguration;
|
||||
import com.ibeetl.admin.test.config.SqlInitializationTestConfiguration;
|
||||
import com.qeedata.data.beetlsql.dynamic.BeetlSqlBeanRegister;
|
||||
import com.qeedata.data.beetlsql.dynamic.configure.DynamicBeetlSqlAutoConfiguration;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
|
||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.test.context.jdbc.Sql;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 测试基类 暂时不能用
|
||||
* TODO 暂时不能用
|
||||
* </p>
|
||||
*
|
||||
* @author mlx
|
||||
* @date 2022/9/24
|
||||
* @modified
|
||||
*/
|
||||
@SpringBootTest(classes = {BaseDbAndRedisUnitTest1.Application.class}, webEnvironment = SpringBootTest.WebEnvironment.NONE)
|
||||
@RunWith(SpringRunner.class)
|
||||
@AutoConfigureMockMvc
|
||||
@ActiveProfiles("test")
|
||||
@Sql(scripts = "/sql/clean.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD) // 每个单元测试结束后,清理 DB
|
||||
public class BaseDbAndRedisUnitTest1 {
|
||||
|
||||
@Import({
|
||||
// DB 配置类
|
||||
DataSourceAutoConfiguration.class, // Spring DB 自动配置类
|
||||
DataSourceTransactionManagerAutoConfiguration.class, // Spring 事务自动配置类
|
||||
SqlInitializationTestConfiguration.class, // SQL 初始化
|
||||
// BeetlSql 配置类
|
||||
BeetlSqlBeanRegister.class,
|
||||
DynamicBeetlSqlAutoConfiguration.class, // 动态多数据源BeetlSql
|
||||
// Redis 配置类
|
||||
RedisTestConfiguration.class, // Redis 测试配置类,用于启动 RedisServer
|
||||
RedisAutoConfiguration.class, // Spring Redis 自动配置类
|
||||
})
|
||||
public static class Application {
|
||||
}
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.ibeetl.admin.test.base;
|
||||
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
|
||||
/**
|
||||
* 纯 Mockito 的单元测试
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
public class BaseMockitoUnitTest {
|
||||
}
|
@ -0,0 +1,118 @@
|
||||
package com.ibeetl.admin.test.util.test;
|
||||
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import uk.co.jemos.podam.api.PodamFactory;
|
||||
import uk.co.jemos.podam.api.PodamFactoryImpl;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* 随机工具类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public class RandomUtils {
|
||||
|
||||
private static final int RANDOM_STRING_LENGTH = 10;
|
||||
|
||||
private static final int TINYINT_MAX = 127;
|
||||
|
||||
private static final int RANDOM_DATE_MAX = 30;
|
||||
|
||||
private static final int RANDOM_COLLECTION_LENGTH = 5;
|
||||
|
||||
private static final PodamFactory PODAM_FACTORY = new PodamFactoryImpl();
|
||||
|
||||
static {
|
||||
// 字符串
|
||||
PODAM_FACTORY.getStrategy().addOrReplaceTypeManufacturer(String.class,
|
||||
(dataProviderStrategy, attributeMetadata, map) -> randomString());
|
||||
// Integer
|
||||
PODAM_FACTORY.getStrategy().addOrReplaceTypeManufacturer(Integer.class, (dataProviderStrategy, attributeMetadata, map) -> {
|
||||
// 如果是 status 的字段,返回 0 或 1
|
||||
if (attributeMetadata.getAttributeName().equals("status")) {
|
||||
return RandomUtil.randomEle(Arrays.asList(0,1));
|
||||
}
|
||||
// 如果是 type、status 结尾的字段,返回 tinyint 范围
|
||||
if (StrUtil.endWithAnyIgnoreCase(attributeMetadata.getAttributeName(),
|
||||
"type", "status", "category", "scope")) {
|
||||
return RandomUtil.randomInt(0, TINYINT_MAX + 1);
|
||||
}
|
||||
return RandomUtil.randomInt();
|
||||
});
|
||||
// Boolean
|
||||
PODAM_FACTORY.getStrategy().addOrReplaceTypeManufacturer(Boolean.class, (dataProviderStrategy, attributeMetadata, map) -> {
|
||||
// 如果是 deleted 的字段,返回非删除
|
||||
if (attributeMetadata.getAttributeName().equals("deleted")) {
|
||||
return false;
|
||||
}
|
||||
return RandomUtil.randomBoolean();
|
||||
});
|
||||
}
|
||||
|
||||
public static String randomString() {
|
||||
return RandomUtil.randomString(RANDOM_STRING_LENGTH);
|
||||
}
|
||||
|
||||
public static Long randomLongId() {
|
||||
return RandomUtil.randomLong(0, Long.MAX_VALUE);
|
||||
}
|
||||
|
||||
public static Integer randomInteger() {
|
||||
return RandomUtil.randomInt(0, Integer.MAX_VALUE);
|
||||
}
|
||||
|
||||
public static Date randomDate() {
|
||||
return RandomUtil.randomDay(0, RANDOM_DATE_MAX);
|
||||
}
|
||||
|
||||
public static Short randomShort() {
|
||||
return (short) RandomUtil.randomInt(0, Short.MAX_VALUE);
|
||||
}
|
||||
|
||||
public static <T> Set<T> randomSet(Class<T> clazz) {
|
||||
return Stream.iterate(0, i -> i).limit(RandomUtil.randomInt(1, RANDOM_COLLECTION_LENGTH))
|
||||
.map(i -> randomPojo(clazz)).collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
public static Integer randomCommonStatus() {
|
||||
return RandomUtil.randomEle(Arrays.asList(0,1));
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public static <T> T randomPojo(Class<T> clazz, Consumer<T>... consumers) {
|
||||
T pojo = PODAM_FACTORY.manufacturePojo(clazz);
|
||||
// 非空时,回调逻辑。通过它,可以实现 Pojo 的进一步处理
|
||||
if (ArrayUtil.isNotEmpty(consumers)) {
|
||||
Arrays.stream(consumers).forEach(consumer -> consumer.accept(pojo));
|
||||
}
|
||||
return pojo;
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public static <T> T randomPojo(Class<T> clazz, Type type, Consumer<T>... consumers) {
|
||||
T pojo = PODAM_FACTORY.manufacturePojo(clazz, type);
|
||||
// 非空时,回调逻辑。通过它,可以实现 Pojo 的进一步处理
|
||||
if (ArrayUtil.isNotEmpty(consumers)) {
|
||||
Arrays.stream(consumers).forEach(consumer -> consumer.accept(pojo));
|
||||
}
|
||||
return pojo;
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public static <T> List<T> randomPojoList(Class<T> clazz, Consumer<T>... consumers) {
|
||||
int size = RandomUtil.randomInt(1, RANDOM_COLLECTION_LENGTH);
|
||||
return Stream.iterate(0, i -> i).limit(size).map(o -> randomPojo(clazz, consumers))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
### 新增作业
|
||||
POST {{baseURL}}/jlw/teacherOpenCourseHomework/addByType.json
|
||||
Content-Type: application/json
|
||||
Cookie: JSESSIONID={{session}}
|
||||
|
||||
{
|
||||
"teacherOpenCourseId": 59,
|
||||
"teacherOpenCourseHomeworkName": "fake_data",
|
||||
"teacherOpenCourseHomeworkClasses": "2",
|
||||
"teacherOpenCourseHomeworkStartTime": "2018-12-08 12:40:39",
|
||||
"teacherOpenCourseHomeworkEndTime": "2031-08-02 15:28:09",
|
||||
"teacherOpenCourseHomeworkType": "QUESTION",
|
||||
"teacherOpenCourseHomeworkUploadFile": "fake_data",
|
||||
"teacherOpenCourseHomeworkPushStatus": 1,
|
||||
"teacherOpenCourseHomeworkStatus": 1,
|
||||
"teacherOpenCourseHomeworkAddTime": "2023-12-06 19:10:09",
|
||||
"teacherOpenCourseHomeworkSettingQuery": {
|
||||
"teacherOpenCourseHomeworkSettingDoCount": 10,
|
||||
"teacherOpenCourseHomeworkSettingQuestionNoOrder": 1,
|
||||
"teacherOpenCourseHomeworkSettingOptionNoOrder": 1,
|
||||
"teacherOpenCourseHomeworkSettingEndShowQa": 1,
|
||||
"teacherOpenCourseHomeworkSettingEndShowTrueFals": 1,
|
||||
"teacherOpenCourseHomeworkSettingAddTime": "2022-05-25 03:23:43"
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"dev": {
|
||||
"baseURL": "http://localhost:9090/server/",
|
||||
"session": "0DA92B7ABBDC4AFB7B6358E5DCBC6C2D"
|
||||
"session": "A8152C92D7491D57327FF765D2B6780C"
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.ibeetl.jlw.dao;
|
||||
|
||||
import com.ibeetl.jlw.entity.TeacherOpenCourseHomework;
|
||||
import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkQuery;
|
||||
import org.beetl.sql.core.engine.PageQuery;
|
||||
import org.beetl.sql.mapper.BaseMapper;
|
||||
import org.beetl.sql.mapper.annotation.SqlResource;
|
||||
import org.beetl.sql.mapper.annotation.Update;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 开课作业 Dao
|
||||
*/
|
||||
@SqlResource("jlw.teacherOpenCourseHomework")
|
||||
public interface TeacherOpenCourseHomeworkDao extends BaseMapper<TeacherOpenCourseHomework>{
|
||||
PageQuery<TeacherOpenCourseHomework> queryByCondition(PageQuery query);
|
||||
PageQuery<TeacherOpenCourseHomework> queryByConditionQuery(PageQuery query);
|
||||
@Update
|
||||
void deleteTeacherOpenCourseHomeworkByIds(String ids);
|
||||
@Update
|
||||
void deleteByIds(String ids);
|
||||
@Update
|
||||
int updateGivenByIds(TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery);
|
||||
List<TeacherOpenCourseHomework> getByIds(String ids);
|
||||
List<TeacherOpenCourseHomework> getValuesByQuery(TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery);
|
||||
}
|
@ -0,0 +1,161 @@
|
||||
package com.ibeetl.jlw.service;
|
||||
|
||||
import cn.jlw.util.ToolUtils;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ibeetl.admin.core.service.CoreBaseService;
|
||||
import com.ibeetl.admin.core.util.PlatformException;
|
||||
import com.ibeetl.admin.core.web.JsonResult;
|
||||
import com.ibeetl.admin.core.web.JsonReturnCode;
|
||||
import com.ibeetl.jlw.dao.TeacherOpenCourseHomeworkDao;
|
||||
import com.ibeetl.jlw.entity.TeacherOpenCourseHomework;
|
||||
import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkQuery;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.beetl.sql.core.SqlId;
|
||||
import org.beetl.sql.core.engine.PageQuery;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 开课作业 Service
|
||||
* 当分布式ID开启后请勿使用insert(*,true)
|
||||
*/
|
||||
|
||||
@Service
|
||||
@Transactional
|
||||
public class TeacherOpenCourseHomeworkService extends CoreBaseService<TeacherOpenCourseHomework>{
|
||||
|
||||
@Resource private TeacherOpenCourseHomeworkDao teacherOpenCourseHomeworkDao;
|
||||
@Resource private TeacherOpenCourseHomeworkSettingService teacherOpenCourseHomeworkSettingService;
|
||||
|
||||
public PageQuery<TeacherOpenCourseHomework>queryByCondition(PageQuery query){
|
||||
PageQuery ret = teacherOpenCourseHomeworkDao.queryByCondition(query);
|
||||
queryListAfter(ret.getList());
|
||||
return ret;
|
||||
}
|
||||
|
||||
public PageQuery<TeacherOpenCourseHomework>queryByConditionQuery(PageQuery query){
|
||||
PageQuery ret = teacherOpenCourseHomeworkDao.queryByConditionQuery(query);
|
||||
queryListAfter(ret.getList());
|
||||
return ret;
|
||||
}
|
||||
|
||||
public void deleteByList(List list){
|
||||
String ids = "";
|
||||
ToolUtils.deleteNullList(list);
|
||||
for(int i=0;null != list && i<list.size();i++){
|
||||
ids += list.get(i).toString()+(i==list.size()-1?"":",");
|
||||
}
|
||||
if(StringUtils.isNotBlank(ids)){
|
||||
teacherOpenCourseHomeworkDao.deleteByIds(ids);
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteTeacherOpenCourseHomework(String ids){
|
||||
try {
|
||||
teacherOpenCourseHomeworkDao.deleteTeacherOpenCourseHomeworkByIds(ids);
|
||||
} catch (Exception e) {
|
||||
throw new PlatformException("批量删除开课作业失败", e);
|
||||
}
|
||||
}
|
||||
|
||||
public String addAll(TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery){
|
||||
String msg = "";
|
||||
List<TeacherOpenCourseHomework> teacherOpenCourseHomeworkList = new ArrayList<>();
|
||||
try {
|
||||
teacherOpenCourseHomeworkList = JSON.parseArray(teacherOpenCourseHomeworkQuery.getTeacherOpenCourseHomeworkJsonStr(), TeacherOpenCourseHomework.class);
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
teacherOpenCourseHomeworkList.add(JSONObject.parseObject(teacherOpenCourseHomeworkQuery.getTeacherOpenCourseHomeworkJsonStr(), TeacherOpenCourseHomework.class));
|
||||
} catch (Exception e1) {}
|
||||
}
|
||||
ToolUtils.deleteNullList(teacherOpenCourseHomeworkList);
|
||||
if(null != teacherOpenCourseHomeworkList && teacherOpenCourseHomeworkList.size()>0){
|
||||
for(int i=0;i<teacherOpenCourseHomeworkList.size();i++){
|
||||
TeacherOpenCourseHomework teacherOpenCourseHomework = teacherOpenCourseHomeworkList.get(i);
|
||||
teacherOpenCourseHomework.setUserId(teacherOpenCourseHomeworkQuery.getUserId());
|
||||
teacherOpenCourseHomework.setOrgId(teacherOpenCourseHomeworkQuery.getOrgId());
|
||||
}
|
||||
insertBatch(teacherOpenCourseHomeworkList);
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
|
||||
public JsonResult add(TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery){
|
||||
String msg = "";
|
||||
TeacherOpenCourseHomework teacherOpenCourseHomework = teacherOpenCourseHomeworkQuery.pojo();
|
||||
teacherOpenCourseHomeworkDao.insert(teacherOpenCourseHomework);
|
||||
teacherOpenCourseHomeworkQuery.setTeacherOpenCourseHomeworkId(teacherOpenCourseHomework.getTeacherOpenCourseHomeworkId());
|
||||
JsonResult jsonResult = new JsonResult();
|
||||
jsonResult.setData(teacherOpenCourseHomework.getTeacherOpenCourseHomeworkId());//自增的ID丢进去
|
||||
jsonResult.setCode(JsonReturnCode.SUCCESS.getCode());
|
||||
jsonResult.setMsg(msg);
|
||||
return jsonResult;
|
||||
}
|
||||
|
||||
public String edit(TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery){
|
||||
String msg = "";
|
||||
TeacherOpenCourseHomework teacherOpenCourseHomework = teacherOpenCourseHomeworkQuery.pojo();
|
||||
teacherOpenCourseHomeworkDao.updateTemplateById(teacherOpenCourseHomework);
|
||||
return msg;
|
||||
}
|
||||
|
||||
public String updateGivenByIds(TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery){
|
||||
String msg = "";
|
||||
if(StringUtils.isNotBlank(teacherOpenCourseHomeworkQuery.get_given())){
|
||||
boolean flag = teacherOpenCourseHomeworkDao.updateGivenByIds(teacherOpenCourseHomeworkQuery) > 0;
|
||||
if(!flag){
|
||||
msg = "更新指定参数失败";
|
||||
}
|
||||
}else{
|
||||
msg = "指定参数为空";
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
|
||||
public List<TeacherOpenCourseHomework> getValues (Object paras){
|
||||
return sqlManager.select(SqlId.of("jlw.teacherOpenCourseHomework.getTeacherOpenCourseHomeworkValues"), TeacherOpenCourseHomework.class, paras);
|
||||
}
|
||||
|
||||
public List<TeacherOpenCourseHomework> getValuesByQuery (TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery){
|
||||
return teacherOpenCourseHomeworkDao.getValuesByQuery(teacherOpenCourseHomeworkQuery);
|
||||
}
|
||||
|
||||
public TeacherOpenCourseHomework getInfo (Long teacherOpenCourseHomeworkId){
|
||||
TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery = new TeacherOpenCourseHomeworkQuery();
|
||||
teacherOpenCourseHomeworkQuery.setTeacherOpenCourseHomeworkId(teacherOpenCourseHomeworkId);
|
||||
teacherOpenCourseHomeworkQuery.setTeacherOpenCourseHomeworkStatusPlural("1,2");//需要根据实际情况来
|
||||
List<TeacherOpenCourseHomework> list = teacherOpenCourseHomeworkDao.getValuesByQuery(teacherOpenCourseHomeworkQuery);
|
||||
if(null != list && list.size()>0){
|
||||
return list.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public TeacherOpenCourseHomework getInfo (TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery){
|
||||
List<TeacherOpenCourseHomework> list = teacherOpenCourseHomeworkDao.getValuesByQuery(teacherOpenCourseHomeworkQuery);
|
||||
if(null != list && list.size()>0){
|
||||
return list.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加题目类型的数据
|
||||
* @param homeworkQuery
|
||||
* @return
|
||||
*/
|
||||
public void addByType(TeacherOpenCourseHomeworkQuery homeworkQuery) {
|
||||
// 添加到作业主表中
|
||||
add(homeworkQuery);
|
||||
|
||||
// 添加作业设置,添加题目快照关联信息
|
||||
teacherOpenCourseHomeworkSettingService.addHomeWordBySetting(homeworkQuery.getTeacherOpenCourseHomeworkSettingQuery());
|
||||
}
|
||||
}
|
@ -0,0 +1,210 @@
|
||||
package com.ibeetl.jlw.web;
|
||||
|
||||
import cn.hutool.extra.validation.ValidationUtil;
|
||||
import cn.jlw.Interceptor.SCoreUser;
|
||||
import cn.jlw.validate.ValidateConfig;
|
||||
import com.ibeetl.admin.core.annotation.Function;
|
||||
import com.ibeetl.admin.core.entity.CoreUser;
|
||||
import com.ibeetl.admin.core.file.FileService;
|
||||
import com.ibeetl.admin.core.web.JsonResult;
|
||||
import com.ibeetl.jlw.entity.TeacherOpenCourseHomework;
|
||||
import com.ibeetl.jlw.service.TeacherOpenCourseHomeworkService;
|
||||
import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkQuery;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.beetl.sql.core.engine.PageQuery;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 开课作业 我的课程-题库作业 接口
|
||||
* 切记不要对非线程安全的静态变量进行写操作
|
||||
*/
|
||||
|
||||
@RestController
|
||||
public class TeacherOpenCourseHomeworkController{
|
||||
|
||||
private final Log log = LogFactory.getLog(this.getClass());
|
||||
private static final String MODEL = "/jlw/teacherOpenCourseHomework";
|
||||
private static final String API = "/api/teacherOpenCourseHomework";
|
||||
|
||||
|
||||
@Resource private TeacherOpenCourseHomeworkService teacherOpenCourseHomeworkService;
|
||||
|
||||
@Resource FileService fileService;
|
||||
|
||||
/* 前端接口 */
|
||||
|
||||
@PostMapping(API + "/getPageList.do")
|
||||
public JsonResult<PageQuery> getPageList(TeacherOpenCourseHomeworkQuery condition,@SCoreUser CoreUser coreUser){
|
||||
if(null == coreUser){
|
||||
return JsonResult.failMessage("请登录后再操作");
|
||||
}else{
|
||||
PageQuery page = condition.getPageQuery();
|
||||
teacherOpenCourseHomeworkService.queryByConditionQuery(page);
|
||||
return JsonResult.success(page);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@GetMapping(API + "/getInfo.do")
|
||||
public JsonResult<TeacherOpenCourseHomework>getInfo(TeacherOpenCourseHomeworkQuery param,@SCoreUser CoreUser coreUser) {
|
||||
if(null == coreUser){
|
||||
return JsonResult.failMessage("请登录后再操作");
|
||||
}else{
|
||||
TeacherOpenCourseHomework teacherOpenCourseHomework = teacherOpenCourseHomeworkService.getInfo(param);
|
||||
return JsonResult.success(teacherOpenCourseHomework);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@GetMapping(API + "/getList.do")
|
||||
public JsonResult<List<TeacherOpenCourseHomework>>getList(TeacherOpenCourseHomeworkQuery param,@SCoreUser CoreUser coreUser) {
|
||||
if(null == coreUser){
|
||||
return JsonResult.failMessage("请登录后再操作");
|
||||
}else{
|
||||
List<TeacherOpenCourseHomework>list = teacherOpenCourseHomeworkService.getValuesByQuery(param);
|
||||
return JsonResult.success(list);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 后台页面 */
|
||||
|
||||
@GetMapping(MODEL + "/index.do")
|
||||
@Function("teacherOpenCourseHomework.query")
|
||||
public ModelAndView index() {
|
||||
ModelAndView view = new ModelAndView("/jlw/teacherOpenCourseHomework/index.html") ;
|
||||
view.addObject("search", TeacherOpenCourseHomeworkQuery.class.getName());
|
||||
return view;
|
||||
}
|
||||
|
||||
@GetMapping(MODEL + "/edit.do")
|
||||
@Function("teacherOpenCourseHomework.edit")
|
||||
public ModelAndView edit(Long teacherOpenCourseHomeworkId) {
|
||||
ModelAndView view = new ModelAndView("/jlw/teacherOpenCourseHomework/edit.html");
|
||||
TeacherOpenCourseHomework teacherOpenCourseHomework = teacherOpenCourseHomeworkService.queryById(teacherOpenCourseHomeworkId);
|
||||
view.addObject("teacherOpenCourseHomework", teacherOpenCourseHomework);
|
||||
return view;
|
||||
}
|
||||
|
||||
@GetMapping(MODEL + "/add.do")
|
||||
@Function("teacherOpenCourseHomework.add")
|
||||
public ModelAndView add(Long teacherOpenCourseHomeworkId) {
|
||||
ModelAndView view = new ModelAndView("/jlw/teacherOpenCourseHomework/add.html");
|
||||
if(null != teacherOpenCourseHomeworkId){
|
||||
TeacherOpenCourseHomework teacherOpenCourseHomework = teacherOpenCourseHomeworkService.queryById(teacherOpenCourseHomeworkId);
|
||||
view.addObject("teacherOpenCourseHomework", teacherOpenCourseHomework);
|
||||
}else {
|
||||
view.addObject("teacherOpenCourseHomework", new TeacherOpenCourseHomework());
|
||||
}
|
||||
return view;
|
||||
}
|
||||
|
||||
/* 后台接口 */
|
||||
|
||||
@PostMapping(MODEL + "/list.json")
|
||||
@Function("teacherOpenCourseHomework.query")
|
||||
public JsonResult<PageQuery> list(TeacherOpenCourseHomeworkQuery condition){
|
||||
PageQuery page = condition.getPageQuery();
|
||||
teacherOpenCourseHomeworkService.queryByCondition(page);
|
||||
return JsonResult.success(page);
|
||||
}
|
||||
|
||||
@PostMapping(MODEL + "/addAll.json")
|
||||
@Function("teacherOpenCourseHomework.add")
|
||||
public JsonResult addAll(TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery,@SCoreUser CoreUser coreUser){
|
||||
if(null == coreUser){
|
||||
return JsonResult.failMessage("请登录后再操作");
|
||||
}else{
|
||||
teacherOpenCourseHomeworkQuery.setUserId(coreUser.getId());
|
||||
teacherOpenCourseHomeworkQuery.setOrgId(coreUser.getOrgId());
|
||||
String msg = teacherOpenCourseHomeworkService.addAll(teacherOpenCourseHomeworkQuery);
|
||||
if (StringUtils.isBlank(msg)) {
|
||||
return JsonResult.success();
|
||||
} else {
|
||||
return JsonResult.failMessage("新增失败,"+msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping(MODEL + "/add.json")
|
||||
@Function("teacherOpenCourseHomework.add")
|
||||
public JsonResult add(@Validated(ValidateConfig.ADD.class) TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery, BindingResult result,@SCoreUser CoreUser coreUser){
|
||||
if(result.hasErrors()){
|
||||
return JsonResult.failMessage(result);
|
||||
}else{
|
||||
teacherOpenCourseHomeworkQuery.setUserId(coreUser.getId());
|
||||
teacherOpenCourseHomeworkQuery.setOrgId(coreUser.getOrgId());
|
||||
if(null == teacherOpenCourseHomeworkQuery.getTeacherOpenCourseHomeworkStatus()){
|
||||
teacherOpenCourseHomeworkQuery.setTeacherOpenCourseHomeworkStatus(1);
|
||||
}
|
||||
return teacherOpenCourseHomeworkService.add(teacherOpenCourseHomeworkQuery);
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping(MODEL + "/edit.json")
|
||||
@Function("teacherOpenCourseHomework.edit")
|
||||
public JsonResult<String> update(@Validated(ValidateConfig.UPDATE.class) TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery, BindingResult result) {
|
||||
if(result.hasErrors()){
|
||||
return JsonResult.failMessage(result);
|
||||
}else {
|
||||
teacherOpenCourseHomeworkQuery.setUserId(null);
|
||||
teacherOpenCourseHomeworkQuery.setOrgId(null);
|
||||
String msg = teacherOpenCourseHomeworkService.edit(teacherOpenCourseHomeworkQuery);
|
||||
if (StringUtils.isBlank(msg)) {
|
||||
return JsonResult.success();
|
||||
} else {
|
||||
return JsonResult.failMessage("更新失败,"+msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@GetMapping(MODEL + "/view.json")
|
||||
@Function("teacherOpenCourseHomework.query")
|
||||
public JsonResult<TeacherOpenCourseHomework>queryInfo(Long teacherOpenCourseHomeworkId) {
|
||||
TeacherOpenCourseHomework teacherOpenCourseHomework = teacherOpenCourseHomeworkService.queryById( teacherOpenCourseHomeworkId);
|
||||
return JsonResult.success(teacherOpenCourseHomework);
|
||||
}
|
||||
|
||||
@GetMapping(MODEL + "/getValues.json")
|
||||
@Function("teacherOpenCourseHomework.query")
|
||||
public JsonResult<List<TeacherOpenCourseHomework>>getValues(TeacherOpenCourseHomeworkQuery param) {
|
||||
List<TeacherOpenCourseHomework>list = teacherOpenCourseHomeworkService.getValuesByQuery(param);
|
||||
return JsonResult.success(list);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping(MODEL + "/delete.json")
|
||||
@Function("teacherOpenCourseHomework.delete")
|
||||
@ResponseBody
|
||||
public JsonResult delete(String ids) {
|
||||
teacherOpenCourseHomeworkService.deleteTeacherOpenCourseHomework(ids);
|
||||
return JsonResult.success();
|
||||
}
|
||||
|
||||
@PostMapping(MODEL + "/addByType.json")
|
||||
@Function("teacherOpenCourseHomework.add")
|
||||
public JsonResult addByType(@Validated @RequestBody TeacherOpenCourseHomeworkQuery teacherOpenCourseHomeworkQuery, BindingResult result, @SCoreUser CoreUser coreUser){
|
||||
// 根据传入的类型,进行分组验证
|
||||
ValidationUtil.validate(teacherOpenCourseHomeworkQuery, teacherOpenCourseHomeworkQuery.getClazzByType());
|
||||
if(result.hasErrors()){
|
||||
return JsonResult.failMessage(result);
|
||||
}
|
||||
teacherOpenCourseHomeworkQuery.setUserId(coreUser.getId());
|
||||
teacherOpenCourseHomeworkQuery.setOrgId(coreUser.getOrgId());
|
||||
if(null == teacherOpenCourseHomeworkQuery.getTeacherOpenCourseHomeworkStatus()){
|
||||
teacherOpenCourseHomeworkQuery.setTeacherOpenCourseHomeworkStatus(1);
|
||||
}
|
||||
teacherOpenCourseHomeworkService.addByType(teacherOpenCourseHomeworkQuery);
|
||||
return JsonResult.success();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
# \u8BBE\u7F6E\u9ED8\u8BA4\u7684\u6570\u636E\u6E90\u6216\u8005\u6570\u636E\u6E90\u7EC4,\u9ED8\u8BA4\u503C\u5373\u4E3A ds1
|
||||
spring.datasource.dynamic.primary = master
|
||||
spring.datasource.dynamic.p6spy = false
|
||||
spring.datasource.dynamic.strict = false
|
||||
spring.datasource.dynamic.hikari.max-pool-size=30
|
||||
spring.datasource.dynamic.hikari.connection-test-query=SELECT 1
|
||||
|
||||
# master
|
||||
spring.datasource.dynamic.datasource.master.driverClassName=com.mysql.cj.jdbc.Driver
|
||||
spring.datasource.dynamic.datasource.master.url=jdbc:mysql://localhost:3306/tzcj?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
|
||||
spring.datasource.dynamic.datasource.master.username=root
|
||||
spring.datasource.dynamic.datasource.master.password=root
|
||||
|
||||
# ds2
|
||||
#spring.datasource.dynamic.datasource.ds2.driverClassName=com.mysql.cj.jdbc.Driver
|
||||
#spring.datasource.dynamic.datasource.ds2.url=jdbc:mysql://localhost:3306/tzcj?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
|
||||
#spring.datasource.dynamic.datasource.ds2.username=root
|
||||
#spring.datasource.dynamic.datasource.ds2.password=root
|
||||
|
||||
# sqlManagers = \u591A\u4E2A sqlManager \u5217\u8868
|
||||
dynamic.beetlsql.sqlManagers = master,ds2,cs
|
||||
# primary \u9ED8\u8BA4 sqlManager
|
||||
dynamic.beetlsql.primary = cs
|
||||
# transactionManager \u9ED8\u8BA4\u81EA\u52A8\u751F\u6210\uFF0C\u5982\u9700\u81EA\u5DF1\u7BA1\u7406\u5219\u8BBE\u7F6E\u4E3A false
|
||||
# dynamic.beetlsql.transactionManager = false
|
||||
|
||||
# \u9ED8\u8BA4\u503C _default
|
||||
dynamic.beetlsql._default.dev = true
|
||||
|
||||
# 1, \u914D\u7F6E\u5355\u72EC sqlManager
|
||||
# A) \u540D\u79F0: ds1, dataSource \u540C\u540D\u79F0 ds1, \u6216 dynamic.beetlsql.ds1.ds = ds1
|
||||
dynamic.beetlsql.master.sqlPath = sql
|
||||
dynamic.beetlsql.master.daoSuffix = Dao
|
||||
dynamic.beetlsql.master.basePackage = com.ibeetl
|
||||
dynamic.beetlsql.master.dbStyle = org.beetl.sql.core.db.MySqlStyle
|
||||
dynamic.beetlsql.master.slave = ds2
|
||||
|
||||
# B) \u540D\u79F0: ds2, dataSource \u540C\u540D\u79F0 ds2, \u6216 dynamic.beetlsql.ds2.ds = ds2
|
||||
dynamic.beetlsql.ds2.sqlPath = sql
|
||||
dynamic.beetlsql.ds2.daoSuffix = Dao
|
||||
dynamic.beetlsql.ds2.basePackage = com.ibeetl
|
||||
dynamic.beetlsql.ds2.dbStyle = org.beetl.sql.core.db.MySqlStyle
|
||||
|
||||
# 3, dynamicConnectionSource \u6A21\u5F0F(\u53EF\u9009)
|
||||
# \u4F7F\u7528\u4E00\u4E2A sqlManager \u5207\u6362, \u4F7F\u7528 ConditionalConnectionSource
|
||||
dynamic.beetlsql.cs.sqlPath = sql
|
||||
dynamic.beetlsql.cs.daoSuffix = Dao
|
||||
dynamic.beetlsql.cs.basePackage = com.ibeetl
|
||||
dynamic.beetlsql.cs.dbStyle = org.beetl.sql.core.db.MySqlStyle
|
||||
# \u5FC5\u987B dynamicConnectionSource \u8868\u793A\u4F7F\u7528 ConditionalConnectionSource \u6A21\u5F0F
|
||||
dynamic.beetlsql.cs.dynamicConnectionSource = master,ds2
|
@ -0,0 +1,38 @@
|
||||
layui.define([ 'form', 'laydate', 'table','teacherOpenCourseHomeworkApi'], function(exports) {
|
||||
var form = layui.form;
|
||||
var teacherOpenCourseHomeworkApi = layui.teacherOpenCourseHomeworkApi;
|
||||
var index = layui.index;
|
||||
var view = {
|
||||
init:function(){
|
||||
Lib.initGenrealForm($("#addForm"),form);
|
||||
this.initSubmit();
|
||||
},
|
||||
initSubmit:function(){
|
||||
$("#addButton").click(function(){
|
||||
form.on('submit(form)', function(){
|
||||
var teacherOpenCourseHomeworkId = $("#addForm input[name='teacherOpenCourseHomeworkId']").val();
|
||||
if(!$.isEmpty(teacherOpenCourseHomeworkId)){
|
||||
teacherOpenCourseHomeworkApi.updateTeacherOpenCourseHomework($('#addForm'),function(){
|
||||
parent.window.dataReload();
|
||||
Common.info("更新成功");
|
||||
Lib.closeFrame();
|
||||
});
|
||||
}else{
|
||||
teacherOpenCourseHomeworkApi.addTeacherOpenCourseHomework($('#addForm'),function(){
|
||||
parent.window.dataReload();
|
||||
Common.info("添加成功");
|
||||
Lib.closeFrame();
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
$("#addButton-cancel").click(function(){
|
||||
Lib.closeFrame();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
exports('add',view);
|
||||
});
|
@ -0,0 +1,23 @@
|
||||
layui.define(['table', 'teacherOpenCourseHomeworkApi'], function(exports) {
|
||||
var teacherOpenCourseHomeworkApi = layui.teacherOpenCourseHomeworkApi;
|
||||
var table=layui.table;
|
||||
var view = {
|
||||
init:function(){
|
||||
},
|
||||
delBatch:function(){
|
||||
var data = Common.getMoreDataFromTable(table,"teacherOpenCourseHomeworkTable");
|
||||
if(data==null){
|
||||
return ;
|
||||
}
|
||||
Common.openConfirm("确认要删除这些开课作业?",function(){
|
||||
var ids =Common.concatBatchId(data,"teacherOpenCourseHomeworkId");
|
||||
teacherOpenCourseHomeworkApi.del(ids,function(){
|
||||
Common.info("删除成功");
|
||||
dataReload();
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
exports('del',view);
|
||||
|
||||
});
|
@ -0,0 +1,28 @@
|
||||
layui.define([ 'form', 'laydate', 'table','teacherOpenCourseHomeworkApi'], function(exports) {
|
||||
var form = layui.form;
|
||||
var teacherOpenCourseHomeworkApi = layui.teacherOpenCourseHomeworkApi;
|
||||
var index = layui.index;
|
||||
var view = {
|
||||
init:function(){
|
||||
Lib.initGenrealForm($("#updateForm"),form);
|
||||
this.initSubmit();
|
||||
},
|
||||
initSubmit:function(){
|
||||
$("#updateButton").click(function(){
|
||||
form.on('submit(form)', function(){
|
||||
teacherOpenCourseHomeworkApi.updateTeacherOpenCourseHomework($('#updateForm'),function(){
|
||||
parent.window.dataReload();
|
||||
Common.info("更新成功");
|
||||
Lib.closeFrame();
|
||||
});
|
||||
});
|
||||
});
|
||||
$("#updateButton-cancel").click(function(){
|
||||
Lib.closeFrame();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
exports('edit',view);
|
||||
|
||||
});
|
@ -0,0 +1,18 @@
|
||||
/*访问后台的代码*/
|
||||
layui.define([], function(exports) {
|
||||
var api={
|
||||
updateTeacherOpenCourseHomework:function(form,callback){
|
||||
Lib.submitForm("/jlw/teacherOpenCourseHomework/edit.json",form,{},callback)
|
||||
},
|
||||
addTeacherOpenCourseHomework:function(form,callback){
|
||||
Lib.submitForm("/jlw/teacherOpenCourseHomework/add.json",form,{},callback)
|
||||
},
|
||||
del:function(ids,callback){
|
||||
Common.post("/jlw/teacherOpenCourseHomework/delete.json",{"ids":ids},function(){
|
||||
callback();
|
||||
})
|
||||
}
|
||||
|
||||
};
|
||||
exports('teacherOpenCourseHomeworkApi',api);
|
||||
});
|
@ -0,0 +1,29 @@
|
||||
<!--#layout("/common/layout.html",{"jsBase":"/js/jlw/teacherOpenCourseHomework/"}){ -->
|
||||
<layui:searchForm formId="searchForm" searchList="" condition="${search}">
|
||||
</layui:searchForm>
|
||||
<table id="teacherOpenCourseHomeworkTable" lay-filter="teacherOpenCourseHomeworkTable"></table>
|
||||
<!--#} -->
|
||||
|
||||
<script type="text/html" id="toolbar_teacherOpenCourseHomework">
|
||||
<div class="layui-btn-container">
|
||||
<div class="layui-btn-group" >
|
||||
<!--# if(core.searchIsShow(search)) {-->
|
||||
<layui:accessButton function="teacherOpenCourseHomework.query" id="searchFormSearch" action="search"><i class="layui-icon"></i>搜索</layui:accessButton>
|
||||
<!--# }-->
|
||||
<layui:accessButton function="teacherOpenCourseHomework.add" action="add">添加</layui:accessButton>
|
||||
<layui:accessButton function="teacherOpenCourseHomework.edit" action="edit">修改</layui:accessButton>
|
||||
<layui:accessButton function="teacherOpenCourseHomework.del" action="del">删除</layui:accessButton>
|
||||
<!--# if(!isEmpty(search)) {-->
|
||||
<layui:accessButton function="teacherOpenCourseHomework.query" action="refresh"><i class="layui-icon"></i>刷新</layui:accessButton>
|
||||
<!--# }-->
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
<script>
|
||||
|
||||
layui.use(['index'], function(){
|
||||
var index = layui.index;
|
||||
index.init();
|
||||
});
|
||||
|
||||
</script>
|
@ -1,118 +0,0 @@
|
||||
package com.ibeetl.jlw.web;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
import org.springframework.test.web.servlet.RequestBuilder;
|
||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* TODO 还没写完 暂时不能用
|
||||
* </p>
|
||||
*
|
||||
* @author mlx
|
||||
* @date 2022/9/20
|
||||
* @modified
|
||||
*/
|
||||
class TeacherOpenCourseMergeSchoolClassControllerTest {
|
||||
|
||||
private final Log log = LogFactory.getLog(this.getClass());
|
||||
private static final String MODEL = "/jlw/teacherOpenCourseMergeSchoolClass";
|
||||
private static final String API = "/api/teacherOpenCourseMergeSchoolClass";
|
||||
|
||||
@Autowired
|
||||
private MockMvc mvc;
|
||||
|
||||
@Test
|
||||
void getPageList() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void getInfo() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void getList() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void index() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void edit() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void add() throws Exception {
|
||||
Map map = JSONUtil.toBean("{\n" +
|
||||
" \"teacherOpenCourseMergeSchoolClassId\": 60,\n" +
|
||||
" \"teacherOpenCourseId\": 84,\n" +
|
||||
" \"schoolClassId\": 78,\n" +
|
||||
" \"teacherOpenCourseMergeSchoolClassStatus\": 86,\n" +
|
||||
" \"teacherOpenCourseMergeSchoolClassAddTime\": \"2015-01-06 04:18:36\",\n" +
|
||||
" \"orgId\": 84,\n" +
|
||||
" \"userId\": 16,\n" +
|
||||
" \"teacherOpenCourseMergeSchoolClassIdPlural\": \"fake_data\",\n" +
|
||||
" \"teacherOpenCourseIdPlural\": \"fake_data\",\n" +
|
||||
" \"schoolClassIdPlural\": \"fake_data\",\n" +
|
||||
" \"teacherOpenCourseMergeSchoolClassStatusPlural\": \"fake_data\",\n" +
|
||||
" \"orgIdPlural\": \"fake_data\",\n" +
|
||||
" \"userIdPlural\": \"fake_data\",\n" +
|
||||
" \"teacherOpenCourseMergeSchoolClassJsonStr\": \"fake_data\",\n" +
|
||||
" \"_given\": \"fake_data\"\n" +
|
||||
" }", Map.class);
|
||||
|
||||
//构造请求参数
|
||||
RequestBuilder rb = MockMvcRequestBuilders.post(MODEL + "/add.json").params((MultiValueMap<String, String>) map);
|
||||
//发送请求,验证返回结果
|
||||
String result = mvc.perform(rb)
|
||||
.andExpect(status().isOk())
|
||||
.andExpect(MockMvcResultMatchers.jsonPath("$.data.name").value("zhangsan"))
|
||||
.andReturn().getResponse().getContentAsString();
|
||||
log.info(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void list() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void addAll() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void testAdd() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void update() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void queryInfo() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void getValues() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void delete() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void deleteByCondition() {
|
||||
}
|
||||
}
|
@ -0,0 +1,124 @@
|
||||
package com.ibeetl.jlw.web;
|
||||
|
||||
import base.BaseTest;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.ibeetl.admin.core.util.BeanUtil;
|
||||
import com.ibeetl.jlw.dao.ResourcesQuestionDao;
|
||||
import com.ibeetl.jlw.entity.TeacherOpenCourseMergeSchoolClass;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.junit.Test;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.test.web.servlet.RequestBuilder;
|
||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
|
||||
import org.springframework.util.MultiValueMapAdapter;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.ibeetl.admin.test.util.test.RandomUtils.randomPojo;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* TODO 还没写完 暂时不能用
|
||||
* </p>
|
||||
*
|
||||
* @author mlx
|
||||
* @date 2022/9/20
|
||||
* @modified
|
||||
*/
|
||||
public class TeacherOpenCourseMergeSchoolClassControllerTest extends BaseTest {
|
||||
|
||||
private final Log log = LogFactory.getLog(this.getClass());
|
||||
private static final String MODEL = "/jlw/teacherOpenCourseMergeSchoolClass";
|
||||
private static final String API = "/api/teacherOpenCourseMergeSchoolClass";
|
||||
|
||||
@Resource
|
||||
private ResourcesQuestionDao resourcesQuestionDao;
|
||||
|
||||
/**
|
||||
* 获取登入信息session
|
||||
*
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@Test
|
||||
public void getPageList() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getInfo() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getList() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void edit() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void add() throws Exception {
|
||||
|
||||
// ResourcesQuestionQuery resourcesQuestionQuery = new ResourcesQuestionQuery();
|
||||
// resourcesQuestionQuery.setQuestionStatus(1);
|
||||
// List<ResourcesQuestion> valuesByQuery = resourcesQuestionDao.getValuesByQuery(resourcesQuestionQuery);
|
||||
// List<ResourcesQuestion> questionList = RandomUtil.randomEleList(valuesByQuery, RandomUtil.randomInt(valuesByQuery.size()));
|
||||
// String resourcesQuestionIds = questionList.stream().map(e -> String.valueOf(e.getResourcesQuestionId())).collect(Collectors.joining(","));
|
||||
// 自动填充属性
|
||||
TeacherOpenCourseMergeSchoolClass teacherOpenCourseMergeSchoolClass = randomPojo(TeacherOpenCourseMergeSchoolClass.class);
|
||||
Map<String, String> stringMap = BeanUtil.beanToMapStr(teacherOpenCourseMergeSchoolClass);
|
||||
MultiValueMapAdapter multiValueMapAdapter = new MultiValueMapAdapter(Maps.newHashMap());
|
||||
stringMap.forEach(multiValueMapAdapter::add);
|
||||
//构造请求参数
|
||||
RequestBuilder rb = MockMvcRequestBuilders.post(MODEL + "/add.json").contentType(MediaType.APPLICATION_FORM_URLENCODED_VALUE)
|
||||
.params(multiValueMapAdapter);
|
||||
//发送请求,验证返回结果
|
||||
String result = mvc.perform(rb)
|
||||
.andExpect(status().isOk())
|
||||
.andExpect(MockMvcResultMatchers.jsonPath("$.code").value("0"))
|
||||
.andReturn().getResponse().getContentAsString();
|
||||
|
||||
log.info(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void list() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addAll() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAdd() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void update() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void queryInfo() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getValues() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void delete() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void deleteByCondition() {
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
# \u8BBE\u7F6E\u9ED8\u8BA4\u7684\u6570\u636E\u6E90\u6216\u8005\u6570\u636E\u6E90\u7EC4,\u9ED8\u8BA4\u503C\u5373\u4E3A ds1
|
||||
spring.datasource.dynamic.primary = master
|
||||
spring.datasource.dynamic.p6spy = false
|
||||
spring.datasource.dynamic.strict = false
|
||||
spring.datasource.dynamic.hikari.max-pool-size=30
|
||||
spring.datasource.dynamic.hikari.connection-test-query=SELECT 1
|
||||
|
||||
# master
|
||||
spring.datasource.dynamic.datasource.master.driverClassName=com.mysql.cj.jdbc.Driver
|
||||
spring.datasource.dynamic.datasource.master.url=jdbc:mysql://124.223.219.235:3306/tzcj?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
|
||||
spring.datasource.dynamic.datasource.master.username=root
|
||||
spring.datasource.dynamic.datasource.master.password=root
|
||||
|
||||
# ds2
|
||||
#spring.datasource.dynamic.datasource.ds2.driverClassName=com.mysql.cj.jdbc.Driver
|
||||
#spring.datasource.dynamic.datasource.ds2.url=jdbc:mysql://124.223.219.235:3306/tzcj?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
|
||||
#spring.datasource.dynamic.datasource.ds2.username=root
|
||||
#spring.datasource.dynamic.datasource.ds2.password=root
|
||||
|
||||
# sqlManagers = \u591A\u4E2A sqlManager \u5217\u8868
|
||||
dynamic.beetlsql.sqlManagers = master
|
||||
# primary \u9ED8\u8BA4 sqlManager
|
||||
# transactionManager \u9ED8\u8BA4\u81EA\u52A8\u751F\u6210\uFF0C\u5982\u9700\u81EA\u5DF1\u7BA1\u7406\u5219\u8BBE\u7F6E\u4E3A false
|
||||
# dynamic.beetlsql.transactionManager = false
|
||||
|
||||
# \u9ED8\u8BA4\u503C _default
|
||||
dynamic.beetlsql._default.dev = true
|
||||
|
||||
# 1, \u914D\u7F6E\u5355\u72EC sqlManager
|
||||
# A) \u540D\u79F0: ds1, dataSource \u540C\u540D\u79F0 ds1, \u6216 dynamic.beetlsql.ds1.ds = ds1
|
||||
dynamic.beetlsql.master.sqlPath = sql
|
||||
dynamic.beetlsql.master.daoSuffix = Dao
|
||||
dynamic.beetlsql.master.basePackage = com.ibeetl
|
||||
dynamic.beetlsql.master.dbStyle = org.beetl.sql.core.db.MySqlStyle
|
||||
|
||||
# \u6A21\u62DF\u7528\u6237\u767B\u5F55 \u53EA\u80FD\u7528\u5728\u672C\u5730\u6D4B\u8BD5\u65F6\u5019\u4F7F\u7528
|
||||
user.id=1
|
||||
user.orgId=1
|
Loading…
Reference in New Issue