Browse Source

代码修复

master
主管理员 6 months ago
parent
commit
f4ae290024
39 changed files with 931 additions and 166 deletions
  1. +1
    -1
      admin-pc/.env.development
  2. +1
    -1
      admin-pc/.env.production
  3. +50
    -18
      admin-pc/src/views/commonCode/CommonCodeList.vue
  4. +26
    -11
      admin-pc/src/views/commonCode/modules/CommonCodeForm.vue
  5. +0
    -0
      admin-pc/src/views/commonCode/modules/CommonCodeModal.Style#Drawer.vue
  6. +0
    -0
      admin-pc/src/views/commonCode/modules/CommonCodeModal.vue
  7. +64
    -34
      admin-pc/src/views/commonMoney/CommonMoneyList.vue
  8. +11
    -6
      admin-pc/src/views/commonMoney/modules/CommonMoneyForm.vue
  9. +0
    -0
      admin-pc/src/views/commonMoney/modules/CommonMoneyModal.Style#Drawer.vue
  10. +0
    -0
      admin-pc/src/views/commonMoney/modules/CommonMoneyModal.vue
  11. +1
    -1
      module-base/base-core/src/main/java/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.java
  12. +7
    -2
      module-base/base-core/src/main/java/org/jeecg/modules/hanHaiMember/entity/HanHaiMember.java
  13. +1
    -1
      module-base/base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/HanHaiMemberMapper.java
  14. +1
    -1
      module-base/base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/IHanHaiMemberService.java
  15. +1
    -1
      module-base/base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/impl/HanHaiMemberServiceImpl.java
  16. +9
    -3
      module-base/base-core/src/main/java/org/jeecg/modules/hanHaiMember/vue/HanHaiMemberList.vue
  17. +6
    -1
      module-base/base-core/src/main/java/org/jeecg/modules/hanHaiMember/vue/modules/HanHaiMemberForm.vue
  18. +19
    -3
      module-base/base-core/src/main/java/org/jeecg/modules/hanHaiMember/vue3/HanHaiMember.data.ts
  19. +17
    -0
      module-common/src/main/java/org/jeecg/api/bean/LoginReq.java
  20. +21
    -8
      module-common/src/main/java/org/jeecg/api/controller/AppletFenController.java
  21. +5
    -4
      module-common/src/main/java/org/jeecg/api/controller/AppletInfoController.java
  22. +1
    -0
      module-common/src/main/java/org/jeecg/api/controller/AppletLoginController.java
  23. +7
    -4
      module-common/src/main/java/org/jeecg/api/service/AppletFenService.java
  24. +3
    -2
      module-common/src/main/java/org/jeecg/api/service/AppletInfoService.java
  25. +346
    -28
      module-common/src/main/java/org/jeecg/api/service/impl/AppletFenServiceImpl.java
  26. +80
    -15
      module-common/src/main/java/org/jeecg/api/service/impl/AppletInfoServiceImpl.java
  27. +115
    -3
      module-common/src/main/java/org/jeecg/api/service/impl/AppletLoginServiceImpl.java
  28. +11
    -2
      module-common/src/main/java/org/jeecg/modules/commonCode/controller/CommonCodeController.java
  29. +15
    -1
      module-common/src/main/java/org/jeecg/modules/commonCode/entity/CommonCode.java
  30. +1
    -1
      module-common/src/main/java/org/jeecg/modules/commonCode/mapper/CommonCodeMapper.java
  31. +1
    -1
      module-common/src/main/java/org/jeecg/modules/commonCode/service/ICommonCodeService.java
  32. +1
    -1
      module-common/src/main/java/org/jeecg/modules/commonCode/service/impl/CommonCodeServiceImpl.java
  33. +54
    -0
      module-common/src/main/java/org/jeecg/modules/commonCode/vue3/CommonCode.data.ts
  34. +1
    -1
      module-common/src/main/java/org/jeecg/modules/commonMoney/controller/CommonMoneyController.java
  35. +13
    -4
      module-common/src/main/java/org/jeecg/modules/commonMoney/entity/CommonMoney.java
  36. +1
    -1
      module-common/src/main/java/org/jeecg/modules/commonMoney/mapper/CommonMoneyMapper.java
  37. +1
    -1
      module-common/src/main/java/org/jeecg/modules/commonMoney/service/ICommonMoneyService.java
  38. +1
    -1
      module-common/src/main/java/org/jeecg/modules/commonMoney/service/impl/CommonMoneyServiceImpl.java
  39. +38
    -4
      module-common/src/main/java/org/jeecg/modules/commonMoney/vue3/CommonMoney.data.ts

+ 1
- 1
admin-pc/.env.development View File

@ -1,5 +1,5 @@
NODE_ENV=development NODE_ENV=development
VUE_APP_API_BASE_URL=http://localhost:8001/fission-star-api/
VUE_APP_API_BASE_URL=https://fission-star-api.hhlm1688.com/fission-star-api/
VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview


+ 1
- 1
admin-pc/.env.production View File

@ -1,4 +1,4 @@
NODE_ENV=production NODE_ENV=production
VUE_APP_API_BASE_URL=http://localhost:8000/fission-star-api/
VUE_APP_API_BASE_URL=https://fission-star-api.hhlm1688.com/fission-star-api/
VUE_APP_CAS_BASE_URL=http://localhost:8888/cas VUE_APP_CAS_BASE_URL=http://localhost:8888/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview

module-common/src/main/java/org/jeecg/modules/commonCode/vue/CommonCodeList.vue → admin-pc/src/views/commonCode/CommonCodeList.vue View File

@ -9,6 +9,18 @@
<j-search-select-tag placeholder="请选择激活人" v-model="queryParam.userId" dict="han_hai_member,nick_name,id"/> <j-search-select-tag placeholder="请选择激活人" v-model="queryParam.userId" dict="han_hai_member,nick_name,id"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="一级邀请人">
<j-search-select-tag placeholder="请选择一级邀请人" v-model="queryParam.pid" dict="han_hai_member,nick_name,id,is_pay=1"/>
</a-form-item>
</a-col>
<template v-if="toggleSearchStatus">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="二级邀请人">
<j-search-select-tag placeholder="请选择二级邀请人" v-model="queryParam.pidTwo" dict="han_hai_member,nick_name,id,is_pay=1"/>
</a-form-item>
</a-col>
</template>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button> <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
@ -26,19 +38,19 @@
<!-- 操作按钮区域 --> <!-- 操作按钮区域 -->
<div class="table-operator"> <div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('代理激活码')">导出</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<!-- 高级查询区域 -->
<j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
</a-dropdown>
<a-button @click="handleAdd" type="primary" icon="plus">生成激活码</a-button>
<!-- <a-button type="primary" icon="download" @click="handleExportXls('代理激活码')">导出</a-button>-->
<!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
<!-- <a-button type="primary" icon="import">导入</a-button>-->
<!-- </a-upload>-->
<!-- &lt;!&ndash; 高级查询区域 &ndash;&gt;-->
<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
<!-- <a-dropdown v-if="selectedRowKeys.length > 0">-->
<!-- <a-menu slot="overlay">-->
<!-- <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>-->
<!-- </a-menu>-->
<!-- <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>-->
<!-- </a-dropdown>-->
</div> </div>
<!-- table区域-begin --> <!-- table区域-begin -->
@ -142,21 +154,38 @@
align:"center", align:"center",
dataIndex: 'code' dataIndex: 'code'
}, },
{ {
title:'激活人',
title:'过期时间',
align:"center", align:"center",
dataIndex: 'userId_dictText'
dataIndex: 'endTime'
}, },
{ {
title:'过期时间',
title:'一级邀请人',
align:"center", align:"center",
dataIndex: 'endTime'
dataIndex: 'pid_dictText'
},
{
title:'二级邀请人',
align:"center",
dataIndex: 'pidTwo_dictText'
},
{
title:'激活人',
align:"center",
dataIndex: 'userId_dictText'
}, },
{ {
title:'激活时间', title:'激活时间',
align:"center", align:"center",
dataIndex: 'startTime' dataIndex: 'startTime'
}, },
// {
// title:'使',
// align:"center",
// dataIndex: 'status'
// },
{ {
title: '操作', title: '操作',
dataIndex: 'action', dataIndex: 'action',
@ -191,10 +220,13 @@
}, },
getSuperFieldList(){ getSuperFieldList(){
let fieldList=[]; let fieldList=[];
fieldList.push({type:'string',value:'code',text:'激活码',dictCode:''})
fieldList.push({type:'Text',value:'code',text:'激活码',dictCode:''})
fieldList.push({type:'sel_search',value:'userId',text:'激活人',dictTable:"han_hai_member", dictText:'nick_name', dictCode:'id'}) fieldList.push({type:'sel_search',value:'userId',text:'激活人',dictTable:"han_hai_member", dictText:'nick_name', dictCode:'id'})
fieldList.push({type:'datetime',value:'endTime',text:'过期时间'}) fieldList.push({type:'datetime',value:'endTime',text:'过期时间'})
fieldList.push({type:'datetime',value:'startTime',text:'激活时间'}) fieldList.push({type:'datetime',value:'startTime',text:'激活时间'})
fieldList.push({type:'sel_search',value:'pid',text:'一级邀请人',dictTable:"han_hai_member", dictText:'nick_name', dictCode:'id'})
fieldList.push({type:'sel_search',value:'pidTwo',text:'二级邀请人',dictTable:"han_hai_member", dictText:'nick_name', dictCode:'id'})
fieldList.push({type:'int',value:'status',text:'使用状态',dictCode:''})
this.superFieldList = fieldList this.superFieldList = fieldList
} }
} }

