getDeptList(DeptListReqVO reqVO);
+ /**
+ *
+ * findParentDept
+ * Description:查询根节点
+ * @author: zenghuapei
+ * @date: 2023/5/23 09:40
+ * @param tenantId:
+ * @return
+ *
+ */
+ DeptDO findParentDept(Long tenantId);
+
/**
* 获得所有子部门,从缓存中
*
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.java
index 89f98f8b9..0fb718f13 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.java
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
+import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptCreateReqVO;
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptUpdateReqVO;
@@ -13,6 +14,7 @@ import cn.iocoder.yudao.module.system.dal.mysql.dept.DeptMapper;
import cn.iocoder.yudao.module.system.enums.dept.DeptIdEnum;
import cn.iocoder.yudao.module.system.mq.producer.dept.DeptProducer;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Multimap;
@@ -152,6 +154,26 @@ public class DeptServiceImpl implements DeptService {
return deptMapper.selectList(reqVO);
}
+
+ /**
+ *
+ * findParentDept
+ * Description:查询根节点
+ * @author: zenghuapei
+ * @date: 2023/5/23 09:40
+ * @param tenantId :
+ * @return
+ *
+ */
+ @Override
+ public DeptDO findParentDept(Long tenantId) {
+ List deptDOs = deptMapper.selectList(Wrappers.lambdaQuery(DeptDO.class).eq(DeptDO::getParentId,DeptIdEnum.ROOT.getId()).eq(DeptDO::getTenantId,tenantId));
+ if(deptDOs!=null && deptDOs.size() > 0){
+ return deptDOs.get(0);
+ }
+ return null;
+ }
+
@Override
public List getDeptListByParentIdFromCache(Long parentId, boolean recursive) {
if (parentId == null) {
diff --git a/yudao-server/src/main/resources/application-dev.yaml b/yudao-server/src/main/resources/application-dev.yaml
index e4cafd6a9..c1d2b6ac9 100644
--- a/yudao-server/src/main/resources/application-dev.yaml
+++ b/yudao-server/src/main/resources/application-dev.yaml
@@ -45,7 +45,7 @@ spring:
datasource:
master:
name: cyywl
- url: jdbc:mysql://117.33.142.185:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true
+ url: jdbc:mysql://47.109.92.244:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true
driver-class-name: com.mysql.jdbc.Driver
username: root
password: axzsd110
@@ -58,10 +58,10 @@ spring:
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
redis:
- host: 117.33.142.185 # 地址
+ host: 47.109.92.244 # 地址
port: 6369 # 端口
database: 6 # 数据库索引
- password: 20221122@dev # 密码,建议生产环境开启
+ password: cyywl123.. # 密码,建议生产环境开启
--- #################### 定时任务相关配置 ####################
@@ -216,7 +216,7 @@ wx:
useRedis: false
defaultContent: \u60A8\u597D\uFF0C\u6709\u4EC0\u4E48\u95EE\u9898\uFF1F
redisConfig:
- host: 117.33.142.185 # 地址
- port: 6369 # 端口
+ host: 47.109.92.244 # 地址
+ port: 6399 # 端口
database: 16 # 数据库索引
- password: 20221122@dev # 密码,建议生产环境开启
+ password: cyywl123.. # 密码,建议生产环境开启
diff --git a/yudao-server/src/main/resources/application-prod.yaml b/yudao-server/src/main/resources/application-prod.yaml
index 1a093b012..6d7f99628 100644
--- a/yudao-server/src/main/resources/application-prod.yaml
+++ b/yudao-server/src/main/resources/application-prod.yaml
@@ -47,10 +47,10 @@ spring:
datasource:
master:
name: cyywl
- url: jdbc:mysql://117.33.142.185:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true
+ url: jdbc:mysql://47.109.92.244:3386/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true
driver-class-name: com.mysql.jdbc.Driver
username: root
- password: axzsd110
+ password: cyywl123
# slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改
# name: ruoyi-vue-pro
# url: jdbc:mysql://400-infra.server.iocoder.cn:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
@@ -60,10 +60,10 @@ spring:
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
redis:
- host: 117.33.142.185 # 地址
- port: 6369 # 端口
+ host: 47.109.92.244 # 地址
+ port: 6399 # 端口
database: 6 # 数据库索引
- password: 20221122@dev # 密码,建议生产环境开启
+ password: cyywl123.. # 密码,建议生产环境开启
--- #################### 定时任务相关配置 ####################
@@ -143,9 +143,16 @@ logging:
--- #################### 微信公众号相关配置 ####################
wx: # 参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-mp-spring-boot-starter/README.md 文档
mp:
+ useRedis: false
+ defaultContent: \u60A8\u597D\uFF0C\u6709\u4EC0\u4E48\u95EE\u9898\uFF1F
+ redisConfig:
+ host: 47.109.92.244 # 地址
+ port: 6399 # 端口
+ database: 16 # 数据库索引
+ password: cyywl123.. # 密码,建议生产环境开启
# 公众号配置(必填)
- app-id: wx041349c6f39b268b
- secret: 5abee519483bc9f8cb37ce280e814bd0
+ app-id: wx7e503d9cded34c07
+ secret: 31883ca14e2cbac8610d30f8f945ee47
# 存储配置,解决 AccessToken 的跨节点的共享
config-storage:
type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取
@@ -161,14 +168,14 @@ wx: # 参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-sta
pay:
one:
enabled: true
- app-id: wxb1826c88da21d81e
- mch-id: 1641993417
+ app-id: wx7e503d9cded34c07
+ mch-id: 1641073271
mch-key: qdn2I7Cmx4JeiKOt2CDjiu6UHgLTsOsM
- apiv3-key: cyywl666666cyywl888888cyywl66666
+ apiv3-key: cyywl123456cyywl654321cyywl12345
private-cert-path: classpath:/1/apiclient_cert.pem
private-key-path: classpath:/1/apiclient_key.pem
key-path: classpath:/1/apiclient_cert.p12
- cert-serial-no: 58FDB503F92B6C0E258C9940BB726C2BF6022E56
+ cert-serial-no: 7F76A4ADC52CA0B440C4E5698F8A5CD1633A0FCD
notify-url: http://api.cyywl.top/app-api/pay/wxpay/pay_notify
refund-notify-url: http://api.cyywl.top/app-api/pay/wxpay/refund_notify
two:
diff --git a/yudao-server/src/main/resources/application.yaml b/yudao-server/src/main/resources/application.yaml
index cbed8c6d9..ab8cfe1ef 100644
--- a/yudao-server/src/main/resources/application.yaml
+++ b/yudao-server/src/main/resources/application.yaml
@@ -196,6 +196,7 @@ yudao:
- rep_demo_jianpiao
- tmp_report_data_1
- tmp_report_data_income
+ - eb_category
- eb_shipping_templates
- eb_shipping_templates_free
- eb_shipping_templates_no_delivery
@@ -221,7 +222,7 @@ yudao:
- eb_store_order_status
sms-code: # 短信验证码相关的配置项
expire-times: 5m
- send-frequency: 10m
+ send-frequency: 10s
send-maximum-quantity-per-day: 10
begin-code: 100000 # 这里配置 9999 的原因是,测试方便。
end-code: 999999 # 这里配置 9999 的原因是,测试方便。
diff --git a/yudao-ui-admin/.env.dev b/yudao-ui-admin/.env.dev
index dc7c069b3..cd578096a 100644
--- a/yudao-ui-admin/.env.dev
+++ b/yudao-ui-admin/.env.dev
@@ -5,8 +5,8 @@ ENV = 'development'
VUE_APP_TITLE = 创盈商户管理系统
# 芋道管理系统/开发环境
-#VUE_APP_BASE_API = 'https://cmx.bskies.cc:8000/cyywl-api'
-VUE_APP_BASE_API = 'http://192.168.1.147:48080'
+VUE_APP_BASE_API = 'https://cmx.bskies.cc:8000/cyywl-api'
+#VUE_APP_BASE_API = 'http://192.168.1.147:48080'
# 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true
diff --git a/yudao-ui-admin/.env.prod b/yudao-ui-admin/.env.prod
index 2d2f3e175..d8df84b8f 100644
--- a/yudao-ui-admin/.env.prod
+++ b/yudao-ui-admin/.env.prod
@@ -5,13 +5,13 @@ ENV = 'production'
VUE_APP_TITLE = 创盈商户管理系统
# 创盈管理系统/生产环境
-VUE_APP_BASE_API = 'https://cmx.bskies.cc:8000/cyywl-api'
+VUE_APP_BASE_API = 'http://api.cyywl.top'
#VUE_APP_BASE_API = 'http://192.168.2.71'
# 根据服务器或域名修改
-PUBLIC_PATH = 'https://cmx.bskies.cc:8000/cy-admin/'
+PUBLIC_PATH = 'http://admin.cyywl.top'
# 二级部署路径
-VUE_APP_APP_NAME ='/cy-admin/'
+VUE_APP_APP_NAME =''
# 多租户的开关
VUE_APP_TENANT_ENABLE = true
diff --git a/yudao-ui-admin/src/settings.js b/yudao-ui-admin/src/settings.js
index 045f5eb3f..c3be16571 100644
--- a/yudao-ui-admin/src/settings.js
+++ b/yudao-ui-admin/src/settings.js
@@ -1,5 +1,15 @@
module.exports = {
+ /**
+ * 推广链接域名
+ */
+ spreadDomain: 'http://h5.cyywl.top',
+
+ /**
+ * 推广码生成访问H5链接地址
+ */
+ spreadLink: '/pages/member_application/index',
+
/**
* 侧边栏主题 深色主题theme-dark,浅色主题theme-light
*/
diff --git a/yudao-ui-admin/src/views/system/tenant/index.vue b/yudao-ui-admin/src/views/system/tenant/index.vue
index 9acf6e86e..d026fa14b 100755
--- a/yudao-ui-admin/src/views/system/tenant/index.vue
+++ b/yudao-ui-admin/src/views/system/tenant/index.vue
@@ -204,6 +204,7 @@ import {
getTenantPage,
exportTenantExcel
} from '@/api/system/tenant';
+import config from '@/settings'
import QRCode from 'qrcode'
import {CommonStatusEnum} from '@/utils/constants'
import {getTenantPackageList} from '@/api/system/tenantPackage';
@@ -345,8 +346,7 @@ export default {
this.resetForm('form');
},
handleQRCode(row) {
- const baseUrl = 'http://yuxy.perrymake.com'
- const url =`${baseUrl}/pages/member_application/index?redirectUrl=${baseUrl}&tenantId=${row.id}`
+ const url =`${config.spreadDomain}${config.spreadLink}?redirectUrl=${config.spreadDomain}&tenantId=${row.id}`
QRCode.toCanvas(document.getElementById(`id-${row.id}`), url, {
scale: 2
}, function (error) {
diff --git a/yudao-ui-app/components/countDown/index.vue b/yudao-ui-app/components/countDown/index.vue
index 291c6e6e5..b0e6e12c2 100644
--- a/yudao-ui-app/components/countDown/index.vue
+++ b/yudao-ui-app/components/countDown/index.vue
@@ -1,14 +1,14 @@
- {{ tipText }}
- {{ day }}{{bgColor.isDay?'天':''}}
- {{ dayText }}
- {{ hour }}
- {{ hourText }}
- {{ minute }}
- {{ minuteText }}
- {{ second }}
- {{ secondText }}
+ {{ tipText }}
+ {{ day }}
+ {{ dayText }}
+ {{ hour }}
+ {{ hourText }}
+ {{ minute }}
+ {{ minuteText }}
+ {{ second }}
+ {{ secondText }}
@@ -49,13 +49,13 @@
type: Boolean,
default: true
},
- isCol: {
- type: Boolean,
- default: false
+ bgColor:{
+ type: String,
+ default: ""
},
- bgColor: {
- type: Object,
- default: null
+ colors:{
+ type: String,
+ default: ""
}
},
data: function() {
@@ -116,47 +116,13 @@
};
-
diff --git a/yudao-ui-app/components/numberScroll.vue b/yudao-ui-app/components/numberScroll.vue
new file mode 100644
index 000000000..2ace75d54
--- /dev/null
+++ b/yudao-ui-app/components/numberScroll.vue
@@ -0,0 +1,160 @@
+
+
+
+
+
+ 0
+
+
+ 1
+
+
+ 2
+
+
+ 3
+
+
+ 4
+
+
+ 5
+
+
+ 6
+
+
+ 7
+
+
+ 8
+
+
+ 9
+
+
+ .
+
+
+
+
+
+
+
+
+
diff --git a/yudao-ui-app/components/paymentMember/index.vue b/yudao-ui-app/components/paymentMember/index.vue
index f44fa2875..fe28f204d 100644
--- a/yudao-ui-app/components/paymentMember/index.vue
+++ b/yudao-ui-app/components/paymentMember/index.vue
@@ -22,7 +22,8 @@
-
+
+
@@ -65,35 +66,35 @@
data() {
return {
alipayShow: false,
- alipayForm:`链接已复制,请到外部浏览器完成支付`
+ alipayForm: `链接已复制,请到外部浏览器完成支付`
};
},
computed: mapGetters(['systemPlatform', 'openId']),
methods: {
- handleConfirm(){
+ handleConfirm() {
this.alipayShow = false
window.location.reload()
},
// 复制操作
- _copy(context) {
- // 创建输入框元素
- let oInput = document.createElement('input');
- // 将想要复制的值
- oInput.value = context;
- // 页面底部追加输入框
- document.body.appendChild(oInput);
- // 选中输入框
- oInput.select();
- // 执行浏览器复制命令
- document.execCommand('Copy');
- // 弹出复制成功信息
- this.$util.Tips({
- title: '复制链接成功'
- })
- this.alipayShow = true
- // 复制后移除输入框
- oInput.remove();
- },
+ _copy(context) {
+ // 创建输入框元素
+ let oInput = document.createElement('input');
+ // 将想要复制的值
+ oInput.value = context;
+ // 页面底部追加输入框
+ document.body.appendChild(oInput);
+ // 选中输入框
+ oInput.select();
+ // 执行浏览器复制命令
+ document.execCommand('Copy');
+ // 弹出复制成功信息
+ this.$util.Tips({
+ title: '复制链接成功'
+ })
+ this.alipayShow = true
+ // 复制后移除输入框
+ oInput.remove();
+ },
close: function() {
this.$emit('onChangeFun', {
action: 'payClose'
@@ -139,7 +140,7 @@
title: '支付中',
mask: true
});
- if(paytype === 'WXPAY' && !that.openId) {
+ if (paytype === 'WXPAY' && !that.openId) {
return that.$util.Tips({
title: '请在微信客户端进行支付操作'
});
diff --git a/yudao-ui-app/config/app.js b/yudao-ui-app/config/app.js
index d42b88408..4c65e8dab 100644
--- a/yudao-ui-app/config/app.js
+++ b/yudao-ui-app/config/app.js
@@ -1,12 +1,12 @@
-let domain = 'http://yuxy.perrymake.com'
+let domain = 'http://api.cyywl.top'
module.exports = {
// 请求域名 格式: https://您的域名
// #ifdef MP
HTTP_REQUEST_URL: domain,
// #endif
- HTTP_ADMIN_URL:'http://yuxy.perrymake.com', //PC后台的API请求地址,上传图片用
+ HTTP_ADMIN_URL:'http://api.cyywl.top', //PC后台的API请求地址,上传图片用
// #ifdef H5
//H5接口是浏览器地址
// HTTP_REQUEST_URL: window.location.protocol+"//"+window.location.host,
@@ -25,5 +25,9 @@ module.exports = {
// 缓存时间 0 永久
EXPIRE:0,
//分页最多显示条数
- LIMIT: 10
+ LIMIT: 10,
+ // 推广链接域名
+ SPREAD_DOMAIN: 'http://h5.cyywl.top',
+ // 推广码生成访问H5链接地址
+ SPREAD_LINK: '/pages/member_application/index',
};
diff --git a/yudao-ui-app/pages.json b/yudao-ui-app/pages.json
index 73cc78bfb..f85e987c1 100644
--- a/yudao-ui-app/pages.json
+++ b/yudao-ui-app/pages.json
@@ -46,6 +46,12 @@
"navigationBarTitleText": "购物车"
}
},
+ {
+ "path": "pages/goods_cashier/index",
+ "style": {
+ "navigationBarTitleText": "收银台"
+ }
+ },
{
"path": "pages/user/index",
"style": {
diff --git a/yudao-ui-app/pages/goods_cashier/index.vue b/yudao-ui-app/pages/goods_cashier/index.vue
new file mode 100644
index 000000000..cc6cc9ab1
--- /dev/null
+++ b/yudao-ui-app/pages/goods_cashier/index.vue
@@ -0,0 +1,752 @@
+
+
+
+
+ ¥
+
+
+
+ 支付剩余时间:
+
+
+
+
+
+ 请选择支付方式
+
+
+
+
+
+ {{item.name}}
+
+ {{item.title}} ¥{{ item.number }}
+
+ {{item.title}}
+
+
+
+
+
+
+ 确认支付
+ 暂不支付
+
+
+
+
+
+
+
+
+
diff --git a/yudao-ui-app/pages/users/login/index.vue b/yudao-ui-app/pages/users/login/index.vue
index 36d01c63b..90f8adb92 100644
--- a/yudao-ui-app/pages/users/login/index.vue
+++ b/yudao-ui-app/pages/users/login/index.vue
@@ -379,7 +379,7 @@
background-size:100% 672rpx;
.logo-wrap {
- margin: 285rpx 0 85rpx 0;
+ margin: 185rpx 0 85rpx 0;
display:flex;
align-items:center;
img{
@@ -478,7 +478,7 @@
justify-content: center;
width: 100%;
height: 87rpx;
- margin-top: 237rpx;
+ margin-top: 137rpx;
color: #FFFFFF;
font-size: 32rpx;
background: linear-gradient(0deg, #E63163 0%, #FF819F 100%);
@@ -486,7 +486,7 @@
}
.tips {
- margin: 125rpx 20rpx 0 20rpx;
+ margin: 60rpx 20rpx 0 20rpx;
font-size: 24rpx;
color: #000;
display: flex;
diff --git a/yudao-ui-app/pages/users/register/index.vue b/yudao-ui-app/pages/users/register/index.vue
index 30b4ba1ce..675d9e2d9 100644
--- a/yudao-ui-app/pages/users/register/index.vue
+++ b/yudao-ui-app/pages/users/register/index.vue
@@ -206,7 +206,7 @@
background-size:100% 672rpx;
.logo-wrap {
- margin: 285rpx 0 85rpx 0;
+ margin: 185rpx 0 85rpx 0;
display:flex;
align-items:center;
img{
diff --git a/yudao-ui-app/pages/users/retrievePassword/index.vue b/yudao-ui-app/pages/users/retrievePassword/index.vue
index 06812bd90..7b9fa568d 100644
--- a/yudao-ui-app/pages/users/retrievePassword/index.vue
+++ b/yudao-ui-app/pages/users/retrievePassword/index.vue
@@ -154,7 +154,7 @@
background-size: 100% 672rpx;
.logo-wrap {
- margin: 285rpx 0 85rpx 0;
+ margin: 185rpx 0 85rpx 0;
display:flex;
align-items:center;
img{
diff --git a/yudao-ui-app/pages/users/user_spread_code/index.vue b/yudao-ui-app/pages/users/user_spread_code/index.vue
index 81605e4f1..50064ea71 100644
--- a/yudao-ui-app/pages/users/user_spread_code/index.vue
+++ b/yudao-ui-app/pages/users/user_spread_code/index.vue
@@ -58,6 +58,7 @@
import {
imageBase64
} from "@/api/public";
+ import appConfig from '@/config/app.js'
export default {
components: {
// #ifdef MP
@@ -203,9 +204,7 @@
let that = this;
let href = '';
// href = window.location.href.split('/pages')[0];
- console.log('uid', that.uid)
- const baseUrl = 'http://yuxy.perrymake.com';
- const url =`${baseUrl}/pages/member_application/index?redirectUrl=${baseUrl}&tenantId=${that.tenantId}&spreadId=${that.uid}`
+ const url =`${appConfig.SPREAD_DOMAIN}${appConfig.SPREAD_LINK}?redirectUrl=${appConfig.SPREAD_DOMAIN}&tenantId=${that.tenantId}&spreadId=${that.uid}`
console.log('url', url)
uQRCode.make({
canvasId: 'qrcode',