Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
5419d6bf53
@ -129,6 +129,43 @@ public class QrCodeUtils {
|
||||
}
|
||||
}
|
||||
|
||||
public void createLogoCodePictureByPos(InputStream backgroundStream, InputStream logoStream, String url, String outImgPath, Integer staffId, Integer storeId,String urls) {
|
||||
try {
|
||||
// 读取原图片信息
|
||||
//使用工具类生成二维码
|
||||
Image image = createQrCode(null, url, 200, 200);
|
||||
|
||||
// 查询当前店铺信息
|
||||
if (ObjectUtils.isNotEmpty(storeId)){
|
||||
LJStore store = storeService.selectStoreByStoreId(storeId);
|
||||
// 查询加油员信息
|
||||
LJStaff staff = null;
|
||||
if (ObjectUtil.isNotEmpty(staffId)){
|
||||
staff = staffService.selectStaffById(staffId);
|
||||
}
|
||||
LJStaff staff1 = staffService.selectStaffByStoreId(storeId);
|
||||
}else {
|
||||
}
|
||||
// 输出图片
|
||||
String urlsss = "/temp/qrCode/";
|
||||
if (ObjectUtils.isNotEmpty(urls)){
|
||||
urlsss = urls;
|
||||
}
|
||||
File file1 = new File(urlsss);
|
||||
// 判断目录是否存在
|
||||
if (!file1.exists()) {
|
||||
file1.mkdirs();
|
||||
}
|
||||
|
||||
FileOutputStream outImgStream = new FileOutputStream(outImgPath);
|
||||
ImageIO.write((RenderedImage) image, "jpg", outImgStream);
|
||||
outImgStream.flush();
|
||||
outImgStream.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void createLogoCodePictures(InputStream logoStream, String url, String outImgPath, Integer staffId, Integer storeId,String urls) {
|
||||
try {
|
||||
// 读取原图片信息
|
||||
|
@ -40,6 +40,11 @@ public class QRCodeController extends BaseController {
|
||||
String type = map.get("type");
|
||||
return getSuccessResult(iqrCodeService.createStoreQrCode(type,request));
|
||||
}
|
||||
@PostMapping("/createStoreQrCodeByPos")
|
||||
public ResponseObject createStoreQrCodeByPos(HttpServletRequest request, @RequestBody Map<String,String> map) throws Exception {
|
||||
String type = map.get("type");
|
||||
return getSuccessResult(iqrCodeService.createStoreQrCodeByPos(type,request));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据店铺id查询二维码信息
|
||||
|
@ -22,6 +22,7 @@ public interface IQRCodeService extends IService<QRCode> {
|
||||
public IPage<QRCode> selectQRCodeList(Page page, QRCode qrCode);
|
||||
|
||||
String createStoreQrCode(String type, HttpServletRequest request) throws Exception;
|
||||
String createStoreQrCodeByPos(String type, HttpServletRequest request) throws Exception;
|
||||
|
||||
/**
|
||||
* 根据店铺id查询二维码信息
|
||||
|
@ -90,6 +90,45 @@ public class QRCodeServiceImpl extends ServiceImpl<QRCodeMapper, QRCode> impleme
|
||||
String saveFile = backendFileController.saveFile(resFile);
|
||||
return saveFile;
|
||||
}
|
||||
@Override
|
||||
public String createStoreQrCodeByPos(String type, HttpServletRequest request) throws Exception {
|
||||
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||
Integer storeId = nowAccountInfo.getStoreId();
|
||||
QRCode qrCode = selectQRCodeByStoreId(storeId);
|
||||
// 根据id查询员工信息和店铺信息
|
||||
LJStore store = storeService.selectStoreByStoreId(storeId);
|
||||
//在图片上生成二维码
|
||||
String backgroundImage = "";
|
||||
// if (type.equals("0")){
|
||||
// backgroundImage = "static/qrCodeImg/laigeyouhui_bg.jpg";
|
||||
// }else {
|
||||
// backgroundImage = "static/qrCodeImg/laigeyouhui_bg1.png";
|
||||
// }
|
||||
|
||||
String logoImage = "static/qrCodeImg/logo.png";
|
||||
// if (StringUtils.isNotEmpty(store.getLogo())){
|
||||
// logoImage = store.getLogo();
|
||||
// }
|
||||
String url = qrCode.getCollection();
|
||||
String area = store.getName();
|
||||
String finalPath="/temp/qrCode/" + area + ".jpg";
|
||||
InputStream backgroundStream = this.getClass().getClassLoader().getResourceAsStream(backgroundImage);
|
||||
InputStream logoStream = this.getClass().getClassLoader().getResourceAsStream(logoImage);
|
||||
//背景图片路径 loge图片 二维码 输出地址
|
||||
qrCodeUtils.createLogoCodePictureByPos(backgroundStream, logoStream, url, finalPath, null,store.getId(),null);
|
||||
File file1 = new File("/temp/qrCode/");
|
||||
// 判断目录是否存在
|
||||
if (!file1.exists()) {
|
||||
file1.mkdirs();
|
||||
}
|
||||
|
||||
File file =new File(finalPath);
|
||||
FileInputStream fileInputStream =new FileInputStream(file);
|
||||
MultipartFile resFile = new MockMultipartFile("file", file.getName(), null, fileInputStream);
|
||||
// 返回图片路径
|
||||
String saveFile = backendFileController.saveFile(resFile);
|
||||
return saveFile;
|
||||
}
|
||||
|
||||
@Override
|
||||
public QRCode selectQRCode() {
|
||||
|
@ -7,11 +7,14 @@
|
||||
<view class="title_">扫码成为京博加油站会员</view>
|
||||
<view
|
||||
style="background: #fff;width: 215px; height: 220px; border-radius: 8px ; margin: 15px auto; box-sizing: border-box; padding-top: 10px; ">
|
||||
<canvas id="qrcode" canvas-id="qrcode"
|
||||
style="width: 200px;height: 200px; margin: 0px auto; "></canvas>
|
||||
<canvas id="qrcode" canvas-id="qrcode" style="width: 200px;height: 200px; margin: 0px auto; ">
|
||||
<!-- <image url="https://cdn.uviewui.com/uview/resources/18496183264.png"></image> -->
|
||||
|
||||
</canvas>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="title_">长按识别领取会员卡</view>
|
||||
<view class="title_">扫码识别领取会员卡</view>
|
||||
</view>
|
||||
|
||||
<view class="p-bottom">
|
||||
@ -26,6 +29,7 @@
|
||||
|
||||
<script>
|
||||
import request from "../../utils/request";
|
||||
import config from '@/config'
|
||||
|
||||
import headers from '../../components/header/headers.vue'
|
||||
import UQRCode from '../../uni_modules/Sansnn-uQRCode/js_sdk/uqrcode/uqrcode.js';
|
||||
@ -33,6 +37,9 @@
|
||||
data() {
|
||||
return {
|
||||
titles: "新增会员",
|
||||
storeId: '',
|
||||
collectionImg: '',
|
||||
baseUrl: config.baseUrl,
|
||||
|
||||
}
|
||||
},
|
||||
@ -40,7 +47,10 @@
|
||||
|
||||
// this.actList = ["1", "1", "1", "1", "1", ]
|
||||
// this.status = "nomore" 底部刷新结束
|
||||
this.onReady()
|
||||
// this.getStore()
|
||||
this.getQRCodeInfoByStoreId()
|
||||
// this.onReady2()
|
||||
// await this.onReady()
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
console.log("刷新");
|
||||
@ -56,7 +66,47 @@
|
||||
headers
|
||||
},
|
||||
methods: {
|
||||
onReady() {
|
||||
// async getStore() {
|
||||
// await request({
|
||||
// url: 'business/storeInformation/store',
|
||||
// method: 'get',
|
||||
// params: this.form
|
||||
// }).then((res) => {
|
||||
// if (res.code == 200) {
|
||||
// this.storeId = res.data.id
|
||||
|
||||
// } else {
|
||||
// uni.showToast({
|
||||
// title: res.data,
|
||||
// icon: "none"
|
||||
// })
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
getQRCodeInfoByStoreId() {
|
||||
request({
|
||||
url: 'business/storeInformation/qrCode/createStoreQrCodeByPos',
|
||||
method: 'post',
|
||||
data: {
|
||||
type: 0
|
||||
}
|
||||
}).then((res) => {
|
||||
|
||||
if (res.code == 200) {
|
||||
this.collectionImg = res.data;
|
||||
console.log("res", res)
|
||||
this.onReady2()
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.data,
|
||||
icon: "none"
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
onReady2() {
|
||||
|
||||
// 获取uQRCode实例
|
||||
var qr = new UQRCode();
|
||||
// 设置二维码内容
|
||||
@ -66,11 +116,18 @@
|
||||
// 调用制作二维码方法
|
||||
qr.make();
|
||||
// 获取canvas上下文
|
||||
var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件,this必须传入
|
||||
// 设置uQRCode实例的canvas上下文
|
||||
qr.canvasContext = canvasContext;
|
||||
// 调用绘制方法将二维码图案绘制到canvas上
|
||||
qr.drawCanvas();
|
||||
// var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件,this必须传入
|
||||
// // 设置uQRCode实例的canvas上下文
|
||||
// qr.canvasContext = canvasContext;
|
||||
// // 调用绘制方法将二维码图案绘制到canvas上
|
||||
// qr.drawCanvas();
|
||||
const url = this.baseUrl + this.collectionImg
|
||||
// const url = ""
|
||||
console.log("this.collectionImg()", url)
|
||||
|
||||
const ctx = uni.createCanvasContext('qrcode', this);
|
||||
ctx.drawImage(url, 0, 0, 200, 200);
|
||||
ctx.draw(true, () => {})
|
||||
},
|
||||
goback() {
|
||||
uni.navigateTo({
|
||||
|
@ -38,7 +38,7 @@
|
||||
</view>
|
||||
<view class="d-bs">
|
||||
<view class="title_h">充值面额</view>
|
||||
<view class="title_lan">充值记录</view>
|
||||
<!-- <view class="title_lan">充值记录</view> -->
|
||||
</view>
|
||||
<view class="wrap-box">
|
||||
<view class="w-box" v-for="(item,index) in numList " :key="index" @click="getindex(index,item)">
|
||||
@ -279,9 +279,9 @@
|
||||
method: 'post',
|
||||
data: this.order
|
||||
}).then((res) => {
|
||||
// uni.navigateTo({
|
||||
// url: '/pagesHome/PaymentResults/PaymentResults'
|
||||
// })
|
||||
uni.navigateTo({
|
||||
url: '/pagesHome/PaymentResults/PaymentResults?type=1&orderNo=' + res.data.orderNo
|
||||
})
|
||||
})
|
||||
|
||||
},
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view class="container">
|
||||
<view class="container" v-if="oilOrder">
|
||||
<headers :titles="titles"><u-icon name="arrow-left" color="#fff" size="22"></u-icon></headers>
|
||||
<view class="top_">
|
||||
<image src="../../static/imgs/zfcg.png" mode=""></image>
|
||||
@ -35,6 +35,41 @@
|
||||
<view class="h-size" v-if="oilOrder.payType=='APPLET_CODE'">小程序码支付</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="container" v-if="balanceOrder">
|
||||
<headers :titles="titles"><u-icon name="arrow-left" color="#fff" size="22"></u-icon></headers>
|
||||
<view class="top_">
|
||||
<image src="../../static/imgs/zfcg.png" mode=""></image>
|
||||
</view>
|
||||
<view class="title_">支付成功</view>
|
||||
<!-- <view class="top_" v-if="oilOrder.orderStatus!='paid'">
|
||||
<image src="../../static/imgs/zfsb.png" mode=""></image>
|
||||
</view>
|
||||
<view class="title_" v-if="oilOrder.orderStatus!='paid'">支付失败</view> -->
|
||||
<view class="b-bs">
|
||||
<view class="h-size">应收金额</view>
|
||||
<view class="red-size">¥{{balanceOrder.orderAmount}}</view>
|
||||
</view>
|
||||
<view class="b-bs">
|
||||
<view class="h-size">优惠金额</view>
|
||||
<view class="red-size">¥{{balanceOrder.discountAmount}}</view>
|
||||
</view>
|
||||
<view class="b-bs">
|
||||
<view class="h-size">实收金额</view>
|
||||
<view class="red-size">¥{{balanceOrder.payAmount}}</view>
|
||||
</view>
|
||||
<view class="b-bs">
|
||||
<view class="h-size">储值卡消费金额</view>
|
||||
<view class="red-size">¥{{balanceOrder.balanceAmount}}</view>
|
||||
</view>
|
||||
<view class="b-bs">
|
||||
<view class="h-size">支付方式</view>
|
||||
<view class="h-size" v-if="balanceOrder.payType=='ALIPAY'">支付宝支付</view>
|
||||
<view class="h-size" v-if="balanceOrder.payType=='WECHAT'">微信支付</view>
|
||||
<view class="h-size" v-if="balanceOrder.payType=='UNIONPAY'">银联二维码支付</view>
|
||||
<view class="h-size" v-if="balanceOrder.payType=='CASH'">现金支付</view>
|
||||
<view class="h-size" v-if="balanceOrder.payType=='APPLET_CODE'">小程序码支付</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="p-bottom">
|
||||
<view class="anniu" @click="goback()">
|
||||
返回
|
||||
@ -53,15 +88,23 @@
|
||||
titles: "支付结果",
|
||||
orderNo: "",
|
||||
oilOrder: {},
|
||||
balanceOrder: {},
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
if (e.type && e.type == 1) {
|
||||
this.orderNo = e.orderNo
|
||||
this.getBalanceOrder()
|
||||
} else {
|
||||
this.orderNo = e.orderNo
|
||||
this.getOilOrder()
|
||||
}
|
||||
|
||||
},
|
||||
onShow() {
|
||||
// this.actList = ["1", "1", "1", "1", "1", ]
|
||||
// this.status = "nomore" 底部刷新结束
|
||||
this.getOilOrder()
|
||||
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
console.log("刷新");
|
||||
@ -82,11 +125,24 @@
|
||||
request({
|
||||
url: '/business/oilOrder/orderNo',
|
||||
method: 'post',
|
||||
data:{orderNo:this.orderNo}
|
||||
data: {
|
||||
orderNo: this.orderNo
|
||||
}
|
||||
}).then((res) => {
|
||||
this.oilOrder = res.data
|
||||
})
|
||||
},
|
||||
getBalanceOrder() {
|
||||
request({
|
||||
url: 'business/marketingActivity/activeExchange/cardValueOrders/getOneByOrderNo',
|
||||
method: 'post',
|
||||
data: {
|
||||
orderNo: this.orderNo
|
||||
}
|
||||
}).then((res) => {
|
||||
this.balanceOrder = res.data
|
||||
})
|
||||
},
|
||||
goback() {
|
||||
uni.navigateTo({
|
||||
url: "/pages/index/index"
|
||||
|
Loading…
Reference in New Issue
Block a user