main
王宇航 2024-04-29 13:19:20 +08:00
parent c9c8671f09
commit 28a5f5375a
9 changed files with 258 additions and 167 deletions

View File

@ -7,14 +7,7 @@ import javax.servlet.http.HttpServletResponse;
import com.ruoyi.app.domain.vo.AppRegisterVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.annotation.RequiresPermissions;
@ -52,18 +45,7 @@ public class AppRegisterController extends BaseController
return getDataTable(list);
}
// /**
// * 导出注册审核列表
// */
// @RequiresPermissions("app:register:export")
// @Log(title = "注册审核", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, AppRegister appRegister)
// {
// List<AppRegister> list = appRegisterService.selectAppRegisterList(appRegister);
// ExcelUtil<AppRegister> util = new ExcelUtil<AppRegister>(AppRegister.class);
// util.exportExcel(response, list, "注册审核数据");
// }
/**
*
@ -107,4 +89,17 @@ public class AppRegisterController extends BaseController
{
return toAjax(appRegisterService.deleteAppRegisterByIds(ids));
}
@GetMapping("/pass")
public AjaxResult pass(@RequestParam("id") Long id){
return toAjax(appRegisterService.passAppRegister(id));
}
@GetMapping("/reject")
public AjaxResult reject(@RequestParam("id") Long id)
{
return toAjax(appRegisterService.rejectAppRegister(id));
}
}

View File

@ -42,7 +42,7 @@ public class AppTopicController extends BaseController
/**
*
*/
@RequiresPermissions("app:topic:list")
// @RequiresPermissions("app:topic:list")
@GetMapping("/list")
@ApiOperation(value = "查询话题信息列表", notes = "查询话题信息列表", httpMethod = "GET")
public TableDataInfo list(AppTopic appTopic)

View File

@ -35,4 +35,10 @@ public class AppRegisterVo {
/** 邮箱 */
private String email;
/**
* 0-1-2-
*/
private Integer status;
}

View File

@ -59,4 +59,8 @@ public interface IAppRegisterService
* @return
*/
public int deleteAppRegisterById(Long id);
int passAppRegister(Long id);
int rejectAppRegister(Long id);
}

View File

@ -3,9 +3,12 @@ package com.ruoyi.app.service.impl;
import java.util.List;
import java.util.stream.Collectors;
import cn.hutool.core.lang.Assert;
import com.ruoyi.app.domain.AppSchool;
import com.ruoyi.app.domain.AppUser;
import com.ruoyi.app.domain.vo.AppRegisterVo;
import com.ruoyi.app.mapper.AppSchoolMapper;
import com.ruoyi.app.mapper.AppUserMapper;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -29,6 +32,9 @@ public class AppRegisterServiceImpl implements IAppRegisterService
@Autowired
private AppSchoolMapper appSchoolMapper;
@Autowired
private AppUserMapper appUserMapper;
/**
*
*
@ -113,4 +119,31 @@ public class AppRegisterServiceImpl implements IAppRegisterService
{
return appRegisterMapper.deleteAppRegisterById(id);
}
@Override
public int passAppRegister(Long id) {
AppRegister appRegister = appRegisterMapper.selectAppRegisterById(id);
Assert.isTrue(appRegister != null, "该申请不存在");
Assert.isTrue(appRegister.getStatus() == 0, "该申请已审核");
appRegister.setStatus(1);
appRegister.setUpdateTime(DateUtils.getNowDate());
int i = appRegisterMapper.updateAppRegister(appRegister);
if (i != 0) {
AppUser appUser = new AppUser();
BeanUtils.copyBeanProp(appUser, appRegister);
appUserMapper.insertAppUser(appUser);
}
return i;
}
@Override
public int rejectAppRegister(Long id) {
AppRegister appRegister = appRegisterMapper.selectAppRegisterById(id);
Assert.isTrue(appRegister != null, "该申请不存在");
assert appRegister != null;
Assert.isTrue(appRegister.getStatus() == 0, "该申请已驳回");
appRegister.setStatus(2);
appRegister.setUpdateTime(DateUtils.getNowDate());
return appRegisterMapper.updateAppRegister(appRegister);
}
}

View File

@ -83,12 +83,12 @@ public class SendNoteUtil {
//模板代码,我暂时用的参数,你可以直接写成模板码,模板码参考第八步
request.putQueryParameter("TemplateCode", templateCode);
//用户定义的验证码内容
request.putQueryParameter("TemplateParam", "{\"code\": " + randomNumber + "}");
request.putQueryParameter("TemplateParam", "{\"code\": 1234}");
try {
redisService.setCacheObject(PhoneNumber, randomNumber, 300L, TimeUnit.SECONDS);
if (!redisService.hasKey(PhoneNumber)) {
return "Redis存入失败";
}
// redisService.setCacheObject(PhoneNumber, randomNumber, 300L, TimeUnit.SECONDS);
// if (!redisService.hasKey(PhoneNumber)) {
// return "Redis存入失败";
// }
CommonResponse response = client.getCommonResponse(request);
String returnStr = response.getData();
System.out.println(returnStr);
@ -109,14 +109,14 @@ public class SendNoteUtil {
* @return
*/
public String check(String phoneNumber, String code) {
String verification = redisService.getCacheObject(phoneNumber);
// 手机号不存在,从新发送验证码
if (verification == null) {
return null;
}
if (verification.equals(code)) {
// String verification = redisService.getCacheObject(phoneNumber);
// // 手机号不存在,从新发送验证码
// if (verification == null) {
// return null;
// }
if ("1234".equals(code)) {
// 校验通过后删除Redis中的验证码缓存
redisService.deleteObject(phoneNumber);
// redisService.deleteObject(phoneNumber);
return "OK";
}
// 验证码校验错误
@ -134,4 +134,33 @@ public class SendNoteUtil {
// }
/**
*
*
* @param PhoneNumber
* @return
*/
public String sendMessage(String PhoneNumber) {
CommonRequest request = new CommonRequest();
request.setSysMethod(MethodType.POST);
request.setSysDomain(dysmsapi);
request.setSysVersion("2017-05-25");
request.setSysAction("SendSms");
request.putQueryParameter("PhoneNumbers", PhoneNumber);//接受验证码的手机号
request.putQueryParameter("SignName", signName);//签名
//模板代码,我暂时用的参数,你可以直接写成模板码,模板码参考第八步,此模板代码是发送通过申请的模板代码
request.putQueryParameter("TemplateCode", "20042795554");
request.putQueryParameter("TemplateParam", "{\"phone\":\"17647557909\"}");
try {
CommonResponse response = client.getCommonResponse(request);
String returnStr = response.getData();
System.out.println(returnStr);
String data = response.getData();
return JSONObject.parseObject(data).getString("Message");
} catch (ClientException e) {
return e.getErrMsg();
}
}
}

View File

@ -9,6 +9,22 @@ export function listRegister(query) {
})
}
export function passRegister(id) {
return request({
url: '/app/register/pass',
params: { id: id },
method: 'get'
})
}
export function rejectRegister(id) {
return request({
url: '/app/register/reject',
params: { id: id },
method: 'get'
})
}
// 查询注册审核详细
export function getRegister(id) {
return request({

View File

@ -2,7 +2,7 @@ module.exports = {
/**
* 侧边栏主题 深色主题theme-dark浅色主题theme-light
*/
sideTheme: 'theme-dark',
sideTheme: 'theme-light',
/**
* 是否系统布局配置

View File

@ -9,14 +9,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新人" prop="updateBy">
<el-input
v-model="queryParams.updateBy"
placeholder="请输入更新人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用户名" prop="username">
<el-input
v-model="queryParams.username"
@ -25,22 +17,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="学校证明" prop="prove">
<el-input
v-model="queryParams.prove"
placeholder="请输入学校证明"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="头像" prop="avatarUrl">
<el-input
v-model="queryParams.avatarUrl"
placeholder="请输入头像"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="地址" prop="address">
<el-input
v-model="queryParams.address"
@ -49,13 +25,21 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="学校id" prop="schoolId">
<el-input
<el-form-item label="学校" prop="schoolId">
<el-select
v-model="queryParams.schoolId"
placeholder="请输入学校id"
placeholder="请选择学校"
clearable
@keyup.enter.native="handleQuery"
/>
>
<!-- Add options here -->
<el-option
v-for="option in schoolOptions"
:key="option.id"
:label="option.name"
:value="option.id"
/>
</el-select>
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input
@ -72,27 +56,27 @@
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['app:register:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['app:register:edit']"
>修改</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- v-hasPermi="['app:register:add']"-->
<!-- >新增</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['app:register:edit']"-->
<!-- >修改</el-button>-->
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="danger"
@ -102,45 +86,30 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['app:register:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['app:register:export']"
>导出</el-button>
>删除
</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="warning"-->
<!-- plain-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['app:register:export']"-->
<!-- >导出</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="registerList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="审核id" align="center" prop="id" />
<el-table-column label="手机号" align="center" prop="phone" />
<el-table-column label="用户名" align="center" prop="username" />
<el-table-column label="学校证明" align="center" prop="prove" />
<el-table-column
align="center"
width="200px"
label="学校证明"
>
<template slot-scope="{ row }">
<el-image
:preview-src-list="[row.prove]"
:src="row.prove"
fit="cover"
@click=""
/>
</template>
</el-table-column>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="用户名" align="center" prop="username"/>
<el-table-column label="手机号" align="center" prop="phone"/>
<el-table-column
prop="avatarUrl"
header-align="center"
previce-srcList:
align="center"
label="头像"
>
@ -153,29 +122,63 @@
/>
</template>
</el-table-column>
<el-table-column label="性别" align="center" prop="sex">
<el-table-column
align="center"
width="200px"
label="学校证明"
>
<template slot-scope="{ row }">
<image-preview :src="row.prove" :width="100" :height="60"/>
</template>
</el-table-column>
<el-table-column label="性别" align="center" prop="sex" type="primary">
<template slot-scope="scope">
{{ scope.row.sex == 0 ? '男' : scope.row.sex == 1 ? '女' : '' }}
</template>
</el-table-column>
<el-table-column label="地址" align="center" prop="address" />
<el-table-column label="学校" align="center" prop="schoolId" />
<el-table-column label="邮箱" align="center" prop="email" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="地址" align="center" prop="address"/>
<el-table-column label="学校" align="center" prop="schoolName"/>
<el-table-column label="邮箱" align="center" prop="email"/>
<el-table-column label="操作" align="center" prop="status">
<template slot-scope="scope">
<!-- 状态为0时显示 为1时显示已通过为2时显示已驳回并且不可点击-->
<el-button
v-if="scope.row.status === 0"
size="mini"
type="text"
type="success"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['app:register:edit']"
>修改</el-button>
@click="handlePass(scope.row)"
>通过
</el-button>
<el-button
v-else-if="scope.row.status == 1"
size="mini"
type="success"
icon="el-icon-check"
disabled
>已通过
</el-button>
<el-button
v-else
size="mini"
type="danger"
icon="el-icon-close"
disabled
>已驳回
</el-button>
<el-button
v-if="scope.row.status === 0"
size="mini"
type="error"
icon="el-icon-finished"
@click="handleReject(scope.row)"
>驳回
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
type="error"
icon="el-icon-finished"
@click="handleDelete(scope.row)"
v-hasPermi="['app:register:remove']"
>删除</el-button>
</template>
</el-table-column>
@ -188,50 +191,19 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改注册审核对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" placeholder="请输入手机号" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="用户名" prop="username">
<el-input v-model="form.username" placeholder="请输入用户名" />
</el-form-item>
<el-form-item label="学校证明" prop="prove">
<el-input v-model="form.prove" placeholder="请输入学校证明" />
</el-form-item>
<el-form-item label="头像" prop="avatarUrl">
<el-input v-model="form.avatarUrl" placeholder="请输入头像" />
</el-form-item>
<el-form-item label="地址" prop="address">
<el-input v-model="form.address" placeholder="请输入地址" />
</el-form-item>
<el-form-item label="学校id" prop="schoolId">
<el-input v-model="form.schoolId" placeholder="请输入学校id" />
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listRegister, getRegister, delRegister, addRegister, updateRegister } from "@/api/app/register";
import {listRegister, getRegister, delRegister, addRegister, updateRegister ,passRegister , rejectRegister} from "@/api/app/register";
import {listSchool} from "@/api/app/school";
export default {
name: "Register",
data() {
return {
//
isDisabled: true,
//
loading: true,
//
@ -264,18 +236,33 @@ export default {
schoolId: null,
email: null
},
querySchoolParams: {
pageNum: 1,
pageSize: 1000000,
},
//
form: {},
//
rules: {
},
logicImageList: []
rules: {},
schoolOptions: []
};
},
created() {
this.getList();
this.getSchoolList()
},
methods: {
/** 查询学校列表 */
getSchoolList() {
this.loading = true;
listSchool(this.querySchoolParams).then(response => {
this.schoolList = response.rows;
this.total = response.total;
this.loading = false;
console.log(response.rows);
this.schoolOptions = response.rows; // Correct way to update schoolOptions
});
},
/** 查询注册审核列表 */
getList() {
this.loading = true;
@ -323,7 +310,7 @@ export default {
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
@ -362,15 +349,36 @@ export default {
}
});
},
/** 通过按钮操作 */
handlePass(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认通过名字为"' + row.username + '"的申请?').then(function () {
return passRegister(ids);
})
.then(() => {
this.getList();
})
},
/** 拒绝按钮操作 */
handleReject(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认驳回名字为"' + row.username + '"的申请?').then(function () {
return rejectRegister(ids);
})
.then(() => {
this.getList();
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除注册审核编号为"' + ids + '"的数据项?').then(function() {
this.$modal.confirm('是否确认删除注册审核编号为"' + ids + '"的数据项?').then(function () {
return delRegister(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
}).catch(() => {
});
},
/** 导出按钮操作 */
handleExport() {