module-common/src/main/java/org/jeecg/modules/commonCode/vue/modules/CommonCodeForm.vue → admin-pc/src/views/commonCode/modules/CommonCodeForm.vue View File

@ -3,26 +3,41 @@
<j-form-container :disabled="formDisabled"> <j-form-container :disabled="formDisabled">
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
<a-row> <a-row>
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="激活码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code">-->
<!-- <a-input v-model="model.code" placeholder="请输入激活码" ></a-input>-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="激活人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="userId">-->
<!-- <j-search-select-tag v-model="model.userId" dict="han_hai_member,nick_name,id" />-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="激活码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code">
<a-input v-model="model.code" placeholder="请输入激活码" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="激活人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="userId">
<j-search-select-tag v-model="model.userId" dict="han_hai_member,nick_name,id" />
<a-form-model-item label="过期时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="endTime">
<j-date placeholder="请选择过期时间" v-model="model.endTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="激活时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="startTime">-->
<!-- <j-date placeholder="请选择激活时间" v-model="model.startTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="过期时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="endTime">
<j-date placeholder="请选择过期时间" v-model="model.endTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
<a-form-model-item label="一级邀请人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="pid">
<j-search-select-tag v-model="model.pid" dict="han_hai_member,nick_name,id" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="激活时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="startTime">
<j-date placeholder="请选择激活时间" v-model="model.startTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
<a-form-model-item label="二级邀请人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="pidTwo">
<j-search-select-tag v-model="model.pidTwo" dict="han_hai_member,nick_name,id" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<!-- <a-col :span="24">-->
<!-- <a-form-model-item label="使用状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">-->
<!-- <a-input-number v-model="model.status" placeholder="请输入使用状态" style="width: 100%" />-->
<!-- </a-form-model-item>-->
<!-- </a-col>-->
</a-row> </a-row>
</a-form-model> </a-form-model>
</j-form-container> </j-form-container>

module-common/src/main/java/org/jeecg/modules/commonCode/vue/modules/CommonCodeModal.Style#Drawer.vue → admin-pc/src/views/commonCode/modules/CommonCodeModal.Style#Drawer.vue View File


module-common/src/main/java/org/jeecg/modules/commonCode/vue/modules/CommonCodeModal.vue → admin-pc/src/views/commonCode/modules/CommonCodeModal.vue View File


module-common/src/main/java/org/jeecg/modules/commonMoney/vue/CommonMoneyList.vue → admin-pc/src/views/commonMoney/CommonMoneyList.vue View File

@ -4,6 +4,21 @@
<div class="table-page-search-wrapper"> <div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery"> <a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="用户表标识">
<j-search-select-tag placeholder="请选择用户表标识" v-model="queryParam.userId" dict="han_hai_member,nick_name,id"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
<a @click="handleToggleSearch" style="margin-left: 8px">
{{ toggleSearchStatus ? '收起' : '展开' }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</a-row> </a-row>
</a-form> </a-form>
</div> </div>
@ -11,19 +26,19 @@
<!-- 操作按钮区域 --> <!-- 操作按钮区域 -->
<div class="table-operator"> <div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('提现流水')">导出</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<!-- 高级查询区域 -->
<j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
</a-dropdown>
<!-- <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>-->
<!-- <a-button type="primary" icon="download" @click="handleExportXls('提现流水')">导出</a-button>-->
<!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
<!-- <a-button type="primary" icon="import">导入</a-button>-->
<!-- </a-upload>-->
<!-- &lt;!&ndash; 高级查询区域 &ndash;&gt;-->
<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
<!-- <a-dropdown v-if="selectedRowKeys.length > 0">-->
<!-- <a-menu slot="overlay">-->
<!-- <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>-->
<!-- </a-menu>-->
<!-- <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>-->
<!-- </a-dropdown>-->
</div> </div>
<!-- table区域-begin --> <!-- table区域-begin -->
@ -68,22 +83,22 @@
</template> </template>
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a @click="handleEdit(record)" v-if="record.type == 1 && record.status == '0'">提现审核</a>
<a-divider type="vertical" />
<a-dropdown>
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
<a-menu slot="overlay">
<a-menu-item>
<a @click="handleDetail(record)">详情</a>
</a-menu-item>
<a-menu-item>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
<!-- <a-divider type="vertical" />-->
<!-- <a-dropdown>-->
<!-- <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>-->
<!-- <a-menu slot="overlay">-->
<!-- <a-menu-item>-->
<!-- <a @click="handleDetail(record)">详情</a>-->
<!-- </a-menu-item>-->
<!-- <a-menu-item>-->
<!-- <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">-->
<!-- <a>删除</a>-->
<!-- </a-popconfirm>-->
<!-- </a-menu-item>-->
<!-- </a-menu>-->
<!-- </a-dropdown>-->
</span> </span>
</a-table> </a-table>
@ -99,6 +114,7 @@
import { mixinDevice } from '@/utils/mixin' import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin' import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import CommonMoneyModal from './modules/CommonMoneyModal' import CommonMoneyModal from './modules/CommonMoneyModal'
import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
export default { export default {
name: 'CommonMoneyList', name: 'CommonMoneyList',
@ -121,18 +137,24 @@
return parseInt(index)+1; return parseInt(index)+1;
} }
}, },
{
title:'创建日期',
align:"center",
sorter: true,
dataIndex: 'createTime'
},
{ {
title:'用户表标识', title:'用户表标识',
align:"center", align:"center",
dataIndex: 'userId'
dataIndex: 'userId_dictText'
}, },
{ {
title:'提现状态',
title:'状态',
align:"center", align:"center",
dataIndex: 'status'
dataIndex: 'status_dictText'
}, },
{ {
title:'提现金额',
title:'金额',
align:"center", align:"center",
dataIndex: 'price' dataIndex: 'price'
}, },
@ -146,6 +168,12 @@
align:"center", align:"center",
dataIndex: 'title' dataIndex: 'title'
}, },
{
title:'截图',
align:"center",
dataIndex: 'image',
scopedSlots: {customRender: 'imgSlot'}
},
{ {
title: '操作', title: '操作',
dataIndex: 'action', dataIndex: 'action',
@ -180,11 +208,13 @@
}, },
getSuperFieldList(){ getSuperFieldList(){
let fieldList=[]; let fieldList=[];
fieldList.push({type:'string',value:'userId',text:'用户表标识',dictCode:''})
fieldList.push({type:'string',value:'status',text:'提现状态',dictCode:''})
fieldList.push({type:'datetime',value:'createTime',text:'创建日期'})
fieldList.push({type:'sel_search',value:'userId',text:'用户表标识',dictTable:"han_hai_member", dictText:'nick_name', dictCode:'id'})
fieldList.push({type:'string',value:'status',text:'提现状态',dictCode:'money_status'})
fieldList.push({type:'BigDecimal',value:'price',text:'提现金额',dictCode:''}) fieldList.push({type:'BigDecimal',value:'price',text:'提现金额',dictCode:''})
fieldList.push({type:'BigDecimal',value:'money',text:'当前余额',dictCode:''}) fieldList.push({type:'BigDecimal',value:'money',text:'当前余额',dictCode:''})
fieldList.push({type:'string',value:'title',text:'标题',dictCode:''}) fieldList.push({type:'string',value:'title',text:'标题',dictCode:''})
fieldList.push({type:'Text',value:'image',text:'截图',dictCode:''})
this.superFieldList = fieldList this.superFieldList = fieldList
} }
} }

module-common/src/main/java/org/jeecg/modules/commonMoney/vue/modules/CommonMoneyForm.vue → admin-pc/src/views/commonMoney/modules/CommonMoneyForm.vue View File

@ -5,27 +5,32 @@
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="用户表标识" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="userId"> <a-form-model-item label="用户表标识" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="userId">
<a-input v-model="model.userId" placeholder="请输入用户表标识" ></a-input>
<j-search-select-tag v-model="model.userId" dict="han_hai_member,nick_name,id" disabled/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="提现状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
<a-input v-model="model.status" placeholder="请输入提现状态" ></a-input>
<a-form-model-item label="审核状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
<j-dict-select-tag type="list" v-model="model.status" dictCode="money_status" placeholder="请选择提现状态" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="提现金额" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="price"> <a-form-model-item label="提现金额" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="price">
<a-input-number v-model="model.price" placeholder="请输入提现金额" style="width: 100%" />
<a-input-number v-model="model.price" placeholder="请输入提现金额" style="width: 100%" disabled/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="当前余额" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="money"> <a-form-model-item label="当前余额" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="money">
<a-input-number v-model="model.money" placeholder="请输入当前余额" style="width: 100%" />
<a-input-number v-model="model.money" placeholder="请输入当前余额" style="width: 100%" disabled/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="标题" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="title"> <a-form-model-item label="标题" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="title">
<a-input v-model="model.title" placeholder="请输入标题" ></a-input>
<a-input v-model="model.title" placeholder="请输入标题" disabled ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="截图" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="image">
<j-image-upload isMultiple v-model="model.image" ></j-image-upload>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>

module-common/src/main/java/org/jeecg/modules/commonMoney/vue/modules/CommonMoneyModal.Style#Drawer.vue → admin-pc/src/views/commonMoney/modules/CommonMoneyModal.Style#Drawer.vue View File


