merge_ty #16

Merged
tianyu merged 28 commits from merge_ty into master 2023-06-08 18:04:20 +08:00
14 changed files with 82 additions and 20 deletions

View File

@ -1522,7 +1522,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
} }
if (StringUtils.isNotBlank(request.getUserPhone()) && StringUtils.isNotBlank(request.getConfirmPhone())) { if (StringUtils.isNotBlank(request.getUserPhone()) && StringUtils.isNotBlank(request.getConfirmPhone())) {
Assert.isTrue(StringUtils.equals(request.getUserPhone(), request.getConfirmPhone()), "输入号码不一致!"); Assert.isTrue(StringUtils.equals(request.getUserPhone(), request.getConfirmPhone()), "输入号码不一致!");
Assert.isTrue(Pattern.matches("^[1][3,4,5,7,8][0,1,2,4,5,6,7,8,9][0-9]{8}$", request.getUserPhone()), "手机号前三位不能是190或193!"); Assert.isTrue(Pattern.matches("^[1][3,4,5,7,8][0,1,2,3,4,5,6,7,8,9][0-9]{8}$", request.getUserPhone()), "手机号前三位不能是190或193!");
MemberUserRespDTO userByMobile = userService.getUserByMobile(request.getUserPhone()); MemberUserRespDTO userByMobile = userService.getUserByMobile(request.getUserPhone());
// 初始化一个账号 // 初始化一个账号
if (Objects.isNull(userByMobile)) { if (Objects.isNull(userByMobile)) {

View File

@ -24,6 +24,7 @@ public class PromoterPageReqVO extends PageParam {
@Schema(description = "推广员手机号", example = "15601691300") @Schema(description = "推广员手机号", example = "15601691300")
private String mobile; private String mobile;
private String sourceType;
/** /**
* *

View File

@ -29,7 +29,7 @@ public class AppAuthSmsLoginReqVO {
@Schema(description = "手机号", required = true, example = "15601691300") @Schema(description = "手机号", required = true, example = "15601691300")
@NotEmpty(message = "手机号不能为空") @NotEmpty(message = "手机号不能为空")
@Pattern(regexp = "^[1][3,4,5,7,8][0,1,2,4,5,6,7,8,9][0-9]{8}$",message = "手机号不正确") @Pattern(regexp = "^[1][3,4,5,7,8][0,1,2,3,4,5,6,7,8,9][0-9]{8}$",message = "手机号不正确")
private String mobile; private String mobile;
/** /**
* 广id * 广id

View File

@ -10,7 +10,7 @@
--> -->
<select id="findListPage" resultType="cn.iocoder.yudao.module.member.controller.admin.promoter.vo.PromoterRespVO"> <select id="findListPage" resultType="cn.iocoder.yudao.module.member.controller.admin.promoter.vo.PromoterRespVO">
select a.id,a.user_id,a.dept_id,b.nickname,b.status,b.mobile,c.parent_organization_name as 'orgName' from member_promoter a select a.id,a.user_id,a.dept_id,b.nickname,b.status,b.mobile,c.parent_organization_name as 'orgName',a.source_type from member_promoter a
left join member_user b on a.user_id = b.id left join member_user b on a.user_id = b.id
left join system_dept c on c.id=a.dept_id left join system_dept c on c.id=a.dept_id
<where> <where>
@ -27,7 +27,7 @@
and b.mobile like CONCAT('%',#{data.mobile},'%') and b.mobile like CONCAT('%',#{data.mobile},'%')
</if> </if>
<if test="data.sourceType!=null"> <if test="data.sourceType!=null">
and b.source_type =#{data.sourceType} and a.source_type =#{data.sourceType}
</if> </if>
</where> </where>
</select> </select>

View File

@ -169,8 +169,8 @@ wx: # 参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-sta
private-key-path: classpath:/test/apiclient_key.pem private-key-path: classpath:/test/apiclient_key.pem
key-path: classpath:/test/apiclient_cert.p12 key-path: classpath:/test/apiclient_cert.p12
cert-serial-no: 47F04D51F958FFEF56A6DFC25BDE83CF89353E19 cert-serial-no: 47F04D51F958FFEF56A6DFC25BDE83CF89353E19
notify-url: https://yuxy.perrymake.com/app-api/pay/wxpay/pay_notify notify-url: http://api.nnhwl.top/app-api/pay/wxpay/pay_notify
refund-notify-url: https://yuxy.perrymake.com/app-api/pay/wxpay/refund_notify refund-notify-url: http://api.nnhwl.top/app-api/pay/wxpay/refund_notify
two: two:
enabled: true enabled: true
app-id: wxb1826c88da21d81e app-id: wxb1826c88da21d81e
@ -223,5 +223,5 @@ wx:
database: 16 # 数据库索引 database: 16 # 数据库索引
password: 20221122@dev # 密码,建议生产环境开启 password: 20221122@dev # 密码,建议生产环境开启
phone: phone:
query-url: http://192.168.1.94:4006/cyywl-phone-query-api/ query-url: https://cmx.bskies.cc:8000/cyywl-phone-query-api/
token: eyIwLnR5cCI6IkpXVCIsImFsZyI6IkhTNTEyIn0 token: eyIwLnR5cCI6IkpXVCIsImFsZyI6IkhTNTEyIn0

View File

@ -1,11 +1,14 @@
# 开发环境配置 # 开发环境配置
ENV = 'development' ENV = 'test'
# 页面标题 # 页面标题
VUE_APP_TITLE = 创盈商户管理系统 VUE_APP_TITLE = 创盈商户管理系统
# 创盈管理系统/本地环境 # 创盈管理系统/本地环境
VUE_APP_BASE_API = 'http://api-dashboard.yudao.iocoder.cn' VUE_APP_BASE_API = 'http://api.nnhwl.top'
# 根据服务器或域名修改
PUBLIC_PATH = 'http://admin.nnhwl.top'
# 根据服务器或域名修改 # 根据服务器或域名修改
PUBLIC_PATH = 'http://admin.nnhwl.top' PUBLIC_PATH = 'http://admin.nnhwl.top'

View File

@ -7,10 +7,11 @@
"scripts": { "scripts": {
"local": "vue-cli-service serve --mode local", "local": "vue-cli-service serve --mode local",
"dev": "vue-cli-service serve --mode dev", "dev": "vue-cli-service serve --mode dev",
"front": "vue-cli-service serve --mode front", "test": "vue-cli-service serve --mode test",
"build:prod": "vue-cli-service build --mode prod", "build:prod": "vue-cli-service build --mode prod",
"build:stage": "vue-cli-service build --mode stage", "build:stage": "vue-cli-service build --mode stage",
"build:dev": "vue-cli-service build --mode dev", "build:dev": "vue-cli-service build --mode dev",
"build:test": "vue-cli-service build --mode test",
"build:static": "vue-cli-service build --mode static", "build:static": "vue-cli-service build --mode static",
"preview": "node build/index.js --preview", "preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src", "lint": "eslint --ext .js,.vue src",

View File

@ -3,7 +3,7 @@ module.exports = {
/** /**
* 推广链接域名 * 推广链接域名
*/ */
spreadDomain: 'http://h5.cyywl.top', spreadDomain: process.env.ENV === 'production' ? 'http://h5.cyywl.top' : 'http://h5.nnhwl.top',
/** /**
* 推广码生成访问H5链接地址 * 推广码生成访问H5链接地址

View File

@ -2,7 +2,7 @@
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="110px">
<el-form-item label="所属组织" prop="deptId"> <el-form-item label="所属组织" prop="deptId">
<treeselect style="width: 240px;" v-model="queryParams.deptId" :options="deptOptions" :show-count="true" <treeselect style="width: 240px;" v-model="queryParams.deptId" :options="deptOptions" :show-count="true"
:clearable="false" :clearable="false"
@ -17,6 +17,12 @@
<el-form-item label="推广员名称" prop="nickname"> <el-form-item label="推广员名称" prop="nickname">
<el-input v-model="queryParams.nickname" placeholder="请输入" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.nickname" placeholder="请输入" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="注册来源" prop="sourceType">
<el-select v-model="queryParams.sourceType" placeholder="请选择来源" clearable @keyup.enter.native="handleQuery">
<el-option :value="1" label="后台注册"/>
<el-option :value="2" label="扫码注册"/>
</el-select>
</el-form-item>
<el-form-item label="手机号" prop="mobile"> <el-form-item label="手机号" prop="mobile">
<el-input v-model="queryParams.mobile" placeholder="请输入" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.mobile" placeholder="请输入" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
@ -50,6 +56,11 @@
<el-table-column label="编号" align="center" prop="id"/> <el-table-column label="编号" align="center" prop="id"/>
<el-table-column label="推广员名称" align="center" prop="nickname"/> <el-table-column label="推广员名称" align="center" prop="nickname"/>
<el-table-column label="手机号" align="center" prop="mobile"/> <el-table-column label="手机号" align="center" prop="mobile"/>
<el-table-column label="注册来源" align="center" prop="sourceType">
<template v-slot="scope">
<div>{{scope.row.sourceType == 1?'后台注册':'扫码注册'}}</div>
</template>
</el-table-column>
<el-table-column label="所属组织" align="center" prop="orgName"/> <el-table-column label="所属组织" align="center" prop="orgName"/>
<el-table-column label="启用状态" align="center" prop="status"> <el-table-column label="启用状态" align="center" prop="status">
<template v-slot="scope"> <template v-slot="scope">

View File

@ -9,7 +9,9 @@
fetchMemberChangeSpreadId fetchMemberChangeSpreadId
} from "@/api/api"; } from "@/api/api";
import { import {
HTTP_REQUEST_URL HTTP_REQUEST_URL,
SPREAD_LINK,
WX_APP_ID
} from './config/app'; } from './config/app';
import Auth from './libs/wechat.js'; import Auth from './libs/wechat.js';
import Routine from './libs/routine.js'; import Routine from './libs/routine.js';
@ -174,6 +176,7 @@
} }
}, },
mounted() { mounted() {
console.log('query--print', this.$route.query)
this.initLoad() this.initLoad()
}, },
watch: { watch: {
@ -186,7 +189,7 @@
methods: { methods: {
async initLoad() { async initLoad() {
this.isQRCode() this.isQRCode()
// this.isProperty() this.isProperty()
this.setSpreadId() this.setSpreadId()
if (this.$store.getters.isLogin && !this.$Cache.get('USER_INFO')) { if (this.$store.getters.isLogin && !this.$Cache.get('USER_INFO')) {
await this.$store.dispatch('USERINFO'); await this.$store.dispatch('USERINFO');
@ -211,14 +214,16 @@
if (redirectUrl) { if (redirectUrl) {
const tenantId = this.$route.query.tenantId || '' const tenantId = this.$route.query.tenantId || ''
const spreadId = this.$route.query.spreadId || '' const spreadId = this.$route.query.spreadId || ''
const wechatUrl = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7e503d9cded34c07' const isProperty = this.$route.query.isProperty || ''
const wechatUrl = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + WX_APP_ID
const url = encodeURIComponent(`${redirectUrl}${SPREAD_LINK}?tenantId=${tenantId}&spreadId=${spreadId}&isProperty=${isProperty}`)
location.href = location.href =
`${wechatUrl}&redirect_uri=${redirectUrl}/pages/member_application/index?tenantId=${tenantId}&spreadId=${spreadId}&response_type=code&scope=snsapi_base#wechat_redirect` `${wechatUrl}&redirect_uri=${url}&response_type=code&scope=snsapi_base#wechat_redirect`
} }
}, },
// //
isProperty() { isProperty() {
const is_property = this.$route.query.isProperty || false const is_property = this.$route.query.isProperty || '0'
if(parseInt(is_property) === 1){ if(parseInt(is_property) === 1){
this.$store.commit("SET_IS_PROPERTY", !!is_property) this.$store.commit("SET_IS_PROPERTY", !!is_property)
} }

View File

@ -39,7 +39,9 @@ export function getWeChatOpenId(code) {
// 获取租户信息 // 获取租户信息
export function fetchTenantInfo(id) { export function fetchTenantInfo(id) {
return request.get('tenant/get?id=' + id, {}); return request.get('tenant/get?id=' + id, {}, {
noAuth: true
});
} }
/** /**

View File

@ -29,7 +29,25 @@ module.exports = {
//分页最多显示条数 //分页最多显示条数
LIMIT: 10, LIMIT: 10,
// 推广链接域名 // 推广链接域名
// #ifdef DEV
SPREAD_DOMAIN: 'http://h5.nnhwl.top',
// #endif
// #ifdef TEST
SPREAD_DOMAIN: 'http://h5.nnhwl.top',
// #endif
// #ifdef PROD
SPREAD_DOMAIN: 'http://h5.cyywl.top', SPREAD_DOMAIN: 'http://h5.cyywl.top',
// #endif
// 推广码生成访问H5链接地址 // 推广码生成访问H5链接地址
SPREAD_LINK: '/pages/member_application/index', SPREAD_LINK: '/pages/member_application/index',
// 公众号APPID
// #ifdef DEV
WX_APP_ID: 'wx3b3b17449cc13a8a',
// #endif
// #ifdef TEST
WX_APP_ID: 'wx3b3b17449cc13a8a',
// #endif
// #ifdef PROD
WX_APP_ID: 'wx7e503d9cded34c07',
// #endif
}; };

View File

@ -12,8 +12,12 @@ const whiteListPage=['pages/users/privacy/index']
function prePage(){ function prePage(){
let pages = getCurrentPages(); let pages = getCurrentPages();
let prePage = pages[pages.length - 1]; if(pages.length > 0){
return prePage.route; let prePage = pages[pages.length - 1];
return prePage.route;
} else {
return ''
}
} }
export const toLogin = Debounce(_toLogin,800) export const toLogin = Debounce(_toLogin,800)

View File

@ -22,6 +22,20 @@
"UNI_PLATFORM": "h5", "UNI_PLATFORM": "h5",
"isVConsole": true, "isVConsole": true,
"APP_BASE_URL": "http://192.168.1.188:48080" "APP_BASE_URL": "http://192.168.1.188:48080"
},
"define": {
"DEV": true
}
},
"test": {
"title": "测试版",
"env": {
"UNI_PLATFORM": "h5",
"isVConsole": true,
"APP_BASE_URL": "http://api.nnhwl.top"
},
"define": {
"TEST": true
} }
}, },
"prod": { "prod": {
@ -30,6 +44,9 @@
"UNI_PLATFORM": "h5", "UNI_PLATFORM": "h5",
"isVConsole": false, "isVConsole": false,
"APP_BASE_URL": "http://api.cyywl.top" "APP_BASE_URL": "http://api.cyywl.top"
},
"define": {
"PROD": true
} }
} }
} }