Browse Source

修复下单端系统派单

master
前端-胡立永 2 days ago
parent
commit
37ccb0be2e
10 changed files with 545 additions and 18 deletions
  1. +44
    -0
      CatmDogd-Mall-Front-test/src/api/marketing/AppletOrderBanner.js
  2. +291
    -0
      CatmDogd-Mall-Front-test/src/views/marketing/AppletOrderBanner/index.vue
  3. +5
    -5
      ruoyi-admin/src/main/resources/application-druid-root-prod.yml
  4. +13
    -13
      ruoyi-admin/src/main/resources/application-druid-root.yml
  5. +40
    -0
      ruoyi-catdog/src/main/java/com/ruoyi/applet/contoller/ApiAppletOrderBannerController.java
  6. +99
    -0
      ruoyi-catdog/src/main/java/com/ruoyi/model/controller/AppOrderBannerController.java
  7. +28
    -0
      ruoyi-catdog/src/main/java/com/ruoyi/model/domain/AppletOrderBanner.java
  8. +7
    -0
      ruoyi-catdog/src/main/java/com/ruoyi/model/mapper/AppletOrderBannerMapper.java
  9. +7
    -0
      ruoyi-catdog/src/main/java/com/ruoyi/model/service/AppletOrderBannerService.java
  10. +11
    -0
      ruoyi-catdog/src/main/java/com/ruoyi/model/service/impl/AppletOrderBannerServiceImpl.java

+ 44
- 0
CatmDogd-Mall-Front-test/src/api/marketing/AppletOrderBanner.js View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询轮播图列表
export function listAppletBanner(query) {
return request({
url: '/model/order/banner/list',
method: 'get',
params: query
})
}
// 查询轮播图详细
export function getAppletBanner(id) {
return request({
url: '/model/order/banner/' + id,
method: 'get'
})
}
// 新增轮播图
export function addAppletBanner(data) {
return request({
url: '/model/order/banner',
method: 'post',
data: data
})
}
// 修改轮播图
export function updateAppletBanner(data) {
return request({
url: '/model/order/banner',
method: 'put',
data: data
})
}
// 删除轮播图
export function delAppletBanner(id) {
return request({
url: '/model/order/banner/' + id,
method: 'delete'
})
}

+ 291
- 0
CatmDogd-Mall-Front-test/src/views/marketing/AppletOrderBanner/index.vue View File