module-common/src/main/java/org/jeecg/modules/commonMoney/vue/modules/CommonMoneyModal.vue → admin-pc/src/views/commonMoney/modules/CommonMoneyModal.vue View File


+ 1
- 1
module-base/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: 用户账户表 * @Description: 用户账户表
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-22
* @Date: 2025-04-03
* @Version: V1.0 * @Version: V1.0
*/ */
@Api(tags="用户账户表") @Api(tags="用户账户表")


+ 7
- 2
module-base/base-core/src/main/java/org/jeecg/modules/hanHaiMember/entity/HanHaiMember.java View File

@ -20,7 +20,7 @@ import lombok.experimental.Accessors;
/** /**
* @Description: 用户账户表 * @Description: 用户账户表
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-22
* @Date: 2025-04-03
* @Version: V1.0 * @Version: V1.0
*/ */
@Data @Data
@ -159,7 +159,8 @@ public class HanHaiMember implements Serializable {
@ApiModelProperty(value = "直接邀请人") @ApiModelProperty(value = "直接邀请人")
private java.lang.String shareId; private java.lang.String shareId;
/**间接邀请人*/ /**间接邀请人*/
@Excel(name = "间接邀请人", width = 15)
@Excel(name = "间接邀请人", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@ApiModelProperty(value = "间接邀请人") @ApiModelProperty(value = "间接邀请人")
private java.lang.String vid; private java.lang.String vid;
/**邀请时间*/ /**邀请时间*/
@ -251,4 +252,8 @@ public class HanHaiMember implements Serializable {
@Excel(name = "代理商到期时间", width = 15) @Excel(name = "代理商到期时间", width = 15)
@ApiModelProperty(value = "代理商到期时间") @ApiModelProperty(value = "代理商到期时间")
private java.util.Date endTime; private java.util.Date endTime;
/**邀请码*/
@Excel(name = "邀请码", width = 15)
@ApiModelProperty(value = "邀请码")
private java.lang.String intentionCode;
} }

+ 1
- 1
module-base/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: 用户账户表 * @Description: 用户账户表
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-22
* @Date: 2025-04-03
* @Version: V1.0 * @Version: V1.0
*/ */
public interface HanHaiMemberMapper extends BaseMapper<HanHaiMember> { public interface HanHaiMemberMapper extends BaseMapper<HanHaiMember> {


+ 1
- 1
module-base/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: 用户账户表 * @Description: 用户账户表
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-22
* @Date: 2025-04-03
* @Version: V1.0 * @Version: V1.0
*/ */
public interface IHanHaiMemberService extends IService<HanHaiMember> { public interface IHanHaiMemberService extends IService<HanHaiMember> {


+ 1
- 1
module-base/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: 用户账户表 * @Description: 用户账户表
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-22
* @Date: 2025-04-03
* @Version: V1.0 * @Version: V1.0
*/ */
@Service @Service


+ 9
- 3
module-base/base-core/src/main/java/org/jeecg/modules/hanHaiMember/vue/HanHaiMemberList.vue View File

@ -11,7 +11,7 @@
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="间接邀请人"> <a-form-item label="间接邀请人">
<a-input placeholder="请输入间接邀请人" v-model="queryParam.vid"></a-input>
<j-search-select-tag placeholder="请选择间接邀请人" v-model="queryParam.vid" dict="han_hai_member,nick_name,id"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
@ -176,7 +176,7 @@
{ {
title:'间接邀请人', title:'间接邀请人',
align:"center", align:"center",
dataIndex: 'vid'
dataIndex: 'vid_dictText'
}, },
{ {
title:'用户角色', title:'用户角色',
@ -193,6 +193,11 @@
align:"center", align:"center",
dataIndex: 'endTime' dataIndex: 'endTime'
}, },
{
title:'邀请码',
align:"center",
dataIndex: 'intentionCode'
},
{ {
title: '操作', title: '操作',
dataIndex: 'action', dataIndex: 'action',
@ -233,10 +238,11 @@
fieldList.push({type:'string',value:'phone',text:'手机号码',dictCode:''}) fieldList.push({type:'string',value:'phone',text:'手机号码',dictCode:''})
fieldList.push({type:'string',value:'appletOpenid',text:'小程序标识',dictCode:''}) fieldList.push({type:'string',value:'appletOpenid',text:'小程序标识',dictCode:''})
fieldList.push({type:'sel_search',value:'shareId',text:'直接邀请人',dictTable:"han_hai_member", dictText:'nick_name', dictCode:'id'}) fieldList.push({type:'sel_search',value:'shareId',text:'直接邀请人',dictTable:"han_hai_member", dictText:'nick_name', dictCode:'id'})
fieldList.push({type:'string',value:'vid',text:'间接邀请人',dictCode:"han_hai_member,nick_name,id"})
fieldList.push({type:'sel_search',value:'vid',text:'间接邀请人',dictTable:"han_hai_member", dictText:'nick_name', dictCode:'id'})
fieldList.push({type:'int',value:'isPay',text:'用户角色',dictCode:'member_role'}) fieldList.push({type:'int',value:'isPay',text:'用户角色',dictCode:'member_role'})
fieldList.push({type:'string',value:'wxCode',text:'微信号',dictCode:''}) fieldList.push({type:'string',value:'wxCode',text:'微信号',dictCode:''})
fieldList.push({type:'datetime',value:'endTime',text:'代理商到期时间'}) fieldList.push({type:'datetime',value:'endTime',text:'代理商到期时间'})
fieldList.push({type:'string',value:'intentionCode',text:'邀请码',dictCode:''})
this.superFieldList = fieldList this.superFieldList = fieldList
} }
} }


+ 6
- 1
module-base/base-core/src/main/java/org/jeecg/modules/hanHaiMember/vue/modules/HanHaiMemberForm.vue View File

@ -30,7 +30,7 @@
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="间接邀请人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vid"> <a-form-model-item label="间接邀请人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vid">
<a-input v-model="model.vid" placeholder="请输入间接邀请人" ></a-input>
<j-search-select-tag v-model="model.vid" dict="han_hai_member,nick_name,id" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
@ -48,6 +48,11 @@
<j-date placeholder="请选择代理商到期时间" v-model="model.endTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> <j-date placeholder="请选择代理商到期时间" v-model="model.endTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24">
<a-form-model-item label="邀请码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="intentionCode">
<a-input v-model="model.intentionCode" placeholder="请输入邀请码" ></a-input>
</a-form-model-item>
</a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
</j-form-container> </j-form-container>


+ 19
- 3
module-base/base-core/src/main/java/org/jeecg/modules/hanHaiMember/vue3/HanHaiMember.data.ts View File

@ -38,7 +38,7 @@ export const columns: BasicColumn[] = [
{ {
title: '间接邀请人', title: '间接邀请人',
align:"center", align:"center",
dataIndex: 'vid'
dataIndex: 'vid_dictText'
}, },
{ {
title: '用户角色', title: '用户角色',
@ -55,6 +55,11 @@ export const columns: BasicColumn[] = [
align:"center", align:"center",
dataIndex: 'endTime' dataIndex: 'endTime'
}, },
{
title: '邀请码',
align:"center",
dataIndex: 'intentionCode'
},
]; ];
//查询数据 //查询数据
export const searchFormSchema: FormSchema[] = [ export const searchFormSchema: FormSchema[] = [
@ -67,7 +72,10 @@ export const searchFormSchema: FormSchema[] = [
{ {
label: "间接邀请人", label: "间接邀请人",
field: "vid", field: "vid",
component: 'Input',
component: 'JSearchSelect',
componentProps:{
dict:"han_hai_member,nick_name,id"
},
colProps: {span: 6}, colProps: {span: 6},
}, },
]; ];
@ -106,7 +114,10 @@ export const formSchema: FormSchema[] = [
{ {
label: '间接邀请人', label: '间接邀请人',
field: 'vid', field: 'vid',
component: 'Input',
component: 'JSearchSelect',
componentProps:{
dict:"han_hai_member,nick_name,id"
},
}, },
{ {
label: '用户角色', label: '用户角色',
@ -131,4 +142,9 @@ export const formSchema: FormSchema[] = [
field: 'endTime', field: 'endTime',
component: 'Input', component: 'Input',
}, },
{
label: '邀请码',
field: 'intentionCode',
component: 'Input',
},
]; ];

+ 17
- 0
module-common/src/main/java/org/jeecg/api/bean/LoginReq.java View File

@ -57,4 +57,21 @@ public class LoginReq {
*/ */
@ApiModelProperty(value = "邀请者销售标识") @ApiModelProperty(value = "邀请者销售标识")
private String shareId; private String shareId;
/**
* 标识
*/
@ApiModelProperty(value = "标识")
private String id;
/**
* 类型
*/
@ApiModelProperty(value = "类型")
private String state;
} }

+ 21
- 8
module-common/src/main/java/org/jeecg/api/controller/AppletFenController.java View File

@ -38,6 +38,19 @@ public class AppletFenController {
return appletFenService.getShareInfo(token,id); return appletFenService.getShareInfo(token,id);
} }
//增加分享次数
@ApiOperation(value="增加分享次数", notes="增加分享次数")
@PostMapping(value = "/addLog")
public Result<?> addLog(@RequestHeader("X-Access-Token") String token,String state,String id){
return appletFenService.addLog(token,state,id);
}
//激活 //激活
@ApiOperation(value="激活", notes="激活") @ApiOperation(value="激活", notes="激活")
@PostMapping(value = "/openVip") @PostMapping(value = "/openVip")
@ -55,8 +68,8 @@ public class AppletFenController {
//校验个人转发是否达标 //校验个人转发是否达标
@ApiOperation(value="校验个人转发是否达标", notes="校验个人转发是否达标") @ApiOperation(value="校验个人转发是否达标", notes="校验个人转发是否达标")
@PostMapping(value = "/checkShare") @PostMapping(value = "/checkShare")
public Result<?> checkShareString (@RequestHeader("X-Access-Token") String token){
return appletFenService.checkShare(token);
public Result<?> checkShareString (@RequestHeader("X-Access-Token") String token,String id){
return appletFenService.checkShare(token,id);
} }
//获取群分享记录详情 //获取群分享记录详情
@ -69,8 +82,8 @@ public class AppletFenController {
//校验群转发是否达标 //校验群转发是否达标
@ApiOperation(value="校验群转发是否达标", notes="校验群转发是否达标") @ApiOperation(value="校验群转发是否达标", notes="校验群转发是否达标")
@PostMapping(value = "/checkGroupShare") @PostMapping(value = "/checkGroupShare")
public Result<?> checkGroupShare(@RequestHeader("X-Access-Token") String token) {
return appletFenService.checkGroupShare(token);
public Result<?> checkGroupShare(@RequestHeader("X-Access-Token") String token,String id) {
return appletFenService.checkGroupShare(token,id);
} }
//获取文章分享记录详情 //获取文章分享记录详情
@ -84,8 +97,8 @@ public class AppletFenController {
//校验文章转发是否达标 //校验文章转发是否达标
@ApiOperation(value="校验文章转发是否达标", notes="校验文章转发是否达标") @ApiOperation(value="校验文章转发是否达标", notes="校验文章转发是否达标")
@PostMapping(value = "/checkArticleShare") @PostMapping(value = "/checkArticleShare")
public Result<?> checkArticleShare(@RequestHeader("X-Access-Token") String token) {
return appletFenService.checkArticleShare(token);
public Result<?> checkArticleShare(@RequestHeader("X-Access-Token") String token,String id) {
return appletFenService.checkArticleShare(token,id);
} }
//获取视频分享记录详情 //获取视频分享记录详情
@ -98,8 +111,8 @@ public class AppletFenController {
//校验视频转发是否达标 //校验视频转发是否达标
@ApiOperation(value="校验视频转发是否达标", notes="校验视频转发是否达标") @ApiOperation(value="校验视频转发是否达标", notes="校验视频转发是否达标")
@PostMapping(value = "/checkVideoShare") @PostMapping(value = "/checkVideoShare")
public Result<?> checkVideoShare(@RequestHeader("X-Access-Token") String token) {
return appletFenService.checkVideoShare(token);
public Result<?> checkVideoShare(@RequestHeader("X-Access-Token") String token,String id) {
return appletFenService.checkVideoShare(token,id);
} }
//增加或者修改个人分享 //增加或者修改个人分享


+ 5
- 4
module-common/src/main/java/org/jeecg/api/controller/AppletInfoController.java View File

@ -6,6 +6,7 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.statement.create.table.Index; import net.sf.jsqlparser.statement.create.table.Index;
import org.jeecg.api.bean.LoginReq; import org.jeecg.api.bean.LoginReq;
import org.jeecg.api.bean.PageBean;
import org.jeecg.api.service.AppletInfoService; import org.jeecg.api.service.AppletInfoService;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -42,8 +43,8 @@ public class AppletInfoController {
//获取我的推广数据列表 //获取我的推广数据列表
@ApiOperation(value="获取我的推广数据列表", notes="获取我的推广数据列表") @ApiOperation(value="获取我的推广数据列表", notes="获取我的推广数据列表")
@GetMapping(value = "/getUserInfoVipList") @GetMapping(value = "/getUserInfoVipList")
public Result<?> getUserInfoVipList(@RequestHeader("X-Access-Token") String token, Integer state,Integer role){
return appletInfoService.getUserInfoVipList(token);
public Result<?> getUserInfoVipList(@RequestHeader("X-Access-Token") String token, Integer state, Integer role, PageBean pageBean){
return appletInfoService.getUserInfoVipList(token,state,role,pageBean);
} }
@ -51,8 +52,8 @@ public class AppletInfoController {
@ApiOperation(value="获取我的钱包数据信息 -钱包流水列表", notes="获取我的钱包数据信息 -钱包流水列表") @ApiOperation(value="获取我的钱包数据信息 -钱包流水列表", notes="获取我的钱包数据信息 -钱包流水列表")
@GetMapping(value = "/getWalletList") @GetMapping(value = "/getWalletList")
public Result<?> getWalletList(@RequestHeader("X-Access-Token") String token, Integer state,String time){
return appletInfoService.getWalletList(token,state);
public Result<?> getWalletList(@RequestHeader("X-Access-Token") String token, Integer state,String time, PageBean pageBean){
return appletInfoService.getWalletList(token,state,time,pageBean);
} }


+ 1
- 0
module-common/src/main/java/org/jeecg/api/controller/AppletLoginController.java View File

@ -79,4 +79,5 @@ public class AppletLoginController {
} }

+ 7
- 4
module-common/src/main/java/org/jeecg/api/service/AppletFenService.java View File

@ -20,6 +20,9 @@ public interface AppletFenService {
//获取个人分享记录详情 //获取个人分享记录详情
Result<?> getShareInfo(String token,String id); Result<?> getShareInfo(String token,String id);
//增加分享次数
Result<?> addLog(String token,String state,String id);
//激活 //激活
Result<?> openVip (String token,String code); Result<?> openVip (String token,String code);
@ -27,25 +30,25 @@ public interface AppletFenService {
Result<?> openMoney (String token, BigDecimal money); Result<?> openMoney (String token, BigDecimal money);
//校验个人转发是否达标 //校验个人转发是否达标
Result<?> checkShare(String token);
Result<?> checkShare(String token,String id);
//获取群分享记录详情 //获取群分享记录详情
Result<?> getGroupShareInfo(String token,String id); Result<?> getGroupShareInfo(String token,String id);
//校验群转发是否达标 //校验群转发是否达标
Result<?> checkGroupShare(String token);
Result<?> checkGroupShare(String token,String id);
//获取文章分享记录详情 //获取文章分享记录详情
Result<?> getArticleShareInfo(String token,String id); Result<?> getArticleShareInfo(String token,String id);
//校验文章转发是否达标 //校验文章转发是否达标
Result<?> checkArticleShare(String token);
Result<?> checkArticleShare(String token,String id);
//获取视频分享记录详情 //获取视频分享记录详情
Result<?> getVideoShareInfo(String token,String id); Result<?> getVideoShareInfo(String token,String id);
//校验视频转发是否达标 //校验视频转发是否达标
Result<?> checkVideoShare(String token);
Result<?> checkVideoShare(String token,String id);
//增加或者修改个人分享 //增加或者修改个人分享


+ 3
- 2
module-common/src/main/java/org/jeecg/api/service/AppletInfoService.java View File

@ -2,6 +2,7 @@ package org.jeecg.api.service;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jeecg.api.bean.PageBean;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
@ -13,9 +14,9 @@ public interface AppletInfoService {
Result<?> getUserInfoVip(String token); Result<?> getUserInfoVip(String token);
Result<?> getUserInfoVipList(String token);
Result<?> getUserInfoVipList(String token, Integer state,Integer role, PageBean pageBean);
Result<?> getWalletList(String token, Integer state);
Result<?> getWalletList(String token, Integer state,String time, PageBean pageBean);
//获取个人资料信息 //获取个人资料信息
Result<?> getUserInfo(String token); Result<?> getUserInfo(String token);


+ 346
- 28
module-common/src/main/java/org/jeecg/api/service/impl/AppletFenServiceImpl.java View File

@ -11,13 +11,29 @@ import org.jeecg.common.api.vo.Result;
import org.jeecg.config.shiro.ShiroRealm; import org.jeecg.config.shiro.ShiroRealm;
import org.jeecg.modules.commonBook.entity.CommonBook; import org.jeecg.modules.commonBook.entity.CommonBook;
import org.jeecg.modules.commonBook.service.ICommonBookService; import org.jeecg.modules.commonBook.service.ICommonBookService;
import org.jeecg.modules.commonBookLog.entity.CommonBookLog;
import org.jeecg.modules.commonBookLog.service.ICommonBookLogService;
import org.jeecg.modules.commonCode.entity.CommonCode;
import org.jeecg.modules.commonCode.service.ICommonCodeService;
import org.jeecg.modules.commonConfig.entity.CommonConfig;
import org.jeecg.modules.commonConfig.service.ICommonConfigService;
import org.jeecg.modules.commonMember.entity.CommonMember; import org.jeecg.modules.commonMember.entity.CommonMember;
import org.jeecg.modules.commonMember.service.ICommonMemberService; import org.jeecg.modules.commonMember.service.ICommonMemberService;
import org.jeecg.modules.commonMemberLog.entity.CommonMemberLog;
import org.jeecg.modules.commonMemberLog.service.ICommonMemberLogService;
import org.jeecg.modules.commonMoney.entity.CommonMoney;
import org.jeecg.modules.commonMoney.service.ICommonMoneyService;
import org.jeecg.modules.commonNews.entity.CommonNews; import org.jeecg.modules.commonNews.entity.CommonNews;
import org.jeecg.modules.commonTeam.entity.CommonTeam; import org.jeecg.modules.commonTeam.entity.CommonTeam;
import org.jeecg.modules.commonTeam.service.ICommonTeamService; import org.jeecg.modules.commonTeam.service.ICommonTeamService;
import org.jeecg.modules.commonTeamLog.entity.CommonTeamLog;
import org.jeecg.modules.commonTeamLog.service.ICommonTeamLogService;
import org.jeecg.modules.commonVio.entity.CommonVio; import org.jeecg.modules.commonVio.entity.CommonVio;
import org.jeecg.modules.commonVio.service.ICommonVioService; import org.jeecg.modules.commonVio.service.ICommonVioService;
import org.jeecg.modules.commonVioLog.entity.CommonVioLog;
import org.jeecg.modules.commonVioLog.service.ICommonVioLogService;
import org.jeecg.modules.commonVip.entity.CommonVip;
import org.jeecg.modules.commonVip.service.ICommonVipService;
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember;
import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -25,7 +41,9 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
@Slf4j @Slf4j
@ -35,15 +53,33 @@ public class AppletFenServiceImpl implements AppletFenService {
@Autowired @Autowired
private ICommonBookService commonBookService; private ICommonBookService commonBookService;
@Autowired @Autowired
private ICommonCodeService commonCodeService;
@Autowired
private ICommonTeamService commonTeamService; private ICommonTeamService commonTeamService;
@Autowired @Autowired
private ICommonVioService commonVioService; private ICommonVioService commonVioService;
@Autowired @Autowired
private ICommonMemberService commonMemberService; private ICommonMemberService commonMemberService;
@Autowired
private ICommonMoneyService commonMoneyService;
@Resource @Resource
private ShiroRealm shiroRealm; private ShiroRealm shiroRealm;
@Autowired @Autowired
private IHanHaiMemberService hanHaiMemberService; private IHanHaiMemberService hanHaiMemberService;
@Autowired
private ICommonVipService commonVipService;
@Autowired
private ICommonConfigService commonConfigService;
@Autowired
private ICommonMemberLogService commonMemberLogService;
@Autowired
private ICommonBookLogService commonBookLogService;
@Autowired
private ICommonTeamLogService commonTeamLogService;
@Autowired
private ICommonVioLogService commonVioLogService;
//获取分享记录列表带分页 //获取分享记录列表带分页
@Override @Override
@ -137,16 +173,182 @@ public class AppletFenServiceImpl implements AppletFenService {
return Result.OK("个人分享详情",commonMember); return Result.OK("个人分享详情",commonMember);
} }
//增加分享次数
@Override
public Result<?> addLog(String token,String state,String id){
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
//增加加点击记录id state shareId
if(state.equals("0")){
//个人分享
CommonMemberLog memberLog = new CommonMemberLog();
memberLog.setCreateTime(new Date());
memberLog.setMemberId(id);
// memberLog.setUserId(hanHaiMember.getId());
memberLog.setShareId(hanHaiMember.getId());
commonMemberLogService.save(memberLog);
}else if(state.equals("1")){
//视频分享
CommonVioLog commonVioLog = new CommonVioLog();
commonVioLog.setCreateTime(new Date());
commonVioLog.setVid(id);
// commonVioLog.setUserId(hanHaiMember.getId());
commonVioLog.setShareId(hanHaiMember.getId());
commonVioLogService.save(commonVioLog);
}else if(state.equals("2")){
//群分享
CommonTeamLog commonTeamLog = new CommonTeamLog();
commonTeamLog.setCreateTime(new Date());
commonTeamLog.setTeamId(id);
// commonTeamLog.setUserId(hanHaiMember.getId());
commonTeamLog.setShareId(hanHaiMember.getId());
commonTeamLogService.save(commonTeamLog);
}else{
//文章分
CommonBookLog commonBookLog = new CommonBookLog();
commonBookLog.setCreateTime(new Date());
commonBookLog.setBookId(id);
// commonBookLog.setUserId(hanHaiMember.getId());
commonBookLog.setShareId(hanHaiMember.getId());
commonBookLogService.save(commonBookLog);
}
return Result.OK("增加成功");
}
//激活 //激活
@Override @Override
public Result<?> openVip (String token,String code){ public Result<?> openVip (String token,String code){
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
//激活码不能为空
if(StringUtils.isBlank(code)){
return Result.error("激活码不能为空");
}
//查询该激活码是否被使用
CommonCode commonCode = commonCodeService.lambdaQuery()
.eq(CommonCode::getCode,code)
.one();
if(null==commonCode){
return Result.error("激活码不存在");
}
// if(commonCode.getStatus().equals("1")){
// return Result.error("激活码已被使用");
// }
if(StringUtils.isNotBlank(commonCode.getUserId())){
return Result.error("激活码已被使用");
}
//根据配置查询配置列表
CommonConfig dliMoney = commonConfigService.lambdaQuery().eq(CommonConfig::getKeyName, "dli_money").one();
//得到价格
BigDecimal price =new BigDecimal(dliMoney.getKeyContent()) ;
//根据用户一级邀请人id查询用户信息
HanHaiMember hanHaiMemberOne = hanHaiMemberService.lambdaQuery()
.eq(HanHaiMember::getId,commonCode.getPid())
.one();
if(null!=hanHaiMemberOne){
//根据配置列表查询返佣比例
CommonVip one = commonVipService.lambdaQuery()
.eq(CommonVip::getNum, 1)
.one();
//得到比例
BigDecimal onePrice = one.getPrice();
//计算返佣
BigDecimal oneMoney = onePrice.multiply(price);
//增加佣金流水
CommonMoney commonMoney = new CommonMoney();
commonMoney.setCreateTime(new Date());
commonMoney.setPrice(oneMoney);
commonMoney.setStatus("1");
commonMoney.setTitle("一级邀请人获得佣金");
commonMoney.setUserId(hanHaiMemberOne.getId());
commonMoney.setMoney(hanHaiMemberOne.getPrice());
commonMoneyService.save(commonMoney);
//增加用户佣金
BigDecimal oneMoney1 = hanHaiMemberOne.getPrice().add(oneMoney);
hanHaiMemberOne.setPrice(oneMoney1);
hanHaiMemberService.updateById(hanHaiMemberOne);
}
//根据用户一级邀请人id查询用户信息
HanHaiMember hanHaiMemberTwo = hanHaiMemberService.lambdaQuery()
.eq(HanHaiMember::getId,commonCode.getPidTwo())
.one();
if(null!=hanHaiMemberTwo){
//根据配置列表查询返佣比例
CommonVip two = commonVipService.lambdaQuery()
.eq(CommonVip::getNum, 2)
.one();
BigDecimal twoPrice = two.getPrice();
BigDecimal twoMoney = twoPrice.multiply(price);
//增加佣金流水
CommonMoney commonMoney = new CommonMoney();
commonMoney.setCreateTime(new Date());
commonMoney.setPrice(twoMoney);
commonMoney.setStatus("1");
commonMoney.setTitle("二级邀请人获得佣金");
commonMoney.setUserId(hanHaiMemberTwo.getId());
commonMoney.setMoney(hanHaiMemberTwo.getPrice());
commonMoneyService.save(commonMoney);
BigDecimal twoMoney1 = hanHaiMemberTwo.getPrice().add(twoMoney);
hanHaiMemberTwo.setPrice(twoMoney1);
hanHaiMemberService.updateById(hanHaiMemberTwo);
}
commonCode.setUserId(hanHaiMember.getId());
commonCode.setStartTime(new Date());
commonCode.setStatus(1);
commonCodeService.updateById(commonCode);
//修改个人信息
hanHaiMember.setIsPay(1);
hanHaiMember.setEndTime(commonCode.getEndTime());
hanHaiMemberService.updateById(hanHaiMember);
return Result.OK("激活成功"); return Result.OK("激活成功");
} }
//提现 //提现
@Override @Override
public Result<?> openMoney (String token, BigDecimal money){ public Result<?> openMoney (String token, BigDecimal money){
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
if(money.compareTo(hanHaiMember.getPrice()) == 1){
return Result.error("提现金额不能大于余额");
}
//增加提现流水
CommonMoney commonMoney = new CommonMoney();
commonMoney.setCreateTime(new Date());
commonMoney.setPrice(money);
commonMoney.setStatus("0");
commonMoney.setTitle("提现");
commonMoney.setUserId(hanHaiMember.getId());
commonMoney.setMoney(hanHaiMember.getPrice());
commonMoney.setType(1);
commonMoneyService.save(commonMoney);
//修改用户余额
BigDecimal money1 = hanHaiMember.getPrice().subtract(money);
hanHaiMember.setPrice(money1);
hanHaiMemberService.updateById(hanHaiMember);
return Result.OK("提现成功"); return Result.OK("提现成功");
} }
@ -179,51 +381,167 @@ public class AppletFenServiceImpl implements AppletFenService {
//校验个人转发是否达标 //校验个人转发是否达标
@Override @Override
public Result<?> checkShare(String token){
public Result<?> checkShare(String token,String id){
// 1. 校验用户token
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
Map<String,Object> map = new HashMap<>();
map.put("title","已转发5次");
map.put("need_num",30);
map.put("num",5);
map.put("open",false);
return Result.OK("查询成功",map);
if (hanHaiMember == null) {
return Result.error("无效token");
}
// 2. 查询转发记录
List<CommonMemberLog> list = commonMemberLogService.lambdaQuery()
.eq(CommonMemberLog::getShareId, hanHaiMember.getId())
.eq(CommonMemberLog::getMemberId, id)
.list();
// 3. 查询目标配置
CommonMember target = commonMemberService.getById(id);
if (target == null) {
return Result.error("配置不存在");
}
// 4. 处理数字转换
int required;
try {
// 假设num字段是String类型存储的数字
required = Integer.parseInt(target.getNum());
} catch (NumberFormatException e) {
return Result.error("转发次数配置错误");
}
// 5. 直接使用int值比较
int current = list.size();
Map<String, Object> map = new HashMap<>();
map.put("title", "已转发" + current + "次");
map.put("need_num", required);
map.put("num", current);
map.put("open", current >= required); // 直接使用boolean表达式
return Result.OK("查询成功", map);
} }
//校验视频转发是否达标 //校验视频转发是否达标
@Override @Override
public Result<?> checkVideoShare(String token){
public Result<?> checkVideoShare(String token,String id){
// 1. 校验用户token
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
Map<String,Object> map = new HashMap<>();
map.put("title","已转发5次");
map.put("need_num",3);
map.put("num",15);
map.put("open",true);
return Result.OK("查询成功",map);
if (hanHaiMember == null) {
return Result.error("无效token");
}
// 2. 查询转发记录
List<CommonVioLog> list = commonVioLogService.lambdaQuery()
.eq(CommonVioLog::getShareId, hanHaiMember.getId())
.eq(CommonVioLog::getVid, id)
.list();
// 3. 查询目标配置
CommonVio target = commonVioService.getById(id);
if (target == null) {
return Result.error("配置不存在");
}
// 4. 处理数字转换
int required;
try {
// 假设num字段是String类型存储的数字
required = Integer.parseInt(target.getNum());
} catch (NumberFormatException e) {
return Result.error("转发次数配置错误");
}
// 5. 直接使用int值比较
int current = list.size();
Map<String, Object> map = new HashMap<>();
map.put("title", "已转发" + current + "次");
map.put("need_num", required);
map.put("num", current);
map.put("open", current >= required); // 直接使用boolean表达式
return Result.OK("查询成功", map);
} }
//校验群转发是否达标 //校验群转发是否达标
@Override @Override
public Result<?> checkGroupShare(String token){
public Result<?> checkGroupShare(String token,String id){
// 1. 校验用户token
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
Map<String,Object> map = new HashMap<>();
map.put("title","已转发5次");
map.put("need_num",10);
map.put("num",5);
map.put("open",false);
return Result.OK("查询成功",map);
if (hanHaiMember == null) {
return Result.error("无效token");
}
// 2. 查询转发记录
List<CommonTeamLog> list = commonTeamLogService.lambdaQuery()
.eq(CommonTeamLog::getShareId, hanHaiMember.getId())
.eq(CommonTeamLog::getTeamId, id)
.list();
// 3. 查询目标配置
CommonTeam target = commonTeamService.getById(id);
if (target == null) {
return Result.error("配置不存在");
}
// 4. 处理数字转换
int required;
try {
// 假设num字段是String类型存储的数字
required = Integer.parseInt(target.getNum());
} catch (NumberFormatException e) {
return Result.error("转发次数配置错误");
}
// 5. 直接使用int值比较
int current = list.size();
Map<String, Object> map = new HashMap<>();
map.put("title", "已转发" + current + "次");
map.put("need_num", required);
map.put("num", current);
map.put("open", current >= required); // 直接使用boolean表达式
return Result.OK("查询成功", map);
} }
//校验文章转发是否达标 //校验文章转发是否达标
@Override @Override
public Result<?> checkArticleShare(String token){
public Result<?> checkArticleShare(String token,String id){
// 1. 校验用户token
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
Map<String,Object> map = new HashMap<>();
map.put("title","已转发5次");
map.put("need_num",3);
map.put("num",5);
map.put("open",true);
return Result.OK("查询成功",map);
if (hanHaiMember == null) {
return Result.error("无效token");
}
// 2. 查询转发记录
List<CommonBookLog> list = commonBookLogService.lambdaQuery()
.eq(CommonBookLog::getShareId, hanHaiMember.getId())
.eq(CommonBookLog::getBookId, id)
.list();
// 3. 查询目标配置
CommonBook target = commonBookService.getById(id);
if (target == null) {
return Result.error("配置不存在");
}
// 4. 处理数字转换
int required;
try {
// 假设num字段是String类型存储的数字
required = Integer.parseInt(target.getNum());
} catch (NumberFormatException e) {
return Result.error("转发次数配置错误");
}
// 5. 直接使用int值比较
int current = list.size();
Map<String, Object> map = new HashMap<>();
map.put("title", "已转发" + current + "次");
map.put("need_num", required);
map.put("num", current);
map.put("open", current >= required); // 直接使用boolean表达式
return Result.OK("查询成功", map);
} }


+ 80
- 15
module-common/src/main/java/org/jeecg/api/service/impl/AppletInfoServiceImpl.java View File

@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.jeecg.api.bean.PageBean;
import org.jeecg.api.service.AppletInfoService; import org.jeecg.api.service.AppletInfoService;
import org.jeecg.api.wxUtils.HttpClientUtil; import org.jeecg.api.wxUtils.HttpClientUtil;
import org.jeecg.api.wxUtils.WxQrCodeVo; import org.jeecg.api.wxUtils.WxQrCodeVo;
@ -37,6 +38,7 @@ import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.*; import java.io.*;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -71,32 +73,95 @@ public class AppletInfoServiceImpl implements AppletInfoService {
public Result<?> getUserInfoVip(String token){ public Result<?> getUserInfoVip(String token){
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
Map map = new HashMap(); Map map = new HashMap();
map.put("user_sum",1000);
map.put("z_sum",900);
map.put("j_sum",100);
map.put("pidInfo",hanHaiMember);
map.put("money",888);
map.put("sum_money",888);
map.put("get_money",99);
map.put("vip_time",new Date());
List<HanHaiMember> list = hanHaiMemberService.lambdaQuery().eq(HanHaiMember::getShareId, hanHaiMember.getId()).list();
List<HanHaiMember> listj = hanHaiMemberService.lambdaQuery().eq(HanHaiMember::getVid, hanHaiMember.getId()).list();
map.put("j_sum",list.size());
map.put("z_sum",listj.size());
map.put("user_sum",listj.size() + list.size());
HanHaiMember byId = hanHaiMemberService.getById(hanHaiMember.getShareId());
if(byId == null){
map.put("pidInfo",hanHaiMember);
}else{
map.put("pidInfo",byId);
}
map.put("money",hanHaiMember.getPrice());
//查询所有收益记录
List<CommonMoney> list1 = commonMoneyService.lambdaQuery()
.eq(CommonMoney::getUserId,hanHaiMember.getId())
.eq(CommonMoney::getType,0) //0-收益 1-提现
.list();
//如果数据不为空记录数据总金额
BigDecimal money = new BigDecimal(0);
BigDecimal price = new BigDecimal(0);
if(list1.size() > 0){
for (CommonMoney commonMoney : list1) {
money = money.add(commonMoney.getPrice());
}
}
//查询所有提现记录
List<CommonMoney> list2 = commonMoneyService.lambdaQuery()
.eq(CommonMoney::getUserId,hanHaiMember.getId())
.eq(CommonMoney::getType,1) //0-收益 1-提现
.list();
if(list2.size() > 0){
for (CommonMoney commonMoney : list2) {
price = price.add(commonMoney.getPrice());
}
}
map.put("sum_money",money);
map.put("get_money",price);
map.put("vip_time", hanHaiMember.getEndTime());
return Result.OK(map); return Result.OK(map);
} }
@Override @Override
public Result<?> getUserInfoVipList(String token){
Page<HanHaiMember> page = new Page<HanHaiMember>(1, 10);
IPage<HanHaiMember> pageList = hanHaiMemberService.page(page);
public Result<?> getUserInfoVipList(String token, Integer state,Integer role, PageBean pageBean){
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
Page<HanHaiMember> page = new Page<HanHaiMember>(pageBean.getPageNo(), pageBean.getPageSize());
IPage<HanHaiMember> pageList = hanHaiMemberService
.lambdaQuery()
.eq(HanHaiMember::getShareId,hanHaiMember.getId())
.page(page);
if(state == 1){
pageList = hanHaiMemberService
.lambdaQuery()
.eq(HanHaiMember::getVid,hanHaiMember.getId())
.page(page);
}
return Result.OK(pageList); return Result.OK(pageList);
} }
@Override @Override
public Result<?> getWalletList(String token, Integer state){
Page<CommonMoney> page = new Page<CommonMoney>(1, 10);
IPage<CommonMoney> pageList = commonMoneyService.page(page);
public Result<?> getWalletList(String token, Integer state,String time, PageBean pageBean){
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);
Page<CommonMoney> page = new Page<CommonMoney>(pageBean.getPageNo(), pageBean.getPageSize());
IPage<CommonMoney> pageList = commonMoneyService
.lambdaQuery()
.eq(CommonMoney::getUserId,hanHaiMember.getId())
.page(page);
return Result.OK(pageList); return Result.OK(pageList);
} }


+ 115
- 3
module-common/src/main/java/org/jeecg/api/service/impl/AppletLoginServiceImpl.java View File

@ -17,12 +17,23 @@ import org.jeecg.common.system.util.JwtUtil;
import org.jeecg.common.util.RedisUtil; import org.jeecg.common.util.RedisUtil;
import org.jeecg.modules.commonBanner.entity.CommonBanner; import org.jeecg.modules.commonBanner.entity.CommonBanner;
import org.jeecg.modules.commonBanner.service.ICommonBannerService; import org.jeecg.modules.commonBanner.service.ICommonBannerService;
import org.jeecg.modules.commonBookLog.entity.CommonBookLog;
import org.jeecg.modules.commonBookLog.service.ICommonBookLogService;
import org.jeecg.modules.commonConfig.entity.CommonConfig; import org.jeecg.modules.commonConfig.entity.CommonConfig;
import org.jeecg.modules.commonConfig.service.ICommonConfigService; import org.jeecg.modules.commonConfig.service.ICommonConfigService;
import org.jeecg.modules.commonMember.entity.CommonMember;
import org.jeecg.modules.commonMemberLog.entity.CommonMemberLog;
import org.jeecg.modules.commonMemberLog.service.ICommonMemberLogService;
import org.jeecg.modules.commonNews.entity.CommonNews; import org.jeecg.modules.commonNews.entity.CommonNews;
import org.jeecg.modules.commonNews.service.ICommonNewsService; import org.jeecg.modules.commonNews.service.ICommonNewsService;
import org.jeecg.modules.commonNotice.entity.CommonNotice; import org.jeecg.modules.commonNotice.entity.CommonNotice;
import org.jeecg.modules.commonNotice.service.ICommonNoticeService; import org.jeecg.modules.commonNotice.service.ICommonNoticeService;
import org.jeecg.modules.commonTeam.entity.CommonTeam;
import org.jeecg.modules.commonTeamLog.entity.CommonTeamLog;
import org.jeecg.modules.commonTeamLog.service.ICommonTeamLogService;
import org.jeecg.modules.commonVio.entity.CommonVio;
import org.jeecg.modules.commonVioLog.entity.CommonVioLog;
import org.jeecg.modules.commonVioLog.service.ICommonVioLogService;
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember;
import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -37,9 +48,7 @@ import java.io.InputStreamReader;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@Slf4j @Slf4j
@Service @Service
@ -70,6 +79,17 @@ public class AppletLoginServiceImpl implements AppletLoginService {
private ICommonBannerService commonBannerService; private ICommonBannerService commonBannerService;
@Autowired
private ICommonMemberLogService commonMemberLogService;
@Autowired
private ICommonBookLogService commonBookLogService;
@Autowired
private ICommonTeamLogService commonTeamLogService;
@Autowired
private ICommonVioLogService commonVioLogService;
/** /**
@ -93,6 +113,8 @@ public class AppletLoginServiceImpl implements AppletLoginService {
if (StringUtils.isBlank(wxOpenid)) { if (StringUtils.isBlank(wxOpenid)) {
throw new JeecgBootException("未获取到openid"); throw new JeecgBootException("未获取到openid");
} }
Random random = new Random();
int randomNumber = 100000 + random.nextInt(900000);
HanHaiMember member = memberService.lambdaQuery().eq(HanHaiMember::getAppletOpenid,wxOpenid).one(); HanHaiMember member = memberService.lambdaQuery().eq(HanHaiMember::getAppletOpenid,wxOpenid).one();
if (member == null) { if (member == null) {
@ -103,9 +125,58 @@ public class AppletLoginServiceImpl implements AppletLoginService {
member.setAppletOpenid(wxOpenid); member.setAppletOpenid(wxOpenid);
member.setNickName("裂变星"+System.currentTimeMillis()); member.setNickName("裂变星"+System.currentTimeMillis());
member.setHeadImage(loginReq.getHeadimgurl()); member.setHeadImage(loginReq.getHeadimgurl());
if(StringUtils.isNoneBlank(loginReq.getShareId())){
member.setShareId(loginReq.getShareId());
//查询该这个用户的上级用户是哪个
HanHaiMember vid = memberService.lambdaQuery().eq(HanHaiMember::getId, loginReq.getId()).one();
//如果他不为空
if(vid !=null){
member.setVid(vid.getShareId());
}
}
// 生成token返回给小程序端 // 生成token返回给小程序端
String token = JwtUtil.sign(member.getAppletOpenid(), wxOpenid); String token = JwtUtil.sign(member.getAppletOpenid(), wxOpenid);
member.setIntentionCode(String.valueOf(randomNumber));
memberService.save(member); memberService.save(member);
if(StringUtils.isNotBlank(loginReq.getState())){
//增加加点击记录id state shareId
if(loginReq.getState().equals("0")){
//个人分享
CommonMemberLog memberLog = new CommonMemberLog();
memberLog.setCreateTime(new Date());
memberLog.setMemberId(loginReq.getId());
memberLog.setUserId(member.getId());
commonMemberLogService.save(memberLog);
}else if(loginReq.getState().equals("1")){
//视频分享
CommonVioLog commonVioLog = new CommonVioLog();
commonVioLog.setCreateTime(new Date());
commonVioLog.setVid(loginReq.getId());
commonVioLog.setUserId(member.getId());
commonVioLogService.save(commonVioLog);
}else if(loginReq.getState().equals("2")){
//群分享
CommonTeamLog commonTeamLog = new CommonTeamLog();
commonTeamLog.setCreateTime(new Date());
commonTeamLog.setTeamId(loginReq.getId());
commonTeamLog.setUserId(member.getId());
commonTeamLogService.save(commonTeamLog);
}else{
//文章分
CommonBookLog commonBookLog = new CommonBookLog();
commonBookLog.setCreateTime(new Date());
commonBookLog.setBookId(loginReq.getId());
commonBookLog.setUserId(member.getId());
commonBookLogService.save(commonBookLog);
}
}
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
// 设置超时时间 // 设置超时时间
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 100); redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 100);
@ -121,6 +192,47 @@ public class AppletLoginServiceImpl implements AppletLoginService {
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
// 设置超时时间 // 设置超时时间
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 100); redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 100);
if(StringUtils.isNotBlank(loginReq.getState())){
//增加加点击记录id state shareId
if(loginReq.getState().equals("0")){
//个人分享
CommonMemberLog memberLog = new CommonMemberLog();
memberLog.setCreateTime(new Date());
memberLog.setMemberId(loginReq.getId());
memberLog.setUserId(member.getId());
memberLog.setShareId(loginReq.getShareId());
commonMemberLogService.save(memberLog);
}else if(loginReq.getState().equals("1")){
//视频分享
CommonVioLog commonVioLog = new CommonVioLog();
commonVioLog.setCreateTime(new Date());
commonVioLog.setVid(loginReq.getId());
commonVioLog.setUserId(member.getId());
commonVioLog.setShareId(loginReq.getShareId());
commonVioLogService.save(commonVioLog);
}else if(loginReq.getState().equals("2")){
//群分享
CommonTeamLog commonTeamLog = new CommonTeamLog();
commonTeamLog.setCreateTime(new Date());
commonTeamLog.setTeamId(loginReq.getId());
commonTeamLog.setUserId(member.getId());
commonTeamLog.setShareId(loginReq.getShareId());
commonTeamLogService.save(commonTeamLog);
}else{
//文章分
CommonBookLog commonBookLog = new CommonBookLog();
commonBookLog.setCreateTime(new Date());
commonBookLog.setBookId(loginReq.getId());
commonBookLog.setUserId(member.getId());
commonBookLog.setShareId(loginReq.getShareId());
commonBookLogService.save(commonBookLog);
}
}
map.put("userInfo", member); map.put("userInfo", member);
map.put("token", token); map.put("token", token);
//用户id做im账号 //用户id做im账号


+ 11
- 2
module-common/src/main/java/org/jeecg/modules/commonCode/controller/CommonCodeController.java View File

@ -3,6 +3,7 @@ package org.jeecg.modules.commonCode.controller;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Random;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
@ -39,7 +40,7 @@ import org.jeecg.common.aspect.annotation.AutoLog;
/** /**
* @Description: 代理激活码 * @Description: 代理激活码
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-22
* @Date: 2025-04-10
* @Version: V1.0 * @Version: V1.0
*/ */
@Api(tags="代理激活码") @Api(tags="代理激活码")
@ -82,8 +83,16 @@ public class CommonCodeController extends JeecgController<CommonCode, ICommonCod
@ApiOperation(value="代理激活码-添加", notes="代理激活码-添加") @ApiOperation(value="代理激活码-添加", notes="代理激活码-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<String> add(@RequestBody CommonCode commonCode) { public Result<String> add(@RequestBody CommonCode commonCode) {
//过期时间必填
if (commonCode.getEndTime() == null) {
return Result.error("请填写过期时间");
}
Random random = new Random();
//生成随机激活码
int randomNumber = random.nextInt(900000000) + 100000000; // 生成一个8位数字的随机数
commonCode.setCode(String.valueOf(randomNumber));
commonCodeService.save(commonCode); commonCodeService.save(commonCode);
return Result.OK("添加成功!");
return Result.OK("激活码生成成功!");
} }
/** /**


+ 15
- 1
module-common/src/main/java/org/jeecg/modules/commonCode/entity/CommonCode.java View File

@ -20,7 +20,7 @@ import lombok.experimental.Accessors;
/** /**
* @Description: 代理激活码 * @Description: 代理激活码
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-22
* @Date: 2025-04-10
* @Version: V1.0 * @Version: V1.0
*/ */
@Data @Data
@ -64,4 +64,18 @@ public class CommonCode implements Serializable {
@Excel(name = "激活时间", width = 15) @Excel(name = "激活时间", width = 15)
@ApiModelProperty(value = "激活时间") @ApiModelProperty(value = "激活时间")
private java.util.Date startTime; private java.util.Date startTime;
/**一级邀请人*/
@Excel(name = "一级邀请人", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@ApiModelProperty(value = "一级邀请人")
private java.lang.String pid;
/**二级邀请人*/
@Excel(name = "二级邀请人", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@ApiModelProperty(value = "二级邀请人")
private java.lang.String pidTwo;
/**使用状态*/
@Excel(name = "使用状态", width = 15)
@ApiModelProperty(value = "使用状态")
private java.lang.Integer status;
} }

+ 1
- 1
module-common/src/main/java/org/jeecg/modules/commonCode/mapper/CommonCodeMapper.java View File

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/** /**
* @Description: 代理激活码 * @Description: 代理激活码
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-22
* @Date: 2025-04-10
* @Version: V1.0 * @Version: V1.0
*/ */
public interface CommonCodeMapper extends BaseMapper<CommonCode> { public interface CommonCodeMapper extends BaseMapper<CommonCode> {


+ 1
- 1
module-common/src/main/java/org/jeecg/modules/commonCode/service/ICommonCodeService.java View File

@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
/** /**
* @Description: 代理激活码 * @Description: 代理激活码
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-22
* @Date: 2025-04-10
* @Version: V1.0 * @Version: V1.0
*/ */
public interface ICommonCodeService extends IService<CommonCode> { public interface ICommonCodeService extends IService<CommonCode> {


+ 1
- 1
module-common/src/main/java/org/jeecg/modules/commonCode/service/impl/CommonCodeServiceImpl.java View File

@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/** /**
* @Description: 代理激活码 * @Description: 代理激活码
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-22
* @Date: 2025-04-10
* @Version: V1.0 * @Version: V1.0
*/ */
@Service @Service


+ 54
- 0
module-common/src/main/java/org/jeecg/modules/commonCode/vue3/CommonCode.data.ts View File

@ -24,6 +24,21 @@ export const columns: BasicColumn[] = [
align:"center", align:"center",
dataIndex: 'startTime' dataIndex: 'startTime'
}, },
{
title: '一级邀请人',
align:"center",
dataIndex: 'pid_dictText'
},
{
title: '二级邀请人',
align:"center",
dataIndex: 'pidTwo_dictText'
},
{
title: '使用状态',
align:"center",
dataIndex: 'status'
},
]; ];
//查询数据 //查询数据
export const searchFormSchema: FormSchema[] = [ export const searchFormSchema: FormSchema[] = [
@ -36,6 +51,24 @@ export const searchFormSchema: FormSchema[] = [
}, },
colProps: {span: 6}, colProps: {span: 6},
}, },
{
label: "一级邀请人",
field: "pid",
component: 'JSearchSelect',
componentProps:{
dict:"han_hai_member,nick_name,id"
},
colProps: {span: 6},
},
{
label: "二级邀请人",
field: "pidTwo",
component: 'JSearchSelect',
componentProps:{
dict:"han_hai_member,nick_name,id"
},
colProps: {span: 6},
},
]; ];
//表单数据 //表单数据
export const formSchema: FormSchema[] = [ export const formSchema: FormSchema[] = [
@ -62,4 +95,25 @@ export const formSchema: FormSchema[] = [
field: 'startTime', field: 'startTime',
component: 'Input', component: 'Input',
}, },
{
label: '一级邀请人',
field: 'pid',
component: 'JSearchSelect',
componentProps:{
dict:"han_hai_member,nick_name,id"
},
},
{
label: '二级邀请人',
field: 'pidTwo',
component: 'JSearchSelect',
componentProps:{
dict:"han_hai_member,nick_name,id"
},
},
{
label: '使用状态',
field: 'status',
component: 'InputNumber',
},
]; ];

+ 1
- 1
module-common/src/main/java/org/jeecg/modules/commonMoney/controller/CommonMoneyController.java View File

@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog;
/** /**
* @Description: 提现流水 * @Description: 提现流水
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-27
* @Date: 2025-04-10
* @Version: V1.0 * @Version: V1.0
*/ */
@Api(tags="提现流水") @Api(tags="提现流水")


+ 13
- 4
module-common/src/main/java/org/jeecg/modules/commonMoney/entity/CommonMoney.java View File

@ -20,7 +20,7 @@ import lombok.experimental.Accessors;
/** /**
* @Description: 提现流水 * @Description: 提现流水
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-27
* @Date: 2025-04-10
* @Version: V1.0 * @Version: V1.0
*/ */
@Data @Data
@ -48,13 +48,18 @@ public class CommonMoney implements Serializable {
@ApiModelProperty(value = "更新日期") @ApiModelProperty(value = "更新日期")
private java.util.Date updateTime; private java.util.Date updateTime;
/**用户表标识*/ /**用户表标识*/
@Excel(name = "用户表标识", width = 15)
@Excel(name = "用户表标识", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id")
@ApiModelProperty(value = "用户表标识") @ApiModelProperty(value = "用户表标识")
private java.lang.String userId; private java.lang.String userId;
/**提现状态*/ /**提现状态*/
@Excel(name = "提现状态", width = 15)
@ApiModelProperty(value = "提现状态")
@Excel(name = "提现状态", width = 15, dicCode = "money_status")
@Dict(dicCode = "money_status")
@ApiModelProperty(value = "类型")
private java.lang.String status; private java.lang.String status;
@ApiModelProperty(value = "类型")
private java.lang.Integer type;
/**提现金额*/ /**提现金额*/
@Excel(name = "提现金额", width = 15) @Excel(name = "提现金额", width = 15)
@ApiModelProperty(value = "提现金额") @ApiModelProperty(value = "提现金额")
@ -67,4 +72,8 @@ public class CommonMoney implements Serializable {
@Excel(name = "标题", width = 15) @Excel(name = "标题", width = 15)
@ApiModelProperty(value = "标题") @ApiModelProperty(value = "标题")
private java.lang.String title; private java.lang.String title;
/**截图*/
@Excel(name = "截图", width = 15)
@ApiModelProperty(value = "截图")
private java.lang.String image;
} }

+ 1
- 1
module-common/src/main/java/org/jeecg/modules/commonMoney/mapper/CommonMoneyMapper.java View File

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/** /**
* @Description: 提现流水 * @Description: 提现流水
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-27
* @Date: 2025-04-10
* @Version: V1.0 * @Version: V1.0
*/ */
public interface CommonMoneyMapper extends BaseMapper<CommonMoney> { public interface CommonMoneyMapper extends BaseMapper<CommonMoney> {


+ 1
- 1
module-common/src/main/java/org/jeecg/modules/commonMoney/service/ICommonMoneyService.java View File

@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
/** /**
* @Description: 提现流水 * @Description: 提现流水
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-27
* @Date: 2025-04-10
* @Version: V1.0 * @Version: V1.0
*/ */
public interface ICommonMoneyService extends IService<CommonMoney> { public interface ICommonMoneyService extends IService<CommonMoney> {


+ 1
- 1
module-common/src/main/java/org/jeecg/modules/commonMoney/service/impl/CommonMoneyServiceImpl.java View File

@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/** /**
* @Description: 提现流水 * @Description: 提现流水
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2025-03-27
* @Date: 2025-04-10
* @Version: V1.0 * @Version: V1.0
*/ */
@Service @Service


+ 38
- 4
module-common/src/main/java/org/jeecg/modules/commonMoney/vue3/CommonMoney.data.ts View File

@ -5,14 +5,20 @@ import { render } from '/@/utils/common/renderUtils';
//列表数据 //列表数据
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
{ {
title: '创建日期',
align:"center",
sorter: true,
dataIndex: 'createTime'
},
{
title: '用户表标识', title: '用户表标识',
align:"center", align:"center",
dataIndex: 'userId'
dataIndex: 'userId_dictText'
}, },
{ {
title: '提现状态', title: '提现状态',
align:"center", align:"center",
dataIndex: 'status'
dataIndex: 'status_dictText'
}, },
{ {
title: '提现金额', title: '提现金额',
@ -29,21 +35,42 @@ export const columns: BasicColumn[] = [
align:"center", align:"center",
dataIndex: 'title' dataIndex: 'title'
}, },
{
title: '截图',
align:"center",
dataIndex: 'image',
customRender:render.renderAvatar,
},
]; ];
//查询数据 //查询数据
export const searchFormSchema: FormSchema[] = [ export const searchFormSchema: FormSchema[] = [
{
label: "用户表标识",
field: "userId",
component: 'JSearchSelect',
componentProps:{
dict:"han_hai_member,nick_name,id"
},
colProps: {span: 6},
},
]; ];
//表单数据 //表单数据
export const formSchema: FormSchema[] = [ export const formSchema: FormSchema[] = [
{ {
label: '用户表标识', label: '用户表标识',
field: 'userId', field: 'userId',
component: 'Input',
component: 'JSearchSelect',
componentProps:{
dict:"han_hai_member,nick_name,id"
},
}, },
{ {
label: '提现状态', label: '提现状态',
field: 'status', field: 'status',
component: 'Input',
component: 'JDictSelectTag',
componentProps:{
dictCode:"money_status"
},
}, },
{ {
label: '提现金额', label: '提现金额',
@ -60,4 +87,11 @@ export const formSchema: FormSchema[] = [
field: 'title', field: 'title',
component: 'Input', component: 'Input',
}, },
{
label: '截图',
field: 'image',
component: 'JImageUpload',
componentProps:{
},
},
]; ];

Loading…
Cancel
Save