Browse Source

修复代码

master
主管理员 1 month ago
parent
commit
04484599b7
17 changed files with 107 additions and 35 deletions
  1. +6
    -6
      han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java
  2. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/msgTechnician/controller/MsgTechnicianController.java
  3. +6
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/msgTechnician/entity/MsgTechnician.java
  4. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/msgTechnician/mapper/MsgTechnicianMapper.java
  5. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/msgTechnician/service/IMsgTechnicianService.java
  6. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/msgTechnician/service/impl/MsgTechnicianServiceImpl.java
  7. +14
    -4
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/msgTechnician/vue/MsgTechnicianList.vue
  8. +14
    -2
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/msgTechnician/vue/modules/MsgTechnicianForm.vue
  9. +28
    -4
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/msgTechnician/vue3/MsgTechnician.data.ts
  10. +1
    -1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/service/impl/OrderCreateVipServiceImpl.java
  11. +14
    -3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/service/impl/UserVipApiServiceImpl.java
  12. +12
    -2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/utils/WeChatJSSDK.java
  13. +5
    -5
      jeecg-boot-module-system/src/main/resources/application-dev.yml
  14. +2
    -2
      jeecg-boot-module-system/src/main/resources/pay_weixin.properties
  15. BIN
      shop/public/logo.png
  16. BIN
      shop/src/assets/logo.png
  17. +1
    -1
      shop/src/components/layouts/TabLayout.vue

+ 6
- 6
han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java View File

