Browse Source

1、帖子状态为审核通过才能展示

2、排名调整
3、用户信息增加地址字段
4、修复收藏列表bug
master
Aug 1 month ago
parent
commit
05cb2ba50b
38 changed files with 283 additions and 743 deletions
  1. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/controller/CommunityPostController.java
  2. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/entity/CommunityComment.java
  3. +8
    -4
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/entity/CommunityPost.java
  4. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/mapper/CommunityCommentMapper.java
  5. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/mapper/CommunityPostMapper.java
  6. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/service/ICommunityCommentService.java
  7. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/service/ICommunityPostService.java
  8. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/service/impl/CommunityCommentServiceImpl.java
  9. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/service/impl/CommunityPostServiceImpl.java
  10. +8
    -3
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vo/CommunityPostPage.java
  11. +10
    -4
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vue/CommunityPostList.vue
  12. +34
    -24
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vue/modules/CommunityPostForm.vue
  13. +7
    -0
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vue3/CommunityPost.api.ts
  14. +37
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vue3/CommunityPost.data.ts
  15. +15
    -15
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vue3/CommunityPostList.vue
  16. +54
    -9
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vue3/components/CommunityPostModal.vue
  17. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/controller/CommunityVolunteerController.java
  18. +8
    -2
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/entity/CommunityVolunteer.java
  19. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/mapper/CommunityVolunteerMapper.java
  20. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/service/ICommunityVolunteerService.java
  21. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/service/impl/CommunityVolunteerServiceImpl.java
  22. +7
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/vue/CommunityVolunteerList.vue
  23. +6
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/vue/modules/CommunityVolunteerForm.vue
  24. +18
    -2
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/vue3/CommunityVolunteer.data.ts
  25. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.java
  26. +10
    -6
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/entity/HanHaiMember.java
  27. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/HanHaiMemberMapper.java
  28. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/IHanHaiMemberService.java
  29. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/impl/HanHaiMemberServiceImpl.java
  30. +8
    -184
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/vue/HanHaiMemberList.vue
  31. +5
    -155
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/vue/modules/HanHaiMemberForm.vue
  32. +14
    -309
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/vue3/HanHaiMember.data.ts
  33. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/impl/ApiLoginServiceImpl.java
  34. +2
    -2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/communityController/UserInfoController.java
  35. +1
    -1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/UserInfoService.java
  36. +3
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/CommunityServiceImpl.java
  37. +1
    -1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ScoreServiceImpl.java
  38. +10
    -2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/UserInfoServiceImpl.java

+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/controller/CommunityPostController.java View File

@ -45,7 +45,7 @@ import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: 帖子动态信息表
* @Author: jeecg-boot
* @Date: 2025-07-28
* @Date: 2025-08-04
* @Version: V1.0
*/
@Api(tags="帖子动态信息表")


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/entity/CommunityComment.java View File

@ -16,7 +16,7 @@ import java.io.UnsupportedEncodingException;
/**
* @Description: 帖子评论表
* @Author: jeecg-boot
* @Date: 2025-07-28
* @Date: 2025-08-04
* @Version: V1.0
*/
@ApiModel(value="community_comment对象", description="帖子评论表")


+ 8
- 4
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/entity/CommunityPost.java View File

@ -21,7 +21,7 @@ import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 帖子动态信息表
* @Author: jeecg-boot
* @Date: 2025-07-28
* @Date: 2025-08-04
* @Version: V1.0
*/
@ApiModel(value="community_post对象", description="帖子动态信息表")
@ -55,10 +55,15 @@ public class CommunityPost implements Serializable {
@ApiModelProperty(value = "动态图片")
private java.lang.String image;
/**动态类型*/
@Excel(name = "动态类型", width = 15, dicCode = "communit_typey_post")
@Dict(dicCode = "communit_typey_post")
@Excel(name = "动态类型", width = 15, dicCode = "community_type_post")
@Dict(dicCode = "community_type_post")
@ApiModelProperty(value = "动态类型")
private java.lang.String type;
/**审核状态*/
@Excel(name = "审核状态", width = 15, dicCode = "community_status_post")
@Dict(dicCode = "community_status_post")
@ApiModelProperty(value = "审核状态")
private java.lang.String status;
/**关联用户*/
@Excel(name = "关联用户", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@ -72,5 +77,4 @@ public class CommunityPost implements Serializable {
//用户信息
@TableField(exist = false)
HanHaiMember member;
}

+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/mapper/CommunityCommentMapper.java View File

@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Param;
/**
* @Description: 帖子评论表
* @Author: jeecg-boot
* @Date: 2025-07-28
* @Date: 2025-08-04
* @Version: V1.0
*/
public interface CommunityCommentMapper extends BaseMapper<CommunityComment> {


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/mapper/CommunityPostMapper.java View File

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 帖子动态信息表
* @Author: jeecg-boot
* @Date: 2025-07-28
* @Date: 2025-08-04
* @Version: V1.0
*/
public interface CommunityPostMapper extends BaseMapper<CommunityPost> {


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/service/ICommunityCommentService.java View File

@ -7,7 +7,7 @@ import java.util.List;
/**
* @Description: 帖子评论表
* @Author: jeecg-boot
* @Date: 2025-07-28
* @Date: 2025-08-04
* @Version: V1.0
*/
public interface ICommunityCommentService extends IService<CommunityComment> {


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/service/ICommunityPostService.java View File

@ -10,7 +10,7 @@ import java.util.List;
/**
* @Description: 帖子动态信息表
* @Author: jeecg-boot
* @Date: 2025-07-28
* @Date: 2025-08-04
* @Version: V1.0
*/
public interface ICommunityPostService extends IService<CommunityPost> {


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/service/impl/CommunityCommentServiceImpl.java View File

@ -11,7 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description: 帖子评论表
* @Author: jeecg-boot
* @Date: 2025-07-28
* @Date: 2025-08-04
* @Version: V1.0
*/
@Service


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/service/impl/CommunityPostServiceImpl.java View File

@ -16,7 +16,7 @@ import java.util.Collection;
/**
* @Description: 帖子动态信息表
* @Author: jeecg-boot
* @Date: 2025-07-28
* @Date: 2025-08-04
* @Version: V1.0
*/
@Service


+ 8
- 3
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vo/CommunityPostPage.java View File

@ -17,7 +17,7 @@ import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 帖子动态信息表
* @Author: jeecg-boot
* @Date: 2025-07-28
* @Date: 2025-08-04
* @Version: V1.0
*/
@Data
@ -48,10 +48,15 @@ public class CommunityPostPage {
@ApiModelProperty(value = "动态图片")
private java.lang.String image;
/**动态类型*/
@Excel(name = "动态类型", width = 15, dicCode = "communit_typey_post")
@Dict(dicCode = "communit_typey_post")
@Excel(name = "动态类型", width = 15, dicCode = "community_type_post")
@Dict(dicCode = "community_type_post")
@ApiModelProperty(value = "动态类型")
private java.lang.String type;
/**审核状态*/
@Excel(name = "审核状态", width = 15, dicCode = "community_status_post")
@Dict(dicCode = "community_status_post")
@ApiModelProperty(value = "审核状态")
private java.lang.String status;
/**关联用户*/
@Excel(name = "关联用户", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")


+ 10
- 4
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vue/CommunityPostList.vue View File

@ -137,6 +137,11 @@
align:"center",
dataIndex: 'type_dictText'
},
{
title:'审核状态',
align:"center",
dataIndex: 'status_dictText'
},
{
title:'关联用户',
align:"center",
@ -176,10 +181,11 @@
},
getSuperFieldList(){
let fieldList=[];
fieldList.push({type:'string',value:'content',text:'动态文本',dictCode:''})
fieldList.push({type:'Text',value:'image',text:'动态图片',dictCode:''})
fieldList.push({type:'string',value:'type',text:'动态类型',dictCode:'communit_typey_post'})
fieldList.push({type:'string',value:'userId',text:'关联用户',dictCode:"han_hai_member,nick_name,id"})
fieldList.push({type:'string',value:'content',text:'动态文本',dictCode:''})
fieldList.push({type:'Text',value:'image',text:'动态图片',dictCode:''})
fieldList.push({type:'string',value:'type',text:'动态类型',dictCode:'community_type_post'})
fieldList.push({type:'string',value:'status',text:'审核状态',dictCode:'community_status_post'})
fieldList.push({type:'string',value:'userId',text:'关联用户',dictCode:"han_hai_member,nick_name,id"})
this.superFieldList = fieldList
}
}


+ 34
- 24
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vue/modules/CommunityPostForm.vue View File

@ -16,7 +16,12 @@
</a-col>
<a-col :span="24" >
<a-form-model-item label="动态类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="type">
<j-dict-select-tag type="list" v-model="model.type" dictCode="communit_typey_post" placeholder="请选择动态类型" />
<j-dict-select-tag type="list" v-model="model.type" dictCode="community_type_post" placeholder="请选择动态类型" />
</a-form-model-item>
</a-col>
<a-col :span="24" >
<a-form-model-item label="审核状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
<j-dict-select-tag type="list" v-model="model.status" dictCode="community_status_post" placeholder="请选择审核状态" />
</a-form-model-item>
</a-col>
<a-col :span="24" >
@ -30,7 +35,8 @@
<!-- 子表单区域 -->
<a-tabs v-model="activeKey" @change="handleChangeTabs">
<a-tab-pane tab="帖子评论表" :key="refKeys[0]" :forceRender="true">
<j-editable-table
<j-vxe-table
keep-source
:ref="refKeys[0]"
:loading="communityCommentTable.loading"
:columns="communityCommentTable.columns"
@ -39,7 +45,8 @@
:disabled="formDisabled"
:rowNumber="true"
:rowSelection="true"
:actionButton="true"/>
:toolbar="true"
/>
</a-tab-pane>
</a-tabs>
</a-spin>
@ -48,14 +55,17 @@
<script>
import { getAction } from '@/api/manage'
import { FormTypes,getRefPromise,VALIDATE_NO_PASSED } from '@/utils/JEditableTableUtil'
import { JEditableTableModelMixin } from '@/mixins/JEditableTableModelMixin'
import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
import { JVXETypes } from '@/components/jeecg/JVxeTable'
import { getRefPromise,VALIDATE_FAILED} from '@/components/jeecg/JVxeTable/utils/vxeUtils.js'
import { validateDuplicateValue } from '@/utils/util'
import JFormContainer from '@/components/jeecg/JFormContainer'
export default {
name: 'CommunityPostForm',
mixins: [JEditableTableModelMixin],
mixins: [JVxeTableModelMixin],
components: {
JFormContainer,
},
data() {
return {
@ -68,7 +78,7 @@
sm: { span: 16 },
},
model:{
},
},
//
addDefaultRowNum: 1,
validatorRules: {
@ -84,7 +94,7 @@
{
title: '文字描述',
key: 'content',
type: FormTypes.input,
type: JVXETypes.textarea,
width:"200px",
placeholder: '请输入${title}',
defaultValue:'',
@ -92,7 +102,7 @@
{
title: '图片',
key: 'image',
type: FormTypes.image,
type: JVXETypes.image,
token:true,
responseName:"message",
width:"200px",
@ -145,27 +155,27 @@
}
},
//
validateSubForm(allValues){
return new Promise((resolve,reject)=>{
Promise.all([
]).then(() => {
resolve(allValues)
}).catch(e => {
if (e.error === VALIDATE_NO_PASSED) {
// tab
this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index]
} else {
console.error(e)
}
validateSubForm(allValues){
return new Promise((resolve,reject)=>{
Promise.all([
]).then(() => {
resolve(allValues)
}).catch(e => {
if (e.error === VALIDATE_FAILED) {
// tab
this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index]
} else {
console.error(e)
}
})
})
})
},
},
/** 整理成formData */
classifyIntoFormData(allValues) {
let main = Object.assign(this.model, allValues.formValue)
return {
...main, //
communityCommentList: allValues.tablesValue[0].values,
communityCommentList: allValues.tablesValue[0].tableData,
}
},
validateError(msg){


+ 7
- 0
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vue3/CommunityPost.api.ts View File

@ -9,16 +9,23 @@ enum Api {
deleteBatch = '/communityPost/communityPost/deleteBatch',
importExcel = '/communityPost/communityPost/importExcel',
exportXls = '/communityPost/communityPost/exportXls',
communityCommentList = '/communityPost/communityPost/queryCommunityCommentByMainId',
}
/**
* api
* @param params
*/
export const getExportUrl = Api.exportXls;
/**
* api
*/
export const getImportUrl = Api.importExcel;
/**
*
* @param params
*/
export const communityCommentList = Api.communityCommentList;
/**
*
* @param params


+ 37
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vue3/CommunityPost.data.ts View File

@ -2,6 +2,7 @@ import {BasicColumn} from '/@/components/Table';
import {FormSchema} from '/@/components/Table';
import { rules} from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
import {JVxeTypes,JVxeColumn} from '/@/components/jeecg/JVxeTable/types'
//列表数据
export const columns: BasicColumn[] = [
{
@ -20,6 +21,11 @@ export const columns: BasicColumn[] = [
align:"center",
dataIndex: 'type_dictText'
},
{
title: '审核状态',
align:"center",
dataIndex: 'status_dictText'
},
{
title: '关联用户',
align:"center",
@ -48,7 +54,15 @@ export const formSchema: FormSchema[] = [
field: 'type',
component: 'JDictSelectTag',
componentProps:{
dictCode:"communit_typey_post"
dictCode:"community_type_post"
},
},
{
label: '审核状态',
field: 'status',
component: 'JDictSelectTag',
componentProps:{
dictCode:"community_status_post"
},
},
{
@ -60,3 +74,25 @@ export const formSchema: FormSchema[] = [
},
},
];
//子表单数据
//子表表格配置
export const communityCommentColumns: JVxeColumn[] = [
{
title: '文字描述',
key: 'content',
type: JVxeTypes.textarea,
width:"200px",
placeholder: '请输入${title}',
defaultValue:'',
},
{
title: '图片',
key: 'image',
type: JVxeTypes.image,
token:true,
responseName:"message",
width:"200px",
placeholder: '请输入${title}',
defaultValue:'',
},
]

+ 15
- 15
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vue3/CommunityPostList.vue View File

@ -42,15 +42,15 @@
<script lang="ts" name="communityPost-communityPost" setup>
import {ref, computed, unref} from 'vue';
import {BasicTable, useTable, TableAction} from '/@/components/Table';
import {useModal} from '/@/components/Modal';
import { useListPage } from '/@/hooks/system/useListPage'
import {useModal} from '/@/components/Modal';
import CommunityPostModal from './components/CommunityPostModal.vue'
import {columns, searchFormSchema} from './communityPost.data';
import {list, deleteOne, batchDelete, getImportUrl,getExportUrl} from './communityPost.api';
const checkedKeys = ref<Array<string | number>>([]);
//model
const [registerModal, {openModal}] = useModal();
//table
//table
const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({
tableProps:{
title: '帖子动态信息表',
@ -58,25 +58,25 @@
columns,
canResize:false,
formConfig: {
labelWidth: 120,
schemas: searchFormSchema,
autoSubmitOnEnter:true,
showAdvancedButton:true,
fieldMapToTime: [
],
labelWidth: 120,
schemas: searchFormSchema,
autoSubmitOnEnter:true,
showAdvancedButton:true,
fieldMapToTime: [
],
},
actionColumn: {
actionColumn: {
width: 120,
},
},
exportConfig: {
},
exportConfig: {
name:"帖子动态信息表",
url: getExportUrl,
},
importConfig: {
},
importConfig: {
url: getImportUrl
},
})
},
})
const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext


+ 54
- 9
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityPost/vue3/components/CommunityPostModal.vue View File

@ -1,45 +1,90 @@
<template>
<BasicModal v-bind="$attrs" @register="registerModal" :title="title" @ok="handleSubmit">
<BasicForm @register="registerForm"/>
<BasicForm @register="registerForm" ref="formRef"/>
<!-- 子表单区域 -->
<a-tabs v-model:activeKey="activeKey" @change="handleChangeTabs">
<a-tab-pane tab="帖子评论表" :key="refKeys[0]" :forceRender="true">
<JVxeTable
keep-source
resizable
:ref="refKeys[0]"
:loading="communityCommentTable.loading"
:columns="communityCommentTable.columns"
:dataSource="communityCommentTable.dataSource"
:maxHeight="300"
:rowNumber="true"
:rowSelection="true"
:toolbar="true"
/>
</a-tab-pane>
</a-tabs>
</BasicModal>
</template>
<script lang="ts" setup>
import {ref, computed, unref} from 'vue';
import {ref, computed, unref,reactive} from 'vue';
import {BasicModal, useModalInner} from '/@/components/Modal';
import {BasicForm, useForm} from '/@/components/Form/index';
import {formSchema} from '../communityPost.data';
import {saveOrUpdate} from '../communityPost.api';
import { JVxeTable } from '/@/components/jeecg/JVxeTable'
import { useJvxeMethod } from '/@/hooks/system/useJvxeMethods.ts'
import {formSchema,communityCommentColumns} from '../communityPost.data';
import {saveOrUpdate,communityCommentList} from '../communityPost.api';
import { VALIDATE_FAILED } from '/@/utils/common/vxeUtils'
// Emits
const emit = defineEmits(['register','success']);
const isUpdate = ref(true);
const refKeys = ref(['communityComment', ]);
const activeKey = ref('communityComment');
const communityComment = ref();
const tableRefs = {communityComment, };
const communityCommentTable = reactive({
loading: false,
dataSource: [],
columns:communityCommentColumns
})
//
const [registerForm, {setProps,resetFields, setFieldsValue, validate}] = useForm({
labelWidth: 150,
schemas: formSchema,
showActionButtonGroup: false,
});
//
//
const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
//
await resetFields();
setModalProps({confirmLoading: false,showCancelBtn:!!data?.showFooter,showOkBtn:!!data?.showFooter});
await reset();
setModalProps({confirmLoading: false,showCancelBtn:data?.showFooter,showOkBtn:data?.showFooter});
isUpdate.value = !!data?.isUpdate;
if (unref(isUpdate)) {
//
await setFieldsValue({
...data.record,
});
requestSubTableData(communityCommentList, {id:data?.record?.id}, communityCommentTable)
}
//
setProps({ disabled: !data?.showFooter })
});
//
const [handleChangeTabs,handleSubmit,requestSubTableData,formRef] = useJvxeMethod(requestAddOrEdit,classifyIntoFormData,tableRefs,activeKey,refKeys);
//
const title = computed(() => (!unref(isUpdate) ? '新增' : '编辑'));
async function reset(){
await resetFields();
activeKey.value = 'communityComment';
communityCommentTable.dataSource = [];
}
function classifyIntoFormData(allValues) {
let main = Object.assign({}, allValues.formValue)
return {
...main, //
communityCommentList: allValues.tablesValue[0].tableData,
}
}
//
async function handleSubmit(v) {
async function requestAddOrEdit(values) {
try {
let values = await validate();
setModalProps({confirmLoading: true});
//
await saveOrUpdate(values, isUpdate.value);


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/controller/CommunityVolunteerController.java View File

@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: 志愿者表
* @Author: jeecg-boot
* @Date: 2025-07-22
* @Date: 2025-08-05
* @Version: V1.0
*/
@Api(tags="志愿者表")


+ 8
- 2
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/entity/CommunityVolunteer.java View File

@ -20,7 +20,7 @@ import lombok.experimental.Accessors;
/**
* @Description: 志愿者表
* @Author: jeecg-boot
* @Date: 2025-07-22
* @Date: 2025-08-05
* @Version: V1.0
*/
@Data
@ -90,8 +90,14 @@ public class CommunityVolunteer implements Serializable {
@Excel(name = "紧急联系人电话", width = 15)
@ApiModelProperty(value = "紧急联系人电话")
private java.lang.String emergencyPhone;
/**审核状态*/
@Excel(name = "审核状态", width = 15, dicCode = "community_status_volunteer")
@Dict(dicCode = "community_status_volunteer")
@ApiModelProperty(value = "审核状态")
private java.lang.String status;
/**关联用户id*/
@Excel(name = "关联用户id", width = 15)
@Excel(name = "关联用户id", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@ApiModelProperty(value = "关联用户id")
private java.lang.String userId;
}

+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/mapper/CommunityVolunteerMapper.java View File

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 志愿者表
* @Author: jeecg-boot
* @Date: 2025-07-22
* @Date: 2025-08-05
* @Version: V1.0
*/
public interface CommunityVolunteerMapper extends BaseMapper<CommunityVolunteer> {


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/service/ICommunityVolunteerService.java View File

@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 志愿者表
* @Author: jeecg-boot
* @Date: 2025-07-22
* @Date: 2025-08-05
* @Version: V1.0
*/
public interface ICommunityVolunteerService extends IService<CommunityVolunteer> {


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/service/impl/CommunityVolunteerServiceImpl.java View File

@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 志愿者表
* @Author: jeecg-boot
* @Date: 2025-07-22
* @Date: 2025-08-05
* @Version: V1.0
*/
@Service


+ 7
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/vue/CommunityVolunteerList.vue View File

@ -172,10 +172,15 @@
align:"center",
dataIndex: 'emergencyPhone'
},
{
title:'审核状态',
align:"center",
dataIndex: 'status_dictText'
},
{
title:'关联用户id',
align:"center",
dataIndex: 'userId'
dataIndex: 'userId_dictText'
},
{
title: '操作',
@ -221,6 +226,7 @@
fieldList.push({type:'Text',value:'skill',text:'技能特长',dictCode:''})
fieldList.push({type:'string',value:'emergencyName',text:'紧急联系人姓名',dictCode:''})
fieldList.push({type:'string',value:'emergencyPhone',text:'紧急联系人电话',dictCode:''})
fieldList.push({type:'string',value:'status',text:'审核状态',dictCode:'community_status_volunteer'})
fieldList.push({type:'string',value:'userId',text:'关联用户id',dictCode:"han_hai_member,nick_name,id"})
this.superFieldList = fieldList
}


+ 6
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/vue/modules/CommunityVolunteerForm.vue View File

@ -53,9 +53,14 @@
<a-input v-model="model.emergencyPhone" placeholder="请输入紧急联系人电话" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="审核状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
<j-dict-select-tag type="list" v-model="model.status" dictCode="community_status_volunteer" placeholder="请选择审核状态" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="关联用户id" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="userId">
<a-input v-model="model.userId" placeholder="请输入关联用户id" ></a-input>
<j-dict-select-tag type="list" v-model="model.userId" dictCode="han_hai_member,nick_name,id" placeholder="请选择关联用户id" />
</a-form-model-item>
</a-col>
</a-row>


+ 18
- 2
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/communityVolunteer/vue3/CommunityVolunteer.data.ts View File

@ -54,10 +54,15 @@ export const columns: BasicColumn[] = [
align:"center",
dataIndex: 'emergencyPhone'
},
{
title: '审核状态',
align:"center",
dataIndex: 'status_dictText'
},
{
title: '关联用户id',
align:"center",
dataIndex: 'userId'
dataIndex: 'userId_dictText'
},
];
//查询数据
@ -124,9 +129,20 @@ export const formSchema: FormSchema[] = [
field: 'emergencyPhone',
component: 'Input',
},
{
label: '审核状态',
field: 'status',
component: 'JDictSelectTag',
componentProps:{
dictCode:"community_status_volunteer"
},
},
{
label: '关联用户id',
field: 'userId',
component: 'Input',
component: 'JDictSelectTag',
componentProps:{
dictCode:"han_hai_member,nick_name,id"
},
},
];

+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.java View File

@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: han_hai_member
* @Author: jeecg-boot
* @Date: 2025-07-29
* @Date: 2025-08-05
* @Version: V1.0
*/
@Api(tags="han_hai_member")


+ 10
- 6
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/entity/HanHaiMember.java View File

@ -21,7 +21,7 @@ import lombok.experimental.Accessors;
/**
* @Description: han_hai_member
* @Author: jeecg-boot
* @Date: 2025-07-29
* @Date: 2025-08-05
* @Version: V1.0
*/
@Data
@ -87,11 +87,6 @@ public class HanHaiMember implements Serializable {
@Excel(name = "店铺名称备注", width = 15)
@ApiModelProperty(value = "店铺名称备注")
private java.lang.String shopName;
/**角色*/
@Excel(name = "角色", width = 15, dicCode = "community_role")
@Dict(dicCode = "community_role")
@ApiModelProperty(value = "角色")
private java.lang.String role;
/**ID标识号码*/
@Excel(name = "ID标识号码", width = 15)
@ApiModelProperty(value = "ID标识号码")
@ -202,6 +197,15 @@ public class HanHaiMember implements Serializable {
@Excel(name = "是否分销商", width = 15)
@ApiModelProperty(value = "是否分销商")
private java.lang.String isDai;
/**角色*/
@Excel(name = "角色", width = 15, dicCode = "community_role")
@Dict(dicCode = "community_role")
@ApiModelProperty(value = "角色")
private java.lang.Integer role;
/**地址*/
@Excel(name = "地址", width = 15)
@ApiModelProperty(value = "地址")
private java.lang.String address;
//积分排名
@TableField(exist = false)


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/HanHaiMemberMapper.java View File

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: han_hai_member
* @Author: jeecg-boot
* @Date: 2025-07-29
* @Date: 2025-08-05
* @Version: V1.0
*/
public interface HanHaiMemberMapper extends BaseMapper<HanHaiMember> {


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/IHanHaiMemberService.java View File

@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: han_hai_member
* @Author: jeecg-boot
* @Date: 2025-07-29
* @Date: 2025-08-05
* @Version: V1.0
*/
public interface IHanHaiMemberService extends IService<HanHaiMember> {


+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/impl/HanHaiMemberServiceImpl.java View File

@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: han_hai_member
* @Author: jeecg-boot
* @Date: 2025-07-29
* @Date: 2025-08-05
* @Version: V1.0
*/
@Service


+ 8
- 184
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/vue/HanHaiMemberList.vue View File

@ -130,180 +130,33 @@
{
title:'用户头像',
align:"center",
dataIndex: 'headImage'
},
{
title:'真实姓名',
align:"center",
dataIndex: 'name'
dataIndex: 'headImage',
scopedSlots: {customRender: 'imgSlot'}
},
{
title:'手机号码',
align:"center",
dataIndex: 'phone'
},
{
title:'登录账号',
align:"center",
dataIndex: 'account'
},
{
title:'登录密码',
align:"center",
dataIndex: 'password'
},
{
title:'登录盐',
align:"center",
dataIndex: 'passwordSalt'
},
{
title:'店铺名称备注',
align:"center",
dataIndex: 'shopName'
},
{
title:'角色',
align:"center",
dataIndex: 'role_dictText'
},
{
title:'ID标识号码',
align:"center",
dataIndex: 'cardId'
},
{
title:'是否冻结',
align:"center",
dataIndex: 'frozenFlag'
},
{
title:'是否删除',
align:"center",
dataIndex: 'deleteFlag'
},
{
title:'登录TOEKN',
align:"center",
dataIndex: 'token'
},
{
title:'公众号openid',
align:"center",
dataIndex: 'officialOpenid'
},
{
title:'小程序标识',
align:"center",
dataIndex: 'appletOpenid'
},
{
title:'APP标识',
align:"center",
dataIndex: 'appOpenid'
},
{
title:'微信UNIONID',
align:"center",
dataIndex: 'wxUnionid'
},
{
title:'公众号appid',
align:"center",
dataIndex: 'officialAppid'
},
{
title:'身份证号码',
align:"center",
dataIndex: 'idCard'
},
{
title:'发薪平台密码',
align:"center",
dataIndex: 'idCardPassword'
},
{
title:'发薪平台加密盐',
align:"center",
dataIndex: 'idCardSalt'
},
{
title:'是否实名认证',
align:"center",
dataIndex: 'idCardOpen'
},
{
title:'intentionNum',
align:"center",
dataIndex: 'intentionNum'
},
{
title:'successNum',
align:"center",
dataIndex: 'successNum'
},
{
title:'addNum',
align:"center",
dataIndex: 'addNum'
},
{
title:'shareId',
align:"center",
dataIndex: 'shareId'
},
{
title:'邀请人',
align:"center",
dataIndex: 'vid'
},
{
title:'邀请时间',
align:"center",
dataIndex: 'vtime',
customRender:function (text) {
return !text?"":(text.length>10?text.substr(0,10):text)
}
},
{
title:'兼兼街会员',
align:"center",
dataIndex: 'isPay'
},
{
title:'是否关注公众号',
align:"center",
dataIndex: 'follow'
},
{
title:'payRole',
align:"center",
dataIndex: 'payRole'
},
{
title:'余额',
align:"center",
dataIndex: 'price'
},
{
title:'积分',
align:"center",
dataIndex: 'score'
},
{
title:'小程序appid',
align:"center",
dataIndex: 'appletAppid'
},
{
title:'性别',
title:'角色',
align:"center",
dataIndex: 'sex'
dataIndex: 'role_dictText'
},
{
title:'是否分销商',
title:'地址',
align:"center",
dataIndex: 'isDai'
dataIndex: 'address'
},
{
title: '操作',
@ -341,40 +194,11 @@
let fieldList=[];
fieldList.push({type:'string',value:'nickName',text:'昵称',dictCode:''})
fieldList.push({type:'string',value:'headImage',text:'用户头像',dictCode:''})
fieldList.push({type:'string',value:'name',text:'真实姓名',dictCode:''})
fieldList.push({type:'string',value:'phone',text:'手机号码',dictCode:''})
fieldList.push({type:'string',value:'account',text:'登录账号',dictCode:''})
fieldList.push({type:'string',value:'password',text:'登录密码',dictCode:''})
fieldList.push({type:'string',value:'passwordSalt',text:'登录盐',dictCode:''})
fieldList.push({type:'string',value:'shopName',text:'店铺名称备注',dictCode:''})
fieldList.push({type:'string',value:'role',text:'角色',dictCode:'community_role'})
fieldList.push({type:'string',value:'cardId',text:'ID标识号码',dictCode:''})
fieldList.push({type:'string',value:'frozenFlag',text:'是否冻结',dictCode:''})
fieldList.push({type:'string',value:'deleteFlag',text:'是否删除',dictCode:''})
fieldList.push({type:'string',value:'token',text:'登录TOEKN',dictCode:''})
fieldList.push({type:'string',value:'officialOpenid',text:'公众号openid',dictCode:''})
fieldList.push({type:'string',value:'appletOpenid',text:'小程序标识',dictCode:''})
fieldList.push({type:'string',value:'appOpenid',text:'APP标识',dictCode:''})
fieldList.push({type:'string',value:'wxUnionid',text:'微信UNIONID',dictCode:''})
fieldList.push({type:'string',value:'officialAppid',text:'公众号appid',dictCode:''})
fieldList.push({type:'string',value:'idCard',text:'身份证号码',dictCode:''})
fieldList.push({type:'string',value:'idCardPassword',text:'发薪平台密码',dictCode:''})
fieldList.push({type:'string',value:'idCardSalt',text:'发薪平台加密盐',dictCode:''})
fieldList.push({type:'string',value:'idCardOpen',text:'是否实名认证',dictCode:''})
fieldList.push({type:'int',value:'intentionNum',text:'intentionNum',dictCode:''})
fieldList.push({type:'int',value:'successNum',text:'successNum',dictCode:''})
fieldList.push({type:'int',value:'addNum',text:'addNum',dictCode:''})
fieldList.push({type:'string',value:'shareId',text:'shareId',dictCode:''})
fieldList.push({type:'string',value:'vid',text:'邀请人',dictCode:''})
fieldList.push({type:'date',value:'vtime',text:'邀请时间'})
fieldList.push({type:'int',value:'isPay',text:'兼兼街会员',dictCode:''})
fieldList.push({type:'int',value:'follow',text:'是否关注公众号',dictCode:''})
fieldList.push({type:'BigDecimal',value:'payRole',text:'payRole',dictCode:''})
fieldList.push({type:'BigDecimal',value:'price',text:'余额',dictCode:''})
fieldList.push({type:'int',value:'score',text:'积分',dictCode:''})
fieldList.push({type:'string',value:'appletAppid',text:'小程序appid',dictCode:''})
fieldList.push({type:'string',value:'sex',text:'性别',dictCode:''})
fieldList.push({type:'string',value:'isDai',text:'是否分销商',dictCode:''})
fieldList.push({type:'int',value:'role',text:'角色',dictCode:'community_role'})
fieldList.push({type:'Text',value:'address',text:'地址',dictCode:''})
this.superFieldList = fieldList
}
}


+ 5
- 155
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/vue/modules/HanHaiMemberForm.vue View File

@ -10,12 +10,7 @@
</a-col>
<a-col :span="24">
<a-form-model-item label="用户头像" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="headImage">
<a-input v-model="model.headImage" placeholder="请输入用户头像" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="真实姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name">
<a-input v-model="model.name" placeholder="请输入真实姓名" ></a-input>
<j-image-upload isMultiple v-model="model.headImage" ></j-image-upload>
</a-form-model-item>
</a-col>
<a-col :span="24">
@ -23,164 +18,19 @@
<a-input v-model="model.phone" placeholder="请输入手机号码" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="登录账号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="account">
<a-input v-model="model.account" placeholder="请输入登录账号" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="登录密码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="password">
<a-input v-model="model.password" placeholder="请输入登录密码" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="登录盐" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="passwordSalt">
<a-input v-model="model.passwordSalt" placeholder="请输入登录盐" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="店铺名称备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shopName">
<a-input v-model="model.shopName" placeholder="请输入店铺名称备注" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="角色" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="role">
<j-dict-select-tag type="list" v-model="model.role" dictCode="community_role" placeholder="请选择角色" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="ID标识号码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="cardId">
<a-input v-model="model.cardId" placeholder="请输入ID标识号码" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="是否冻结" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="frozenFlag">
<a-input v-model="model.frozenFlag" placeholder="请输入是否冻结" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="是否删除" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deleteFlag">
<a-input v-model="model.deleteFlag" placeholder="请输入是否删除" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="登录TOEKN" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="token">
<a-input v-model="model.token" placeholder="请输入登录TOEKN" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="公众号openid" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="officialOpenid">
<a-input v-model="model.officialOpenid" placeholder="请输入公众号openid" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="小程序标识" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="appletOpenid">
<a-input v-model="model.appletOpenid" placeholder="请输入小程序标识" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="APP标识" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="appOpenid">
<a-input v-model="model.appOpenid" placeholder="请输入APP标识" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="微信UNIONID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wxUnionid">
<a-input v-model="model.wxUnionid" placeholder="请输入微信UNIONID" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="公众号appid" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="officialAppid">
<a-input v-model="model.officialAppid" placeholder="请输入公众号appid" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="身份证号码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="idCard">
<a-input v-model="model.idCard" placeholder="请输入身份证号码" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="发薪平台密码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="idCardPassword">
<a-input v-model="model.idCardPassword" placeholder="请输入发薪平台密码" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="发薪平台加密盐" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="idCardSalt">
<a-input v-model="model.idCardSalt" placeholder="请输入发薪平台加密盐" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="是否实名认证" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="idCardOpen">
<a-input v-model="model.idCardOpen" placeholder="请输入是否实名认证" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="intentionNum" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="intentionNum">
<a-input-number v-model="model.intentionNum" placeholder="请输入intentionNum" style="width: 100%" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="successNum" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="successNum">
<a-input-number v-model="model.successNum" placeholder="请输入successNum" style="width: 100%" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="addNum" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="addNum">
<a-input-number v-model="model.addNum" placeholder="请输入addNum" style="width: 100%" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="shareId" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shareId">
<a-input v-model="model.shareId" placeholder="请输入shareId" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="邀请人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vid">
<a-input v-model="model.vid" placeholder="请输入邀请人" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="邀请时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vtime">
<j-date placeholder="请选择邀请时间" v-model="model.vtime" style="width: 100%" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="兼兼街会员" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="isPay">
<a-input-number v-model="model.isPay" placeholder="请输入兼兼街会员" style="width: 100%" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="是否关注公众号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="follow">
<a-input-number v-model="model.follow" placeholder="请输入是否关注公众号" style="width: 100%" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="payRole" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="payRole">
<a-input-number v-model="model.payRole" placeholder="请输入payRole" style="width: 100%" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="余额" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="price">
<a-input-number v-model="model.price" placeholder="请输入余额" style="width: 100%" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="积分" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="score">
<a-input-number v-model="model.score" placeholder="请输入积分" style="width: 100%" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="小程序appid" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="appletAppid">
<a-input v-model="model.appletAppid" placeholder="请输入小程序appid" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sex">
<a-input v-model="model.sex" placeholder="请输入性别" ></a-input>
<a-form-model-item label="角色" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="role">
<j-dict-select-tag type="list" v-model="model.role" dictCode="community_role" placeholder="请选择角色" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="是否分销商" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="isDai">
<a-input v-model="model.isDai" placeholder="请输入是否分销商" ></a-input>
<a-form-model-item label="地址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="address">
<a-input v-model="model.address" placeholder="请输入地址" ></a-input>
</a-form-model-item>
</a-col>
</a-row>


+ 14
- 309
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/vue3/HanHaiMember.data.ts View File

@ -12,180 +12,33 @@ export const columns: BasicColumn[] = [
{
title: '用户头像',
align:"center",
dataIndex: 'headImage'
},
{
title: '真实姓名',
align:"center",
dataIndex: 'name'
dataIndex: 'headImage',
customRender:render.renderAvatar,
},
{
title: '手机号码',
align:"center",
dataIndex: 'phone'
},
{
title: '登录账号',
align:"center",
dataIndex: 'account'
},
{
title: '登录密码',
align:"center",
dataIndex: 'password'
},
{
title: '登录盐',
align:"center",
dataIndex: 'passwordSalt'
},
{
title: '店铺名称备注',
align:"center",
dataIndex: 'shopName'
},
{
title: '角色',
align:"center",
dataIndex: 'role_dictText'
},
{
title: 'ID标识号码',
align:"center",
dataIndex: 'cardId'
},
{
title: '是否冻结',
align:"center",
dataIndex: 'frozenFlag'
},
{
title: '是否删除',
align:"center",
dataIndex: 'deleteFlag'
},
{
title: '登录TOEKN',
align:"center",
dataIndex: 'token'
},
{
title: '公众号openid',
align:"center",
dataIndex: 'officialOpenid'
},
{
title: '小程序标识',
align:"center",
dataIndex: 'appletOpenid'
},
{
title: 'APP标识',
align:"center",
dataIndex: 'appOpenid'
},
{
title: '微信UNIONID',
align:"center",
dataIndex: 'wxUnionid'
},
{
title: '公众号appid',
align:"center",
dataIndex: 'officialAppid'
},
{
title: '身份证号码',
align:"center",
dataIndex: 'idCard'
},
{
title: '发薪平台密码',
align:"center",
dataIndex: 'idCardPassword'
},
{
title: '发薪平台加密盐',
align:"center",
dataIndex: 'idCardSalt'
},
{
title: '是否实名认证',
align:"center",
dataIndex: 'idCardOpen'
},
{
title: 'intentionNum',
align:"center",
dataIndex: 'intentionNum'
},
{
title: 'successNum',
align:"center",
dataIndex: 'successNum'
},
{
title: 'addNum',
align:"center",
dataIndex: 'addNum'
},
{
title: 'shareId',
align:"center",
dataIndex: 'shareId'
},
{
title: '邀请人',
align:"center",
dataIndex: 'vid'
},
{
title: '邀请时间',
align:"center",
dataIndex: 'vtime',
customRender:({text}) =>{
return !text?"":(text.length>10?text.substr(0,10):text)
},
},
{
title: '兼兼街会员',
align:"center",
dataIndex: 'isPay'
},
{
title: '是否关注公众号',
align:"center",
dataIndex: 'follow'
},
{
title: 'payRole',
align:"center",
dataIndex: 'payRole'
},
{
title: '余额',
align:"center",
dataIndex: 'price'
},
{
title: '积分',
align:"center",
dataIndex: 'score'
},
{
title: '小程序appid',
align:"center",
dataIndex: 'appletAppid'
},
{
title: '性别',
title: '角色',
align:"center",
dataIndex: 'sex'
dataIndex: 'role_dictText'
},
{
title: '是否分销商',
title: '地址',
align:"center",
dataIndex: 'isDai'
dataIndex: 'address'
},
];
//查询数据
@ -201,12 +54,9 @@ export const formSchema: FormSchema[] = [
{
label: '用户头像',
field: 'headImage',
component: 'Input',
},
{
label: '真实姓名',
field: 'name',
component: 'Input',
component: 'JImageUpload',
componentProps:{
},
},
{
label: '手机号码',
@ -214,24 +64,9 @@ export const formSchema: FormSchema[] = [
component: 'Input',
},
{
label: '登录账号',
field: 'account',
component: 'Input',
},
{
label: '登录密码',
field: 'password',
component: 'Input',
},
{
label: '登录盐',
field: 'passwordSalt',
component: 'Input',
},
{
label: '店铺名称备注',
field: 'shopName',
component: 'Input',
label: '积分',
field: 'score',
component: 'InputNumber',
},
{
label: '角色',
@ -242,138 +77,8 @@ export const formSchema: FormSchema[] = [
},
},
{
label: 'ID标识号码',
field: 'cardId',
component: 'Input',
},
{
label: '是否冻结',
field: 'frozenFlag',
component: 'Input',
},
{
label: '是否删除',
field: 'deleteFlag',
component: 'Input',
},
{
label: '登录TOEKN',
field: 'token',
component: 'Input',
},
{
label: '公众号openid',
field: 'officialOpenid',
component: 'Input',
},
{
label: '小程序标识',
field: 'appletOpenid',
component: 'Input',
},
{
label: 'APP标识',
field: 'appOpenid',
component: 'Input',
},
{
label: '微信UNIONID',
field: 'wxUnionid',
component: 'Input',
},
{
label: '公众号appid',
field: 'officialAppid',
component: 'Input',
},
{
label: '身份证号码',
field: 'idCard',
component: 'Input',
},
{
label: '发薪平台密码',
field: 'idCardPassword',
component: 'Input',
},
{
label: '发薪平台加密盐',
field: 'idCardSalt',
component: 'Input',
},
{
label: '是否实名认证',
field: 'idCardOpen',
component: 'Input',
},
{
label: 'intentionNum',
field: 'intentionNum',
component: 'InputNumber',
},
{
label: 'successNum',
field: 'successNum',
component: 'InputNumber',
},
{
label: 'addNum',
field: 'addNum',
component: 'InputNumber',
},
{
label: 'shareId',
field: 'shareId',
component: 'Input',
},
{
label: '邀请人',
field: 'vid',
component: 'Input',
},
{
label: '邀请时间',
field: 'vtime',
component: 'DatePicker',
},
{
label: '兼兼街会员',
field: 'isPay',
component: 'InputNumber',
},
{
label: '是否关注公众号',
field: 'follow',
component: 'InputNumber',
},
{
label: 'payRole',
field: 'payRole',
component: 'InputNumber',
},
{
label: '余额',
field: 'price',
component: 'InputNumber',
},
{
label: '积分',
field: 'score',
component: 'InputNumber',
},
{
label: '小程序appid',
field: 'appletAppid',
component: 'Input',
},
{
label: '性别',
field: 'sex',
component: 'Input',
},
{
label: '是否分销商',
field: 'isDai',
label: '地址',
field: 'address',
component: 'Input',
},
];

+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/impl/ApiLoginServiceImpl.java View File

@ -145,7 +145,7 @@ public class ApiLoginServiceImpl implements ApiLoginService {
save.setPassword(encrypt);
save.setPasswordSalt(salt);
save.setDeleteFlag("N");
save.setRole("0");
save.setRole(0);
// 生成token返回


+ 2
- 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/communityController/UserInfoController.java View File

@ -36,8 +36,8 @@ public class UserInfoController {
//修改个人信息
@ApiOperation(value="我的资料-修改个人信息", notes="我的资料-修改个人信息")
@RequestMapping(value = "/updateUser", method = {RequestMethod.POST})
public Result<?> updateUser(@RequestHeader("X-Access-Token") String token, String nickName,String phone,String headImage){
return userInfoService.updateUserInfo(token, nickName, phone, headImage);
public Result<?> updateUser(@RequestHeader("X-Access-Token") String token, String nickName,String phone,String headImage,String address){
return userInfoService.updateUserInfo(token, nickName, phone, headImage, address);
}


+ 1
- 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/UserInfoService.java View File

@ -8,5 +8,5 @@ public interface UserInfoService {
Result<?> queryUserInfo(String token);
//修改个人信息
Result<?> updateUserInfo(String token,String nickName,String phone,String headImage);
Result<?> updateUserInfo(String token,String nickName,String phone,String headImage,String address);
}

+ 3
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/CommunityServiceImpl.java View File

@ -68,6 +68,9 @@ public class CommunityServiceImpl implements CommunityService {
query.eq(CommunityPost::getType, communityPost.getType());
}
//审核状态为已经通过
query.eq(CommunityPost::getStatus, "1");
//按照创建时间降序排列
query.orderByDesc(CommunityPost::getCreateTime);


+ 1
- 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ScoreServiceImpl.java View File

@ -117,7 +117,7 @@ public class ScoreServiceImpl implements ScoreService {
pageList = query.page(page);
//添加排名
int rank = 1;
int rank = (pageBean.getPageNo() - 1) * pageBean.getPageSize() + 1;
//我的积分排名
if(null != hanHaiMember){
map.put("myScore", hanHaiMember);


+ 10
- 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/UserInfoServiceImpl.java View File

@ -40,7 +40,10 @@ public class UserInfoServiceImpl implements UserInfoService {
try{
//收藏数量
List<CommunityActivityCollection> collectionList = communityActivityCollectionService.list();
List<CommunityActivityCollection> collectionList = communityActivityCollectionService
.lambdaQuery()
.eq(CommunityActivityCollection::getUserId, hanHaiMember.getId())
.list();
int collectionNum = collectionList.size();
hanHaiMember.setCollectionNum(collectionNum);
@ -54,7 +57,7 @@ public class UserInfoServiceImpl implements UserInfoService {
//修改个人信息
@Override
public Result<?> updateUserInfo(String token,String nickName,String phone,String headImage){
public Result<?> updateUserInfo(String token,String nickName,String phone,String headImage,String address){
log.info("开始修改个人信息");
//权限验证
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
@ -70,10 +73,15 @@ public class UserInfoServiceImpl implements UserInfoService {
log.error("头像不能为空");
return Result.error("头像不能为空");
}
if(StringUtils.isBlank(address)){
log.error("地址不能为空");
return Result.error("地址不能为空");
}
hanHaiMember.setNickName(nickName);
hanHaiMember.setPhone(phone);
hanHaiMember.setHeadImage(headImage);
hanHaiMember.setAddress(address);
boolean result = hanHaiMemberService.updateById(hanHaiMember);
if(result){


Loading…
Cancel
Save