@ -0,0 +1,291 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="medium" class="ry_form">
<el-form-item label="跳转链接" prop="url">
<el-input
v-model="queryParams.url"
placeholder="请输入跳转链接"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item class="flex_one tr">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['model:AppletBanner:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['model:AppletBanner:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['model:AppletBanner:remove']"
>删除</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="warning"-->
<!-- plain-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- :loading="exportLoading"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['model:AppletBanner:export']"-->
<!-- >导出</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="AppletBannerList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="唯一标识" align="center" prop="id" />
<el-table-column label="轮播图图片" align="center" prop="image">
<template slot-scope="scope">
<image-preview :src="scope.row.image"/>
</template>
</el-table-column>
<el-table-column label="跳转链接" align="center" prop="url"/>
<el-table-column label="排序" align="center" prop="sort"/>
<el-table-column label="备注" align="center" prop="remark"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['model:AppletBanner:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['model:AppletBanner:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改轮播图对话框 -->
<el-dialog :title="title" :visible.sync="open" width="50%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="108px" inline class="dialog-form-two">
<el-form-item label="轮播图图片">
<OssImageUpload v-model="form.image" :limit="1"/>
</el-form-item>
<el-form-item label="跳转链接" prop="url">
<el-input v-model="form.url" placeholder="请输入跳转链接" />
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input-number v-model="form.sort" controls-position="right" :min="0" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listAppletBanner, getAppletBanner, delAppletBanner, addAppletBanner, updateAppletBanner } from "@/api/marketing/AppletOrderBanner";
export default {
name: "AppletBanner",
data() {
return {
//
loading: true,
//
exportLoading: false,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
AppletBannerList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
image: null,
url: null,
},
//
form: {},
//
rules: {
},
columns: [
{ key: 1, label: "轮播图图片", visible: false },
{ key: 2, label: "跳转链接", visible: true },
],
};
},
created() {
this.getList();
},
methods: {
/** 查询轮播图列表 */
getList() {
this.loading = true;
listAppletBanner(this.queryParams).then(response => {
this.AppletBannerList = response.data.records;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
image: null,
url: null,
createTime: null,
createBy: null,
updateTime: null,
updateBy: null,
delFlag: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加轮播图";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getAppletBanner(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改轮播图";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateAppletBanner(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAppletBanner(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除轮播图编号为"' + ids + '"的数据项?').then(function() {
return delAppletBanner(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$modal.confirm('是否确认导出所有轮播图数据项?').then(() => {
this.exportLoading = true;
return exportAppletBanner(queryParams);
}).then(response => {
this.download(response.msg);
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>

+ 5
- 5
ruoyi-admin/src/main/resources/application-druid-root-prod.yml View File

@ -45,12 +45,12 @@ scheduling:
enabled: false
#操作oss需要的一些参数
aliyun:
accessKeyId: LTAI5tESEdx8bQjkSC9UHnmE # 阿里云的accessKeyId
secretAccessKey: cClMLIzTkYW5cxyY3iuz8InIECujMC # accessKey 密码
accessKeyId: LTAI5tD3bjTBDvgmgXLTKL5X # 阿里云的accessKeyId
secretAccessKey: wCPlCO5nnnqBekd3wxAPU6CSUto6fQ # accessKey 密码
oss:
endPoint: oss-cn-shenzhen.aliyuncs.com # Endpoint:在阿里云oss控制台查看自己使用的endpoint
bucketName: hanhaiimage # bucket 名称
cdnName: image.hhlm1688.com
endPoint: oss-cn-shanghai.aliyuncs.com # Endpoint:在阿里云oss控制台查看自己使用的endpoint
bucketName: catmdogf # bucket 名称
cdnName: cdn.catmdogd.com
wechat:
enabled: true
appId: wxd1a6ba7b5e17a5b6


+ 13
- 13
ruoyi-admin/src/main/resources/application-druid-root.yml View File

@ -6,8 +6,8 @@ spring:
druid:
# 主库数据源 jdbc:mysql://localhost:3306/catmdogf?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
master:
# url: jdbc:mysql://47.97.158.59:3306/catmdogf_test20250624?useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
url: jdbc:mysql://47.97.158.59:3306/catmdogf_prod20250624?useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
url: jdbc:mysql://47.97.158.59:3306/catmdogf_test20250624?useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
# url: jdbc:mysql://47.97.158.59:3306/catmdogf_prod20250624?useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
username: root
password: Qweruiop@123
# 从库数据源
@ -45,12 +45,12 @@ scheduling:
enabled: false
#操作oss需要的一些参数
aliyun:
accessKeyId: LTAI5tESEdx8bQjkSC9UHnmE # 阿里云的accessKeyId
secretAccessKey: cClMLIzTkYW5cxyY3iuz8InIECujMC # accessKey 密码
accessKeyId: LTAI5tD3bjTBDvgmgXLTKL5X # 阿里云的accessKeyId
secretAccessKey: wCPlCO5nnnqBekd3wxAPU6CSUto6fQ # accessKey 密码
oss:
endPoint: oss-cn-shenzhen.aliyuncs.com # Endpoint:在阿里云oss控制台查看自己使用的endpoint
bucketName: hanhaiimage # bucket 名称
cdnName: image.hhlm1688.com
endPoint: oss-cn-shanghai.aliyuncs.com # Endpoint:在阿里云oss控制台查看自己使用的endpoint
bucketName: catmdogf # bucket 名称
cdnName: cdn.catmdogd.com
wechat:
enabled: true
appId: wxd1a6ba7b5e17a5b6
@ -58,8 +58,8 @@ wechat:
merchantId: 1665639691
# privateKeyPath: /data/software/app/key/apiclient_key.pem
privateKeyPath: E:\\git_java\\api_java\\pet-admin\\pet-admin\\pet-admin\\ruoyi-admin\\src\\main\\resources\\apiclient_key.pem
# privateKeyPath: E:\\file\\2025\\1\pet-admin\\ruoyi-admin\\src\\main\\resources\\apiclient_key.pem
# privateKeyPath: E:\\git_java\\api_java\\pet-admin\\pet-admin\\pet-admin\\ruoyi-admin\\src\\main\\resources\\apiclient_key.pem
privateKeyPath: E:\\file\\2025\\1\pet-admin\\ruoyi-admin\\src\\main\\resources\\apiclient_key.pem
# privateKeyPath: E:\\file\\2025\\project\\1\pet-admin\\ruoyi-admin\\src\\main\\resources\\apiclient_key.pem
# privateKeyPath: /root/pem/apiclient_key.pem
# privateKeyPath: F:\\java_work\\team_work_java\\pet-admin-25-01-25\\pet-admin\\ruoyi-admin\\src\\main\\resources\\apiclient_key.pem
@ -79,8 +79,8 @@ wechat:
staffAppId: wx01f0f43759922fda
staffSecret: b0a5617e6e4c387262a32af2b355c8b6
publicKeyId: PUB_KEY_ID_0116656396912025062400291558001601
publicKeyPath: E:\\git_java\\api_java\\pet-admin\\pet-admin\\pet-admin\\ruoyi-admin\\src\\main\\resources\\pub_key.pem
# publicKeyPath: E:\\file\\2025\\1\pet-admin\\ruoyi-admin\\src\\main\\resources\\pub_key.pem
# publicKeyPath: E:\\git_java\\api_java\\pet-admin\\pet-admin\\pet-admin\\ruoyi-admin\\src\\main\\resources\\pub_key.pem
publicKeyPath: E:\\file\\2025\\1\pet-admin\\ruoyi-admin\\src\\main\\resources\\pub_key.pem
# publicKeyPath: E:\\file\\2025\\project\\1\pet-admin\\ruoyi-admin\\src\\main\\resources\\pub_key.pem
# publicKeyPath: /data/software/app/key/pub_key.pem
pay:
@ -141,8 +141,8 @@ wechat-admin:
staffAppId: wx01f0f43759922fda
staffSecret: b0a5617e6e4c387262a32af2b355c8b6
# publicKeyPath: /root/pem/pub_key.pem
publicKeyPath: E:\\git_java\\api_java\\pet-admin\\pet-admin\\pet-admin\\ruoyi-admin\\src\\main\\resources\\pub_key.pem
# publicKeyPath: E:\\file\\2025\\1\pet-admin\\ruoyi-admin\\src\\main\\resources\\pub_key.pem
# publicKeyPath: E:\\git_java\\api_java\\pet-admin\\pet-admin\\pet-admin\\ruoyi-admin\\src\\main\\resources\\pub_key.pem
publicKeyPath: E:\\file\\2025\\1\pet-admin\\ruoyi-admin\\src\\main\\resources\\pub_key.pem
# publicKeyPath: E:\\file\\2025\\project\\1\pet-admin\\ruoyi-admin\\src\\main\\resources\\pub_key.pem
# publicKeyPath: /data/software/app/key/pub_key.pem
publicKeyId: PUB_KEY_ID_0116656396912025062400291558001601


+ 40
- 0
ruoyi-catdog/src/main/java/com/ruoyi/applet/contoller/ApiAppletOrderBannerController.java View File

@ -0,0 +1,40 @@
package com.ruoyi.applet.contoller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.model.domain.AppletOrderBanner;
import com.ruoyi.model.service.AppletOrderBannerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
@RestController
@RequestMapping("/applet/order/banner")
public class ApiAppletOrderBannerController extends BaseController {
@Autowired
private AppletOrderBannerService appletOrderBannerService;
/**
* 查询轮播图列表
*/
@GetMapping("/list")
public AjaxResult list(AppletOrderBanner appBanner,
@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize)
{
Page<AppletOrderBanner> page = appletOrderBannerService
.lambdaQuery()
.orderByDesc(AppletOrderBanner::getSort)
.like(StringUtils.isNotBlank(appBanner.getUrl()), AppletOrderBanner::getUrl, appBanner.getUrl())
.eq(appBanner.getId() != null, AppletOrderBanner::getId, appBanner.getId())
.page(new Page<>(pageNum, pageSize));
return AjaxResult.success(page);
}
}

+ 99
- 0
ruoyi-catdog/src/main/java/com/ruoyi/model/controller/AppOrderBannerController.java View File

@ -0,0 +1,99 @@
package com.ruoyi.model.controller;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.model.domain.AppBanner;
import com.ruoyi.model.domain.AppletOrderBanner;
import com.ruoyi.model.service.AppletOrderBannerService;
import com.ruoyi.model.service.IAppBannerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
@RestController
@RequestMapping("/model/order/banner")
public class AppOrderBannerController extends BaseController {
@Autowired
private AppletOrderBannerService appletOrderBannerService;
/**
* 查询轮播图列表
*/
@GetMapping("/list")
public AjaxResult list(AppletOrderBanner appBanner,
@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize)
{
Page<AppletOrderBanner> page = appletOrderBannerService
.lambdaQuery()
.orderByDesc(AppletOrderBanner::getSort)
.like(StringUtils.isNotBlank(appBanner.getUrl()), AppletOrderBanner::getUrl, appBanner.getUrl())
.eq(appBanner.getId() != null, AppletOrderBanner::getId, appBanner.getId())
.page(new Page<>(pageNum, pageSize));
return AjaxResult.success(page);
}
/**
* 导出轮播图列表
*/
// @Log(title = "轮播图", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, AppletOrderBanner appBanner) throws IOException {
// List<AppBanner> list = appletOrderBannerService.selectAppBannerList(appBanner);
// ExcelUtil<AppBanner> util = new ExcelUtil<AppBanner>(AppBanner.class);
// util.exportExcel(response, list, "轮播图数据");
// }
/**
* 获取轮播图详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(appletOrderBannerService.getById(id));
}
/**
* 新增轮播图
*/
@Log(title = "轮播图", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody AppletOrderBanner appBanner)
{
return toAjax(appletOrderBannerService.save(appBanner));
}
/**
* 修改轮播图
*/
@Log(title = "轮播图", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody AppletOrderBanner appBanner)
{
return toAjax(appletOrderBannerService.updateById(appBanner));
}
/**
* 删除轮播图
*/
@Log(title = "轮播图", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(appletOrderBannerService.removeByIds(Arrays.asList(ids)));
}
}

+ 28
- 0
ruoyi-catdog/src/main/java/com/ruoyi/model/domain/AppletOrderBanner.java View File

@ -0,0 +1,28 @@
package com.ruoyi.model.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
/**
* 下单端轮播图对象
*
* @author ruoyi
* @date 2025-03-30
*/
@Data
public class AppletOrderBanner extends BaseEntity
{
private static final long serialVersionUID = 1L;
private Long id;
@Excel(name = "轮播图图片 ")
private String image;
@Excel(name = "跳转链接")
private String url;
@Excel(name = "排序")
private Integer sort;
}

+ 7
- 0
ruoyi-catdog/src/main/java/com/ruoyi/model/mapper/AppletOrderBannerMapper.java View File

@ -0,0 +1,7 @@
package com.ruoyi.model.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.model.domain.AppletOrderBanner;
public interface AppletOrderBannerMapper extends BaseMapper<AppletOrderBanner> {
}

+ 7
- 0
ruoyi-catdog/src/main/java/com/ruoyi/model/service/AppletOrderBannerService.java View File

@ -0,0 +1,7 @@
package com.ruoyi.model.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.model.domain.AppletOrderBanner;
public interface AppletOrderBannerService extends IService<AppletOrderBanner> {
}

+ 11
- 0
ruoyi-catdog/src/main/java/com/ruoyi/model/service/impl/AppletOrderBannerServiceImpl.java View File

@ -0,0 +1,11 @@
package com.ruoyi.model.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.model.domain.AppletOrderBanner;
import com.ruoyi.model.mapper.AppletOrderBannerMapper;
import com.ruoyi.model.service.AppletOrderBannerService;
import org.springframework.stereotype.Service;
@Service
public class AppletOrderBannerServiceImpl extends ServiceImpl<AppletOrderBannerMapper, AppletOrderBanner> implements AppletOrderBannerService {
}

Loading…
Cancel
Save