@ -58,12 +58,12 @@ public class MpWxPayService {
request.setDetail(productName); //商品详情
request.setTotalFee(price); //总金额|分计
request.setSpbillCreateIp(clientIp); //终端IP
request.setNotifyUrl("https://admin.yixuandaojia.com/massage-api-three/post/notify");//设置回调路径
request.setNotifyUrl("https://admin.tiandufuwu.com/massage-api-tiandu/post/notify");//设置回调路径
request.setProductId(productId); //商品id
if (dev) {
request.setTotalFee(price);
// request.setNotifyUrl(wxPay.notifyUrlDev);
request.setNotifyUrl("https://admin.yixuandaojia.com/massage-api-three/post/notify");
request.setNotifyUrl("https://admin.tiandufuwu.com/massage-api-tiandu/post/notify");
}
try {
@ -99,13 +99,13 @@ public class MpWxPayService {
request.setTotalFee(price); //总金额|分计
request.setSpbillCreateIp(clientIp); //终端IP
// request.setNotifyUrl(wxPay.notifyUrl);//设置回调路径
request.setNotifyUrl("https://admin.yixuandaojia.com/massage-api-three/post/notify");//设置回调路径
request.setNotifyUrl("https://admin.tiandufuwu.com/massage-api-tiandu/post/notify");//设置回调路径
request.setProductId(productId); //商品id
request.setOpenid(openId); //JSAPI OPENID
if (dev){
request.setTotalFee(price);
// request.setNotifyUrl(wxPay.notifyUrlDev);
request.setNotifyUrl("https://admin.yixuandaojia.com/massage-api-three/post/notify");//设置回调路径
request.setNotifyUrl("https://admin.tiandufuwu.com/massage-api-tiandu/post/notify");//设置回调路径
}
try {
Object order = wxPayService.createOrder(request);
@ -147,13 +147,13 @@ public class MpWxPayService {
request.setTotalFee(price); //总金额|分计
request.setSpbillCreateIp(clientIp); //终端IP
// request.setNotifyUrl(wxPay.notifyUrl);//设置回调路径
request.setNotifyUrl("https://admin.yixuandaojia.com/massage-api-three/order/notify");//设置回调路径
request.setNotifyUrl("https://admin.tiandufuwu.com/massage-api-tiandu/order/notify");//设置回调路径
request.setProductId(productId); //商品id
request.setOpenid(openId); //JSAPI OPENID
if (dev){
request.setTotalFee(price);
// request.setNotifyUrl(wxPay.notifyUrlDev);
request.setNotifyUrl("https://admin.yixuandaojia.com/massage-api-three/order/notify");//设置回调路径
request.setNotifyUrl("https://admin.tiandufuwu.com/massage-api-tiandu/order/notify");//设置回调路径
}
try {
Object order = wxPayService.createOrder(request);


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

@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: 技师表
* @Author: jeecg-boot
* @Date: 2024-11-18
* @Date: 2025-01-19
* @Version: V1.0
*/
@Api(tags="技师表")


+ 6
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/msgTechnician/entity/MsgTechnician.java View File

@ -20,7 +20,7 @@ import lombok.experimental.Accessors;
/**
* @Description: 技师表
* @Author: jeecg-boot
* @Date: 2024-11-18
* @Date: 2025-01-19
* @Version: V1.0
*/
@Data
@ -50,6 +50,11 @@ public class MsgTechnician implements Serializable {
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**关联城市*/
@Excel(name = "关联城市", width = 15, dictTable = "msg_city", dicText = "name", dicCode = "id")
@Dict(dictTable = "msg_city", dicText = "name", dicCode = "id")
@ApiModelProperty(value = "关联城市")
private java.lang.String msgCityId;
/**头像*/
@Excel(name = "头像", width = 15)
@ApiModelProperty(value = "头像")


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

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 技师表
* @Author: jeecg-boot
* @Date: 2024-11-18
* @Date: 2025-01-19
* @Version: V1.0
*/
public interface MsgTechnicianMapper extends BaseMapper<MsgTechnician> {


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

@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 技师表
* @Author: jeecg-boot
* @Date: 2024-11-18
* @Date: 2025-01-19
* @Version: V1.0
*/
public interface IMsgTechnicianService extends IService<MsgTechnician> {


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

@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 技师表
* @Author: jeecg-boot
* @Date: 2024-11-18
* @Date: 2025-01-19
* @Version: V1.0
*/
@Service


+ 14
- 4
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/msgTechnician/vue/MsgTechnicianList.vue View File

@ -142,6 +142,11 @@
return parseInt(index)+1;
}
},
{
title:'关联城市',
align:"center",
dataIndex: 'msgCityId_dictText'
},
{
title:'头像',
align:"center",
@ -274,7 +279,8 @@
{
title:'是否可预约',
align:"center",
dataIndex: 'bookable'
dataIndex: 'bookable',
customRender: (text) => (text ? filterMultiDictText(this.dictOptions['bookable'], text) : ''),
},
{
title:'免费出行',
@ -295,7 +301,8 @@
{
title:'距离显示开启',
align:"center",
dataIndex: 'setKmOpen'
dataIndex: 'setKmOpen',
customRender: (text) => (text ? filterMultiDictText(this.dictOptions['setKmOpen'], text) : ''),
},
{
title:'健康证',
@ -332,7 +339,9 @@
},
created() {
this.$set(this.dictOptions, 'realOk', [{text:'是',value:'Y'},{text:'否',value:'N'}])
this.$set(this.dictOptions, 'bookable', [{text:'是',value:'Y'},{text:'否',value:'N'}])
this.$set(this.dictOptions, 'isCx', [{text:'是',value:'Y'},{text:'否',value:'N'}])
this.$set(this.dictOptions, 'setKmOpen', [{text:'是',value:'Y'},{text:'否',value:'N'}])
this.getSuperFieldList();
},
computed: {
@ -345,6 +354,7 @@
},
getSuperFieldList(){
let fieldList=[];
fieldList.push({type:'string',value:'msgCityId',text:'关联城市'})
fieldList.push({type:'Text',value:'image',text:'头像',dictCode:''})
fieldList.push({type:'string',value:'title',text:'昵称',dictCode:''})
fieldList.push({type:'string',value:'icon',text:'标签',dictCode:''})
@ -370,11 +380,11 @@
fieldList.push({type:'string',value:'longitude',text:'经度',dictCode:''})
fieldList.push({type:'int',value:'isKm',text:'多少公里内免费',dictCode:''})
fieldList.push({type:'string',value:'latitude',text:'纬度',dictCode:''})
fieldList.push({type:'string',value:'bookable',text:'是否可预约',dictCode:''})
fieldList.push({type:'switch',value:'bookable',text:'是否可预约'})
fieldList.push({type:'switch',value:'isCx',text:'免费出行'})
fieldList.push({type:'int',value:'setKm',text:'显示距离',dictCode:''})
fieldList.push({type:'int',value:'isTest',text:'运营号',dictCode:''})
fieldList.push({type:'string',value:'setKmOpen',text:'距离显示开启',dictCode:''})
fieldList.push({type:'switch',value:'setKmOpen',text:'距离显示开启'})
fieldList.push({type:'string',value:'healthCertificate',text:'健康证',dictCode:''})
fieldList.push({type:'string',value:'businessLicense',text:'营业证',dictCode:''})
this.superFieldList = fieldList


+ 14
- 2
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/msgTechnician/vue/modules/MsgTechnicianForm.vue View File

@ -3,6 +3,18 @@
<j-form-container :disabled="formDisabled">
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
<a-row>
<a-col :span="24">
<a-form-model-item label="关联城市" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="msgCityId">
<j-tree-select
ref="treeSelect"
placeholder="请选择关联城市"
v-model="model.msgCityId"
dict="msg_city,name,id"
pidValue="0"
>
</j-tree-select>
</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>
@ -130,7 +142,7 @@
</a-col>
<a-col :span="24">
<a-form-model-item label="是否可预约" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="bookable">
<a-input v-model="model.bookable" placeholder="请输入是否可预约" ></a-input>
<j-switch v-model="model.bookable" ></j-switch>
</a-form-model-item>
</a-col>
<a-col :span="24">
@ -150,7 +162,7 @@
</a-col>
<a-col :span="24">
<a-form-model-item label="距离显示开启" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="setKmOpen">
<a-input v-model="model.setKmOpen" placeholder="请输入距离显示开启" ></a-input>
<j-switch v-model="model.setKmOpen" ></j-switch>
</a-form-model-item>
</a-col>
<a-col :span="24">


+ 28
- 4
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/msgTechnician/vue3/MsgTechnician.data.ts View File

@ -5,6 +5,11 @@ import { render } from '/@/utils/common/renderUtils';
//列表数据
export const columns: BasicColumn[] = [
{
title: '关联城市',
align:"center",
dataIndex: 'msgCityId_dictText'
},
{
title: '头像',
align:"center",
dataIndex: 'image',
@ -138,7 +143,10 @@ export const columns: BasicColumn[] = [
{
title: '是否可预约',
align:"center",
dataIndex: 'bookable'
dataIndex: 'bookable',
customRender:({text}) => {
return render.renderSwitch(text, [{text:'是',value:'Y'},{text:'否',value:'N'}])
},
},
{
title: '免费出行',
@ -161,7 +169,10 @@ export const columns: BasicColumn[] = [
{
title: '距离显示开启',
align:"center",
dataIndex: 'setKmOpen'
dataIndex: 'setKmOpen',
customRender:({text}) => {
return render.renderSwitch(text, [{text:'是',value:'Y'},{text:'否',value:'N'}])
},
},
{
title: '健康证',
@ -196,6 +207,15 @@ export const searchFormSchema: FormSchema[] = [
];
//表单数据
export const formSchema: FormSchema[] = [
{
label: '关联城市',
field: 'msgCityId',
component: 'JTreeSelect',
componentProps:{
dict:"msg_city,name,id",
pidValue:"0",
},
},
{
label: '头像',
field: 'image',
@ -335,7 +355,9 @@ export const formSchema: FormSchema[] = [
{
label: '是否可预约',
field: 'bookable',
component: 'Input',
component: 'JSwitch',
componentProps:{
},
},
{
label: '免费出行',
@ -357,7 +379,9 @@ export const formSchema: FormSchema[] = [
{
label: '距离显示开启',
field: 'setKmOpen',
component: 'Input',
component: 'JSwitch',
componentProps:{
},
},
{
label: '健康证',


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

@ -441,7 +441,7 @@ public class OrderCreateVipServiceImpl implements OrderCreateVipService {
msgOrder.setPayTime(new Date());
msgOrderService.updateById(msgOrder);
//短信发送给技师
// //短信发送给技师
// smsClient.sendSms(msgTechnician.getPhone(),"您有一笔订单需要处理,订单号:"+msgOrder.getId());
//增加流水


+ 14
- 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/service/impl/UserVipApiServiceImpl.java View File

@ -29,6 +29,7 @@ import org.jeecg.modules.msgCity.entity.MsgCity;
import org.jeecg.modules.msgCity.service.IMsgCityService;
import org.jeecg.modules.msgCollect.entity.MsgCollect;
import org.jeecg.modules.msgCollect.service.IMsgCollectService;
import org.jeecg.modules.msgConfig.entity.MsgConfig;
import org.jeecg.modules.msgConfig.service.IMsgConfigService;
import org.jeecg.modules.msgCoupon.entity.MsgCoupon;
import org.jeecg.modules.msgCoupon.service.IMsgCouponService;
@ -137,6 +138,8 @@ public class UserVipApiServiceImpl implements UserVipApiService {
private IMsgDistributorService msgDistributorService;
//微信公众号授权登录
@Override
public Result<?> wxOfficialLogin(OfficialLoginBean bean){
@ -202,17 +205,22 @@ public class UserVipApiServiceImpl implements UserVipApiService {
@Override
public Result<?> getTechnicianList(TechnicianPageBean pageBean) {
Page<MsgTechnician> page = new Page<MsgTechnician>(pageBean.getPageNo(), pageBean.getPageSize());
IPage<MsgTechnician> pageList = msgTechnicianService.page(page);
IPage<MsgTechnician> pageList = msgTechnicianService
.lambdaQuery()
.isNotNull(MsgTechnician::getUserId)
.page(page);
if(!StringUtils.isBlank(pageBean.getTitle())){
pageList = msgTechnicianService
.lambdaQuery()
.like(MsgTechnician::getTitle, pageBean.getTitle())
.isNotNull(MsgTechnician::getUserId)
.page(page);
}
if(!StringUtils.isBlank(pageBean.getCounty())){
pageList = msgTechnicianService
.lambdaQuery()
.eq(MsgTechnician::getCounty, pageBean.getCounty())
.eq(MsgTechnician::getMsgCityId, pageBean.getCounty())
.isNotNull(MsgTechnician::getUserId)
.page(page);
}
@ -629,10 +637,13 @@ public class UserVipApiServiceImpl implements UserVipApiService {
//发送短信提现技师
public void sendSms(MsgTechnician msgTechnician){
//查询配置列表中的配置的电话
MsgConfig msgConfig = configService.lambdaQuery().eq(MsgConfig::getName, "phone").one();
//查询当前技师是否是测试技师
if(msgTechnician.getIsTest().equals("1")){
//发送短信给运营号
SmsClient.sendMsg2("18206530273",msgTechnician.getTitle());
SmsClient.sendMsg2(msgConfig.getContent(),msgTechnician.getTitle());
}else{
//根据技师中的用户标识查询用户信息
HanHaiMember hanHaiMember = memberService.lambdaQuery().eq(HanHaiMember::getId, msgTechnician.getUserId()).one();


+ 12
- 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/utils/WeChatJSSDK.java View File

@ -20,8 +20,18 @@ import javax.servlet.http.HttpSession;
public class WeChatJSSDK {
private static final String APP_ID = "wxe36bd1a3deea74a3";
private static final String APP_SECRET = "26b451a9eea4b328f48dc864814895d8";
/**
* 微信公众号-appid - 天都服务
*/
private static final String APP_ID = "wx2cc6f138b02196e3";
/**
* 微信公众号-appSecret- 天都服务
*/
private static final String APP_SECRET = "a5320a3c5ed0f90dfb9e0ead79d32945";
private static String accessToken = null; // 用于缓存access_token
private static String jsapiTicket = null; // 用于缓存jsapi_ticket


+ 5
- 5
jeecg-boot-module-system/src/main/resources/application-dev.yml View File

@ -192,11 +192,11 @@ jeecg :
excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**
#阿里云oss存储和大鱼短信秘钥配置
oss:
accessKey: LTAI5tDL3dP95KCoepUtqRZX
secretKey: WHUemsg4V9xyZUWRU9WvqwJjTcwe2u
endpoint: oss-cn-hangzhou.aliyuncs.com
bucketName: daohomeimage
staticDomain: https://image.yixuandaojia.com
accessKey: LTAI5tB1Zbg4jR7iRMeyCz8g
secretKey: 9KKdXCj0WikfHk9Du2jTlNHScSWTOD
endpoint: oss-cn-guangzhou.aliyuncs.com
bucketName: tiandufuwu
staticDomain: https://image.tiandufuwu.com
# ElasticSearch 6设置
elasticsearch:
cluster-name: jeecg-ES


+ 2
- 2
jeecg-boot-module-system/src/main/resources/pay_weixin.properties View File

@ -2,7 +2,7 @@ pay.mchId=1704050725
pay.appId=wx2cc6f138b02196e3
pay.mchKey=0fdb77429ffdf206c151af76a663041c
pay.keyPath=classpath:apiclient_cert.pem
pay.notifyUrl=http://h5.xzaiyp.top/massage-api-tiandu/post/create
pay.notifyUrlDev=http://h5.xzaiyp.top/massage-api-tiandu/post/notify
pay.notifyUrl=https://admin.tiandufuwu.com/massage-api-tiandu/post/create
pay.notifyUrlDev=https://admin.tiandufuwu.com/massage-api-tiandu/post/notify

BIN
shop/public/logo.png View File

Before After
Width: 1000  |  Height: 1000  |  Size: 32 KiB Width: 640  |  Height: 640  |  Size: 58 KiB

BIN
shop/src/assets/logo.png View File

Before After
Width: 1000  |  Height: 1000  |  Size: 32 KiB Width: 640  |  Height: 640  |  Size: 58 KiB

+ 1
- 1
shop/src/components/layouts/TabLayout.vue View File

@ -177,7 +177,7 @@
// update-begin-author:sunjianlei date:20200120 for:
changeTitle(title) {
let projectTitle = "预约下单后台管理系统"
let projectTitle = "天都服务后台管理系统"
//
if (this.$route.path === indexKey) {
document.title = projectTitle


Loading…
Cancel
Save