Commit c44c63a4 authored by 刘帅's avatar 刘帅

1.BUG修复

parent 63bca5aa
......@@ -42,6 +42,9 @@ public class TbMemberScore extends BaseEntity
@Excel(name = "类型")
private Integer type;
// 学员ID
private Long studentId;
/** 收入支出(0-无,1-收入,2-支出) */
@Excel(name = "收入支出", readConverterExp = "1=-收入,2-支出")
private Integer incomeExpenses;
......
......@@ -62,6 +62,14 @@ public interface TbMemberScoreMapper
*/
public int deleteTbMemberScoreByMemberScoreIds(Long[] memberScoreIds);
/**
* 批量删除用户积分详情
*
* @param studentIds 需要删除的学员ID集合
* @return 结果
*/
public int deleteTbMemberScoreByStudentId(Long[] studentIds);
/**
* 我的积分列表
*
......
......@@ -143,21 +143,22 @@ public class TbExamSubjectServiceImpl implements ITbExamSubjectService {
*/
@Override
public int deleteTbExamSubjectByExamSubjectIds(Long[] examSubjectIds) {
// 没看明白这段校验是什么意思,表结构混乱!
//查看该题目是否绑定考试,如果有则不能删除
StringBuilder stringBuilder = new StringBuilder("考试题目编号为:");//这全部只是考虑了正式考试,模拟考试没有考虑
boolean flag = true;
for (Long examSubjectId : examSubjectIds) {
TbExamSubjectFormal params = new TbExamSubjectFormal();
params.setExamSubjectId(examSubjectId);//根据考试题目编号查询 正式考试题目对象
List<TbExamSubjectFormal> tbExamSubjectFormals = tbExamSubjectFormalMapper.selectTbExamSubjectFormalList(params);
if (ObjectUtils.isNotEmpty(tbExamSubjectFormals)) {
stringBuilder.append(examSubjectId).append(",");
flag = false;
}
}
if (!flag){
throw new ServiceException(stringBuilder +"已绑定考试,不能删除");
}
// StringBuilder stringBuilder = new StringBuilder("考试题目编号为:");//这全部只是考虑了正式考试,模拟考试没有考虑
// boolean flag = true;
// for (Long examSubjectId : examSubjectIds) {
// TbExamSubjectFormal params = new TbExamSubjectFormal();
// params.setExamSubjectId(examSubjectId);//根据考试题目编号查询 正式考试题目对象
// List<TbExamSubjectFormal> tbExamSubjectFormals = tbExamSubjectFormalMapper.selectTbExamSubjectFormalList(params);
// if (ObjectUtils.isNotEmpty(tbExamSubjectFormals)) {
// stringBuilder.append(examSubjectId).append(",");
// flag = false;
// }
// }
// if (!flag){
// throw new ServiceException(stringBuilder +"已绑定考试,不能删除");
// }
return tbExamSubjectMapper.deleteTbExamSubjectByExamSubjectIds(examSubjectIds);
}
......
......@@ -307,8 +307,10 @@ public class TbStudentServiceImpl implements ITbStudentService {
* @param studentIds 需要删除的学员主键
* @return 结果
*/
@Transactional(rollbackFor = Exception.class)
@Override
public int deleteTbStudentByStudentIds(Long[] studentIds) {
tbMemberScoreMapper.deleteTbMemberScoreByStudentId(studentIds);
return tbStudentMapper.deleteTbStudentByStudentIds(studentIds);
}
......@@ -678,7 +680,7 @@ public class TbStudentServiceImpl implements ITbStudentService {
student.setOpenId(openId);
student.setPhone(phoneNumber);
student.setUnionId(unionId);
student.setParentId(higherUserId);
student.setSex(0);
student.setUnionId(unionId);
student.setStudentNumber(IdUtils.fastSimpleUUID());
......@@ -707,6 +709,7 @@ public class TbStudentServiceImpl implements ITbStudentService {
memberScore.setName("邀请用户赠送积分");
memberScore.setScore(score);
memberScore.setType(2);
memberScore.setStudentId(student.getStudentId());
memberScore.setIncomeExpenses(1);
memberScore.setCreateTime(DateUtils.getNowDate());
tbMemberScoreMapper.insertTbMemberScore(memberScore);
......
......@@ -147,6 +147,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{memberScoreId}
</foreach>
</delete>
<delete id="deleteTbMemberScoreByStudentId">
delete from tb_member_score where student_id in
<foreach item="studentId" collection="array" open="(" separator="," close=")">
#{studentId}
</foreach>
</delete>
<select id="getMemberScoreList" resultType="map">
select
......
......@@ -35,7 +35,7 @@
{{ title }}
</h1>
</router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
<router-link v-else key="expand" class="sidebar-logo-link" to="/" style="margin-top: 10px;">
<img
v-if="logo"
src="../../../assets/logo/left_logo.png"
......
......@@ -163,13 +163,27 @@
<el-input v-model="form.liveBroadcastUrl" placeholder="请输入直播地址" />
</el-form-item>
<el-form-item label="直播开始时间" prop="startTime">
<el-date-picker clearable v-model="form.startTime" type="datetime" value-format="yyyy-MM-dd HH:mm"
placeholder="请选择直播开始时间">
<el-date-picker
clearable
v-model="form.startTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
placeholder="请选择直播开始时间"
:picker-options="startPickerOptions"
@change="handleStartTimeChange"
>
</el-date-picker>
</el-form-item>
<el-form-item label="直播结束时间" prop="endTime">
<el-date-picker clearable v-model="form.endTime" type="datetime" value-format="yyyy-MM-dd HH:mm"
placeholder="请选择直播开始时间">
<el-date-picker
clearable
v-model="form.endTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
placeholder="请选择直播结束时间"
:picker-options="endPickerOptions"
:disabled="!form.startTime"
>
</el-date-picker>
</el-form-item>
<el-form-item label="推荐" prop="isRecommend">
......@@ -292,12 +306,42 @@ export default {
form: {},
// 表单校验
rules: {},
// 开始时间选择器选项
startPickerOptions: {
disabledDate: (time) => {
// 如果已选择结束时间,开始时间不能晚于结束时间
if (this.form.endTime) {
return time.getTime() > new Date(this.form.endTime).getTime()
}
return false
}
},
// 结束时间选择器选项
endPickerOptions: {
disabledDate: (time) => {
// 结束时间必须在开始时间之后
if (this.form.startTime) {
return time.getTime() < new Date(this.form.startTime).getTime()
}
return false
}
}
};
},
created() {
this.getList();
},
methods: {
// 当开始时间变化时重置结束时间
handleStartTimeChange(val) {
if (val && this.form.endTime) {
const startTime = new Date(val).getTime()
const endTime = new Date(this.form.endTime).getTime()
if (endTime < startTime) {
this.form.endTime = ''
}
}
},
/** 列表弹窗 */
getLiveBroadcastTeacherList(row) {
this.liveBroadcastId = row.liveBroadcastId;
......
......@@ -239,15 +239,15 @@ export default {
],
typeTwoOptions: [
{
label: "NEWS",
label: "第一栏",
value: 1,
},
{
label: "权威发布",
label: "第二栏",
value: 2,
},
{
label: "今日播报",
label: "第三栏",
value: 3,
},
],
......
......@@ -19,6 +19,7 @@
auto-complete="off"
placeholder="密码"
@keyup.enter.native="handleLogin"
show-password
>
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
</el-input>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment