diff --git a/README.md b/README.md
index 006219f..2a567d6 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,3 @@
# assessment-admin
-风险测评后端代码仓库
\ No newline at end of file
+易税通财税风险检测后端代码仓库
\ No newline at end of file
diff --git a/admin-hanhai-vue/.env b/admin-hanhai-vue/.env
index 1d3d222..f75e04e 100644
--- a/admin-hanhai-vue/.env
+++ b/admin-hanhai-vue/.env
@@ -1,5 +1,5 @@
NODE_ENV=production
-VUE_APP_PLATFORM_NAME=风险测评
+VUE_APP_PLATFORM_NAME=易税通财税风险检测
# 开启单点登录
VUE_APP_SSO=false
# 开启微应用模式
diff --git a/admin-hanhai-vue/.env.development b/admin-hanhai-vue/.env.development
index 33a8515..36dbd49 100644
--- a/admin-hanhai-vue/.env.development
+++ b/admin-hanhai-vue/.env.development
@@ -1,5 +1,6 @@
NODE_ENV=development
-VUE_APP_API_BASE_URL=http://localhost:8000/assessment-admin/
+//VUE_APP_API_BASE_URL=https://assessment.augcl.com/assessment-admin/
+VUE_APP_API_BASE_URL=http://localhost:8001/assessment-admin/
VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview
diff --git a/admin-hanhai-vue/.env.production b/admin-hanhai-vue/.env.production
index 237f6e3..a6bd0ab 100644
--- a/admin-hanhai-vue/.env.production
+++ b/admin-hanhai-vue/.env.production
@@ -1,4 +1,5 @@
NODE_ENV=production
-VUE_APP_API_BASE_URL=http://localhost:8000/assessment-admin/
+//VUE_APP_API_BASE_URL=https://assessment.augcl.com/assessment-admin/
+VUE_APP_API_BASE_URL=http://localhost:8001/assessment-admin/
VUE_APP_CAS_BASE_URL=http://localhost:8888/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview
\ No newline at end of file
diff --git a/admin-hanhai-vue/public/index.html b/admin-hanhai-vue/public/index.html
index b393a77..692ad26 100644
--- a/admin-hanhai-vue/public/index.html
+++ b/admin-hanhai-vue/public/index.html
@@ -5,7 +5,7 @@
-
风险测评
+ 易税通财税风险检测
\ No newline at end of file
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue/modules/AssessmentReportUserForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue/modules/AssessmentReportUserForm.vue
new file mode 100644
index 0000000..ef798e6
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue/modules/AssessmentReportUserForm.vue
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue/modules/AssessmentReportUserModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue/modules/AssessmentReportUserModal.Style#Drawer.vue
new file mode 100644
index 0000000..004ca0e
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue/modules/AssessmentReportUserModal.Style#Drawer.vue
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue/modules/AssessmentReportUserModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue/modules/AssessmentReportUserModal.vue
new file mode 100644
index 0000000..5ff941d
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue/modules/AssessmentReportUserModal.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue3/AssessmentReportUser.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue3/AssessmentReportUser.api.ts
new file mode 100644
index 0000000..44ef939
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue3/AssessmentReportUser.api.ts
@@ -0,0 +1,61 @@
+import {defHttp} from '/@/utils/http/axios';
+import {Modal} from 'ant-design-vue';
+
+enum Api {
+ list = '/assessmentReportUser/assessmentReportUser/list',
+ save='/assessmentReportUser/assessmentReportUser/add',
+ edit='/assessmentReportUser/assessmentReportUser/edit',
+ deleteOne = '/assessmentReportUser/assessmentReportUser/delete',
+ deleteBatch = '/assessmentReportUser/assessmentReportUser/deleteBatch',
+ importExcel = '/assessmentReportUser/assessmentReportUser/importExcel',
+ exportXls = '/assessmentReportUser/assessmentReportUser/exportXls',
+}
+/**
+ * 导出api
+ * @param params
+ */
+export const getExportUrl = Api.exportXls;
+/**
+ * 导入api
+ */
+export const getImportUrl = Api.importExcel;
+/**
+ * 列表接口
+ * @param params
+ */
+export const list = (params) =>
+ defHttp.get({url: Api.list, params});
+
+/**
+ * 删除单个
+ */
+export const deleteOne = (params,handleSuccess) => {
+ return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
+ handleSuccess();
+ });
+}
+/**
+ * 批量删除
+ * @param params
+ */
+export const batchDelete = (params, handleSuccess) => {
+ Modal.confirm({
+ title: '确认删除',
+ content: '是否删除选中数据',
+ okText: '确认',
+ cancelText: '取消',
+ onOk: () => {
+ return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => {
+ handleSuccess();
+ });
+ }
+ });
+}
+/**
+ * 保存或者更新
+ * @param params
+ */
+export const saveOrUpdate = (params, isUpdate) => {
+ let url = isUpdate ? Api.edit : Api.save;
+ return defHttp.post({url: url, params});
+}
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue3/AssessmentReportUser.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue3/AssessmentReportUser.data.ts
new file mode 100644
index 0000000..d1e08d6
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue3/AssessmentReportUser.data.ts
@@ -0,0 +1,82 @@
+import {BasicColumn} from '/@/components/Table';
+import {FormSchema} from '/@/components/Table';
+import { rules} from '/@/utils/helper/validator';
+import { render } from '/@/utils/common/renderUtils';
+//列表数据
+export const columns: BasicColumn[] = [
+ {
+ title: '报告标题',
+ align:"center",
+ dataIndex: 'title'
+ },
+ {
+ title: '批次标识',
+ align:"center",
+ dataIndex: 'batchNo'
+ },
+ {
+ title: '姓名',
+ align:"center",
+ dataIndex: 'name'
+ },
+ {
+ title: '手机号',
+ align:"center",
+ dataIndex: 'phone'
+ },
+ {
+ title: '公司名称',
+ align:"center",
+ dataIndex: 'company'
+ },
+ {
+ title: '关联用户',
+ align:"center",
+ dataIndex: 'userId_dictText'
+ },
+];
+//查询数据
+export const searchFormSchema: FormSchema[] = [
+];
+//表单数据
+export const formSchema: FormSchema[] = [
+ {
+ label: '报告标题',
+ field: 'title',
+ component: 'Input',
+ },
+ {
+ label: '批次标识',
+ field: 'batchNo',
+ component: 'Input',
+ },
+ {
+ label: '姓名',
+ field: 'name',
+ component: 'Input',
+ },
+ {
+ label: '手机号',
+ field: 'phone',
+ component: 'Input',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: false},
+ { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'},
+ ];
+ },
+ },
+ {
+ label: '公司名称',
+ field: 'company',
+ component: 'Input',
+ },
+ {
+ label: '关联用户',
+ field: 'userId',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode:"han_hai_member,nick_name,id"
+ },
+ },
+];
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue3/AssessmentReportUserList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue3/AssessmentReportUserList.vue
new file mode 100644
index 0000000..7eecc4b
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue3/AssessmentReportUserList.vue
@@ -0,0 +1,162 @@
+
+
+
+
+
+
+ 新增
+ 导出
+ 导入
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 无文件
+ 下载
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue3/components/AssessmentReportUserModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue3/components/AssessmentReportUserModal.vue
new file mode 100644
index 0000000..32adbf4
--- /dev/null
+++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentReportUser/vue3/components/AssessmentReportUserModal.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jeecg-boot-module-system/pom.xml b/jeecg-boot-module-system/pom.xml
index 4ae1645..37e366d 100644
--- a/jeecg-boot-module-system/pom.xml
+++ b/jeecg-boot-module-system/pom.xml
@@ -77,6 +77,7 @@
+ assessment-admin
org.springframework.boot
diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ConfigController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ConfigController.java
new file mode 100644
index 0000000..85b03c9
--- /dev/null
+++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ConfigController.java
@@ -0,0 +1,48 @@
+package org.jeecg.modules.api.assessmentController;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.api.bean.PageBean;
+import org.jeecg.modules.api.service.ConfigService;
+import org.jeecg.modules.assessmentBanner.entity.AssessmentBanner;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@Api(tags="系统配置-相关接口")
+@RestController
+@RequestMapping("/assessment/config")
+@Slf4j
+public class ConfigController {
+
+ /******************************************************************************************************************/
+ //配置信息
+ @Resource
+ private ConfigService configService;
+ /******************************************************************************************************************/
+
+ //查看系统配置列表
+ @ApiOperation(value="系统配置-查询系统配置列表", notes="系统配置-查询系统配置列表")
+ @RequestMapping(value = "/queryConfigList", method = {RequestMethod.GET})
+ public Result> queryConfigList(PageBean pageBean){
+ return configService.queryConfigList(pageBean);
+ }
+
+ //查看系统配置详情
+ @ApiOperation(value="系统配置-查询系统配置详情", notes="系统配置-查询系统配置详情")
+ @RequestMapping(value = "/queryConfigByParamCode", method = {RequestMethod.GET})
+ public Result> queryConfigByParamCode(String paramCode){
+ return configService.queryConfigByParamCode(paramCode);
+ }
+
+ @ApiOperation(value="首页-查询banner图列表", notes="type:0-首页")
+ @RequestMapping(value = "/queryBannerList", method = {RequestMethod.GET})
+ public Result> queryBannerList(AssessmentBanner assessmentBanner, PageBean pageBean){
+ return configService.queryBannerList(assessmentBanner, pageBean);
+ }
+
+}
diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ExamController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ExamController.java
new file mode 100644
index 0000000..3ace238
--- /dev/null
+++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ExamController.java
@@ -0,0 +1,75 @@
+package org.jeecg.modules.api.assessmentController;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.api.bean.PageBean;
+import org.jeecg.modules.api.service.ConfigService;
+import org.jeecg.modules.api.service.ExamService;
+import org.jeecg.modules.assessmentAnswerLog.entity.AssessmentAnswerLog;
+import org.jeecg.modules.assessmentPayLog.entity.AssessmentPayLog;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@Api(tags="测评-相关接口")
+@RestController
+@RequestMapping("/assessment/exam")
+@Slf4j
+public class ExamController {
+
+ /******************************************************************************************************************/
+ //配置信息
+ @Resource
+ private ExamService examService;
+ /******************************************************************************************************************/
+ //查询题库列表
+ @ApiOperation(value="测评-开始测评(查询题库列表)", notes="测评-查询题库列表")
+ @RequestMapping(value = "/queryCategoryList", method = {RequestMethod.GET})
+ public Result> queryCategoryList(PageBean pageBean){
+ return examService.queryCategoryList(pageBean);
+ }
+
+ //查询答题列表
+ @ApiOperation(value="测评-开始答题(查询题目列表)", notes="categories:以;分隔题库id")
+ @RequestMapping(value = "/queryQuestionList", method = {RequestMethod.GET})
+ public Result> queryQuestionList(@RequestHeader("X-Access-Token") String token, String categories){
+ return examService.queryQuestionList(token, categories);
+ }
+
+ //测评-提交答案
+ @ApiOperation(value="测评-提交答案", notes="测评-提交答案")
+ @RequestMapping(value = "/updateAnswer", method = {RequestMethod.GET})
+ public Result> updateAnswer(@RequestHeader("X-Access-Token") String token, AssessmentAnswerLog assessmentAnswerLog){
+ return examService.updateAnswer(token, assessmentAnswerLog);
+ }
+
+ //我的-我的答题
+ @ApiOperation(value="我的-我的答题", notes="我的-我的答题")
+ @RequestMapping(value = "/queryExamLogList", method = {RequestMethod.GET})
+ public Result> queryExamLogList(@RequestHeader("X-Access-Token") String token, String isFinished, PageBean pageBean){
+ return examService.queryExamLogList(token, isFinished, pageBean);
+ }
+
+ //测评-继续答题
+ @ApiOperation(value="测评-继续答题", notes="测评-继续答题")
+ @RequestMapping(value = "/queryExamById", method = {RequestMethod.GET})
+ public Result> queryExamById(@RequestHeader("X-Access-Token") String token, String examId){
+ return examService.queryExamById(token, examId);
+ }
+
+ //支付-创建订单
+ @ApiOperation(value="支付-立即支付(创建订单)", notes="支付-立即支付(创建订单)")
+ @RequestMapping(value = "/createOrder", method = {RequestMethod.POST})
+ public Result> createOrder(@RequestHeader("X-Access-Token") String token, AssessmentPayLog assessmentPayLog){
+ return examService.createOrder(token, assessmentPayLog);
+ }
+
+ //支付回调
+ @PostMapping("/payOrderNotify")
+ public Object payOrderNotify(@RequestBody String requestBody){
+ return examService.payOrderNotify(requestBody);
+ }
+
+}
diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/LoginApiController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/LoginApiController.java
new file mode 100644
index 0000000..35ef632
--- /dev/null
+++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/LoginApiController.java
@@ -0,0 +1,41 @@
+package org.jeecg.modules.api.assessmentController;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.api.service.LoginApiService;
+import org.jeecg.modules.bean.LoginReq;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@Api(tags="登录-相关接口")
+@RestController
+@RequestMapping("/assessment/login")
+@Slf4j
+public class LoginApiController {
+
+ /******************************************************************************************************************/
+ //登录信息
+ @Resource
+ private LoginApiService loginApiService;
+ /******************************************************************************************************************/
+
+ //小程序-微信授权登录接口
+ @ApiOperation(value="小程序-微信授权登录接口", notes="小程序-微信授权登录接口")
+ @GetMapping("/login")
+ public Result> login(LoginReq loginReq){
+ return loginApiService.login(loginReq);
+ }
+
+ //绑定手机号码
+ @ApiOperation(value="小程序-绑定手机号码", notes="小程序-绑定手机号码")
+ @GetMapping(value = "/bindPhone")
+ public Result