This commit is contained in:
wangh 2024-01-16 09:38:22 +08:00
commit 6e16f6ac5d
30 changed files with 1078 additions and 421 deletions

View File

@ -41,3 +41,20 @@ export function delGunApi(data) {
params: data
})
}
// 查询油罐信息
export function getOilNumberGun() {
return request({
url: '/business/petrolStationManagement/oilGun/selectByNumberTGUn',
method: 'get',
})
}
// 查询所有油号
export function oilNumbers() {
return request({
url: '/business/petrolStationManagement/oilNumber/getOilNumber',
method: 'get',
// data: data
})
}

View File

@ -19,7 +19,11 @@
</el-table-column>
<el-table-column align="center" prop="fullDeduction" label="满减金额"/>
<el-table-column align="center" prop="discountAmount" label="券面额"/>
<el-table-column align="center" prop="oilType" label="适用油品"/>
<el-table-column align="center" prop="oilType" label="适用油品">
<template slot-scope="scope">
<span>{{ getOilNames(oilNameList,scope.row.oilType) }}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="status" label="状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.status == 0">未使用</el-tag>
@ -52,6 +56,7 @@
<script>
import { getCardFavorableList } from "@/api/userInfoOrder.js";
import {oilNumbers} from "@/api/oilConfig/oilGuns";
export default {
props:["pUserId"],
@ -66,7 +71,8 @@ export default {
status: 0,
page:1,
pageSize:10,
}
},
oilNameList:[],
}
},
created() {
@ -74,9 +80,35 @@ export default {
this.userId = this.$route.query.id;
this.getList()
this.getOilName()
},
methods:{
getOilNames(list,oilIds){
let name = "";
let oilNames = []
let oilId = oilIds.split(",")
list.forEach(item => {
oilId.forEach(i => {
if (item.oilName == i){
oilNames.push(item.oilNames)
}
})
})
let arr = []
for (let i = 0;i<oilNames.length;i++){
if (arr.indexOf(oilNames[i])==-1){
arr.push(oilNames[i])
name += oilNames[i]+","
}
}
return name;
},
getOilName(){
oilNumbers().then(res => {
console.log(res)
this.oilNameList = res.data
})
},
getList(){
this.loading = true

View File

@ -1,7 +1,11 @@
<template>
<div>
<el-table ref="tables" v-loading="loading" :data="list">
<el-table-column label="所属油站" prop="storeName" align="center"/>
<el-table-column label="所属油站" prop="storeName" align="center">
<template slot-scope="scope">
<span>{{store.name}}</span>
</template>
</el-table-column>
<el-table-column label="订单时间" prop="createTime" align="center"/>
<el-table-column label="订单金额" align="center" prop="amount"/>
<el-table-column label="商品数量" align="center" prop="goodsNum" />
@ -31,6 +35,8 @@
<script>
import { getMtOrderList } from "@/api/userInfoOrder.js";
import {listOrder} from "@/api/order/order";
import {ljStoreInfo} from "@/api/staff/store";
export default {
props:["pUserId"],
@ -43,7 +49,9 @@ export default {
queryParams:{
page:1,
pageSize:10,
}
userId:this.pUserId,
},
store:{},
}
},
created() {
@ -51,12 +59,19 @@ export default {
this.userId = this.$route.query.id;
this.getList()
this.getStoreInfo()
},
methods:{
//
getStoreInfo(){
ljStoreInfo().then(res => {
this.store = res.data
})
},
getList(){
this.loading = true
this.queryParams.userId = this.userId
getMtOrderList(this.queryParams).then(res=>{
listOrder(this.queryParams).then(res=>{
if (res.code == 200) {
this.list = res.data.records
this.total = res.data.total

View File

@ -7,12 +7,12 @@
<template slot-scope="scope">
<span v-if="scope.row.terminal == 'applet'">小程序</span>
<span v-else>{{ scope.row.terminal }}</span>
</template>
</el-table-column>
<el-table-column label="油品/油枪" align="center" prop="name" >
<template slot-scope="scope">
{{ scope.row.oilGunNum }}/{{ scope.row.oilName }}
{{ scope.row.oilName }}/{{ getName1(oilGunList,scope.row.oilGunNum) }}
</template>
</el-table-column>
@ -21,11 +21,11 @@
<el-table-column label="实付金额" align="center" prop="payAmount"/>
<el-table-column label="付款类型" align="center" prop="payType">
<template slot-scope="scope">
<span v-if="scope.row.payType == 'CASH'">现金支付</span>
<span v-else-if="scope.row.payType == 'WECHAT'">微信支付</span>
<span v-else-if="scope.row.payType == 'ALIPAY'">支付宝支付</span>
<span v-else>{{ scope.row.payType }}</span>
<!-- <span v-if="scope.row.payType == 'CASH'">现金支付</span>-->
<!-- <span v-else-if="scope.row.payType == 'WECHAT'">微信支付</span>-->
<!-- <span v-else-if="scope.row.payType == 'ALIPAY'">支付宝支付</span>-->
<!-- <span v-else>{{ scope.row.payType }}</span>-->
<dict-tag :options="dict.type.payment_type" :value="scope.row.payType"/>
</template>
</el-table-column>
<el-table-column label="订单号" align="center" prop="orderNo" width="220px"/>
@ -43,9 +43,11 @@
<script>
import { getOilOrderList } from "@/api/userInfoOrder.js";
import {getOilNumberGun} from "@/api/oilConfig/oilGuns";
export default {
props:["pUserId"],
dicts: ['payment_type'],
data(){
return {
userId:"",
@ -55,7 +57,9 @@ export default {
queryParams:{
page:1,
pageSize:10,
}
},
//
oilGunList:[],
}
},
created() {
@ -63,8 +67,34 @@ export default {
this.userId = this.$route.query.id;
this.getList()
this.getOilGunList();
},
methods:{
//
getOilGunList(){
getOilNumberGun().then(res => {
res.data.forEach(item => {
if (item.oilGunList.length>0){
item.oilGunList.forEach(i => {
i.oilName = item.oilName
this.oilGunList.push(i)
})
}
})
})
},
//
getName1(oilNameList,id){
let name = ""
if(oilNameList!=null && oilNameList!=""){
oilNameList.forEach(item => {
if (item.id == id){
name = item.gunName;
}
})
}
return name;
},
getList(){
this.loading = true
this.queryParams.userId = this.userId

View File

@ -1,10 +1,12 @@
package com.fuint.api.fuyou.controller;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fuint.api.fuyou.entity.Const;
import com.fuint.api.fuyou.service.FyPayService;
import com.fuint.api.fuyou.util.Utils;
import com.fuint.business.integral.service.IntegralOrdersService;
import com.fuint.business.marketingActivity.cardFule.service.CardFuelRecordService;
import com.fuint.business.marketingActivity.cardValue.service.CardValueRecordService;
import com.fuint.business.order.entity.AllOrderInfo;
import com.fuint.business.order.entity.OilOrder;
@ -37,13 +39,16 @@ public class FyPayController {
private CardValueRecordService cardValueRecordService;
@Autowired
@Lazy
private CardFuelRecordService cardFuelRecordService;
@Autowired
@Lazy
private AllOrderInfoService allOrderInfoService;
@Autowired
private RedisLock redisLock;
// 接收支付平台异步通知的接口
@PostMapping("/notify")
public String notifyUrl(HttpServletRequest request,HttpServletResponse response) throws UnsupportedEncodingException {
public String notifyUrl(HttpServletRequest request,HttpServletResponse response) throws UnsupportedEncodingException, JsonProcessingException {
System.out.println("----------------收到支付回调--------"+request.getParameter("req"));
String notifyData = request.getParameter("req");
String decode = URLDecoder.decode(notifyData, Const.charset);
@ -74,7 +79,7 @@ public class FyPayController {
return "0";
}
}
public void updateOrderStatus(String orderNo,String type){
public void updateOrderStatus(String orderNo,String type) throws JsonProcessingException {
if ("1".equals(type)) {
orderService.updateOrderStatus(orderNo,"paid");
}else if ("4".equals(type)) {
@ -83,6 +88,8 @@ public class FyPayController {
}else if ("3".equals(type)){
cardValueRecordService.rechargeFinallDeal(orderNo);
}else if ("5".equals(type)){
cardFuelRecordService.fuleRechargeFinallDeal(orderNo);
}
}
}

View File

@ -48,7 +48,7 @@
<if test="cardFavorableRecord.mtUserId != null">
and cfr.mt_user_id = #{cardFavorableRecord.mtUserId}
</if>
<if test="cardFavorableRecord.status != null">
<if test="cardFavorableRecord.status != null and cardFavorableRecord.status != ''">
and cfr.status = #{cardFavorableRecord.status}
</if>
</where>
@ -62,11 +62,12 @@
card_favorables.id,
card_favorables.couponAmount,
card_favorables.couponContent,
card_favorables.cardRecordId
card_favorables.cardRecordId,
card_favorables.endTime
from
(SELECT
'优惠券' AS couponType,
cf.NAME couponName ,cf.id id,cf.discount_amount couponAmount,cf.satisfied_amount couponContent,cfr.id cardRecordId
cf.NAME couponName ,cf.id id,cf.discount_amount couponAmount,cf.satisfied_amount couponContent,cfr.id cardRecordId, cfr.end_time endTime
FROM
card_favorable cf
LEFT JOIN card_favorable_record cfr ON cf.id = cfr.card_favorable_id
@ -76,7 +77,7 @@
and cfr.store_id = #{cardFavorableDTOS.storeId} UNION ALL
SELECT
'兑换券' AS couponType,
ce.NAME couponName, ce.id id, ce.count couponAmount, ce.use_instructions couponContent,cer.id cardRecordId
ce.NAME couponName, ce.id id, ce.count couponAmount, ce.use_instructions couponContent,cer.id cardRecordId, cer.out_time endTime
FROM
card_exchange_record cer
LEFT JOIN card_exchange ce ON cer.card_exchange_id = ce.id
@ -87,7 +88,7 @@
and cer.store_id = #{cardFavorableDTOS.storeId} UNION ALL
SELECT
'洗车券' AS couponType,
ce.NAME couponName, ce.id id, ce.count couponAmount, ce.use_instructions couponContent,cer.id cardRecordId
ce.NAME couponName, ce.id id, ce.count couponAmount, ce.use_instructions couponContent,cer.id cardRecordId, cer.out_time endTime
FROM
card_exchange_record cer
LEFT JOIN card_exchange ce ON cer.card_exchange_id = ce.id
@ -98,7 +99,7 @@
and cer.store_id = #{cardFavorableDTOS.storeId} UNION ALL
SELECT
'洗车卡' AS couponType,
ce.NAME couponName, ce.id id, ce.count couponAmount, ce.use_instructions couponContent,cer.id cardRecordId
ce.NAME couponName, ce.id id, ce.count couponAmount, ce.use_instructions couponContent,cer.id cardRecordId, cer.out_time endTime
FROM
card_exchange_record cer
LEFT JOIN card_exchange ce ON cer.card_exchange_id = ce.id

View File

@ -12,6 +12,7 @@ import com.fuint.business.marketingActivity.cardFavorable.entity.CardFavorableRe
import com.fuint.business.marketingActivity.cardFavorable.service.CardFavorableRecordService;
import com.fuint.business.marketingActivity.cardFavorable.service.CardFavorableService;
import com.fuint.business.marketingActivity.cardFavorable.vo.CardFavorableRecordVO;
import com.fuint.business.petrolStationManagement.service.OilNameService;
import com.fuint.business.userManager.service.LJUserService;
import com.fuint.business.userManager.vo.LJUserVo;
import com.fuint.common.dto.AccountInfo;
@ -40,6 +41,8 @@ public class CardFavorableRecordServiceImpl extends ServiceImpl<CardFavorableRec
private LJUserService userService;
@Resource
private CardFavorableService cardFavorableService;
@Resource
private OilNameService oilNameService;
/**
* 分页查询所有数据
* @param page
@ -80,7 +83,18 @@ public class CardFavorableRecordServiceImpl extends ServiceImpl<CardFavorableRec
@Override
public IPage<CardFavorableRecordVO> getCardFavorableList(Page page, CardFavorableRecord cardFavorableRecord) {
return cardFavorableRecordMapper.getCardFavorableList(page,cardFavorableRecord);
IPage<CardFavorableRecordVO> cardFavorableList = cardFavorableRecordMapper.getCardFavorableList(page, cardFavorableRecord);
List<CardFavorableRecordVO> records = cardFavorableList.getRecords();
for (CardFavorableRecordVO record : records) {
String oilName = "";
String[] split = record.getOilType().split(",");
for (String s : split) {
oilName += oilNameService.selectOilNameById(Integer.parseInt(s)).getOilName();
}
record.setOilName(oilName);
}
cardFavorableList.setRecords(records);
return cardFavorableList;
}
/**

View File

@ -1,8 +1,10 @@
package com.fuint.business.marketingActivity.cardFavorable.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class CouponVO implements Serializable {
@ -23,7 +25,9 @@ public class CouponVO implements Serializable {
//券有效期
private String couponTime;
//券开始时间
private String startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
//券结束时间
private String endTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
}

View File

@ -577,10 +577,10 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService {
if (oilTypeList.contains(cardFuleOrders.getOilType())) {
for (JSONObject jsonObject : jsonObjectList) {
if (cardFuleOrders.getOilType().equals(jsonObject.getString("oilType"))) {
double incomeLitres = jsonObject.getDouble("incomeLitres");
double incomeLitres = jsonObject.getDouble("refuelMoney");
BigDecimal add = BigDecimal.valueOf(cardFuleOrders.getIncomeLitres()).add(BigDecimal.valueOf(incomeLitres));
incomeLitres = add.doubleValue();
jsonObject.put("incomeLitres", incomeLitres);
jsonObject.put("refuelMoney", incomeLitres);
String userBnlancce = jsonObjectList.toString();
userBalance.setRefuelMoney(userBnlancce);
break;
@ -590,7 +590,7 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService {
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("type", cardFuleOrders.getType());
jsonObject1.put("oilType", cardFuleOrders.getOilType());
jsonObject1.put("incomeLitres", cardFuleOrders.getIncomeLitres());
jsonObject1.put("refuelMoney", cardFuleOrders.getIncomeLitres());
jsonObject1.put("oilName", cardFuleOrders.getOilName());
jsonObjectList.add(jsonObject1);
String userBnlancce = jsonObjectList.toString();
@ -601,7 +601,7 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService {
JSONObject jsonObject = new JSONObject();
jsonObject.put("type", cardFuleOrders.getType());
jsonObject.put("oilType", cardFuleOrders.getOilType());
jsonObject.put("incomeLitres", cardFuleOrders.getIncomeLitres());
jsonObject.put("refuelMoney", cardFuleOrders.getIncomeLitres());
jsonObject.put("oilName", cardFuleOrders.getOilName());
jsonObjects.add(jsonObject);
userBalance.setRefuelMoney(jsonObjects.toString());
@ -613,7 +613,7 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService {
JSONObject jsonObject = new JSONObject();
jsonObject.put("type",cardFuleOrders.getType());
jsonObject.put("oilType",cardFuleOrders.getOilType());
jsonObject.put("incomeLitres",cardFuleOrders.getIncomeLitres());
jsonObject.put("refuelMoney",cardFuleOrders.getIncomeLitres());
jsonObject.put("oilName",cardFuleOrders.getOilName());
jsonObjects.add(jsonObject);
userBalance1.setRefuelMoney(jsonObjects.toString());

View File

@ -75,7 +75,7 @@ public class CardBalanceChangeController extends BaseController {
stroeBalanceCountVO.setOutCount(collectOut.size());
//充值笔数
List<CardBalanceChange> collectIn = records.stream().filter(s -> s.getChangeType().equals("1")).collect(Collectors.toList());
stroeBalanceCountVO.setOutCount(collectIn.size());
stroeBalanceCountVO.setInCount(collectIn.size());
//消费总额
double totalConsumption = 0.0;
for (CardBalanceChange cardBalanceChange1 : collectOut) {

View File

@ -90,6 +90,9 @@ public class CashierOrder extends BaseEntity implements Serializable {
* 支付时间
*/
private Date payTime;
/**
* 退款备注
*/
private String refundRemark;
}

View File

@ -81,6 +81,10 @@ public class LJOrder extends BaseEntity implements Serializable {
* 用户备注
*/
private String remark;
/**
* 退款备注
*/
private String refundRemark;
/**
* 订单状态
*/

View File

@ -118,6 +118,10 @@ public class OilOrder extends BaseEntity implements Serializable {
* 订单备注
*/
private String remark;
/**
* 退款备注
*/
private String refundRemark;
/**
* 油罐id
*/

View File

@ -23,6 +23,18 @@
<if test="cardBalanceChange.storeId != null">
and cbc.store_id = #{cardBalanceChange.storeId}
</if>
<if test="cardBalanceChange.changeType != null">
and cbc.change_type = #{cardBalanceChange.changeType}
</if>
<if test="cardBalanceChange.orderNo != null">
and cbc.order_no = like concat('%', #{cardBalanceChange.orderNo}, '%')
</if>
<if test="cardBalanceChange.params.beginTime != null and cardBalanceChange.params.beginTime != ''"><!-- 开始时间检索 -->
and date_format(cbc.create_time,'%y%m%d') &gt;= date_format(#{cardBalanceChange.params.beginTime},'%y%m%d')
</if>
<if test="cardBalanceChange.params.endTime != null and cardBalanceChange.params.endTime != ''"><!-- 结束时间检索 -->
and date_format(cbc.create_time,'%y%m%d') &lt;= date_format(#{cardBalanceChange.params.endTime},'%y%m%d')
</if>
</where>
order by cbc.id DESC
</select>

View File

@ -12,6 +12,9 @@
<if test="order.staffId != null and order.staffId != ''">
and staff_id = #{order.staffId}
</if>
<if test="order.userId != null and order.userId != ''">
and user_id = #{order.userId}
</if>
<if test="order.payType != null and order.payType != ''">
and pay_type = #{order.payType}
</if>

View File

@ -105,6 +105,7 @@
<if test="order.storeId != null">
and store_id = #{order.storeId}
</if>
order by pay_time desc
</where>
</select>

View File

@ -9,19 +9,28 @@ import com.fuint.business.order.entity.CashierOrder;
import com.fuint.business.order.mapper.CardBalanceChangeMapper;
import com.fuint.business.order.service.CardBalanceChangeService;
import com.fuint.business.order.vo.CardBalanceChangeVo;
import com.fuint.business.storeInformation.entity.LJStore;
import com.fuint.business.storeInformation.service.ILJStoreService;
import com.fuint.common.dto.AccountInfo;
import com.fuint.common.util.TokenUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class CardBalanceChangeServiceImpl extends ServiceImpl<CardBalanceChangeMapper, CardBalanceChange> implements CardBalanceChangeService {
@Autowired
private ILJStoreService storeService;
@Override
public int insertCardBalance(CardBalanceChange cardBalanceChange) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
Integer storeId = nowAccountInfo.getStoreId();
cardBalanceChange.setStoreId(storeId);
if (cardBalanceChange.getStoreId()==null){
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
cardBalanceChange.setStoreId(nowAccountInfo.getStoreId());
}
LJStore store = storeService.selectStoreByStoreId(cardBalanceChange.getStoreId());
cardBalanceChange.setChainStoreId(store.getChainStoreId());
int row = baseMapper.insert(cardBalanceChange);
return row;
}

View File

@ -80,8 +80,12 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
@Autowired
private OilNameService oilNameService;
@Autowired
private OilNumberService oilNumberService;
@Autowired
private CardBalanceChangeService cardBalanceChangeService;
@Autowired
private OilBalanceChangeService oilBalanceChangeService;
@Autowired
private OilConfigService oilConfigService;
@Autowired
private LJGoodsService goodsService;
@ -206,11 +210,16 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 会员消费金额储值卡需要减少的金额
Double consumeAmount = Double.valueOf(map.get("consumeAmount"));
Integer userId = null;
// 根据日期生成订单信息
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String timestamp = dateFormat.format(new Date());
String randomString = UUID.randomUUID().toString().replace("-","").substring(0,6);
String orderNo = "2345"+timestamp+randomString;
if (map.get("userId") != null && !map.get("userId").equals("")){
// 会员id
userId = Integer.valueOf(map.get("userId"));
this.insertCardBalance(consumeAmount,userId,storeId);
this.insertCardBalance(consumeAmount,userId,storeId,orderNo);
}
// 优惠券id
Integer couponId = null;
@ -234,11 +243,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
payStatus = "unpaid";
}
// 根据日期生成订单信息
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String timestamp = dateFormat.format(new Date());
String randomString = UUID.randomUUID().toString().replace("-","").substring(0,6);
String orderNo = "2345"+timestamp+randomString;
Map<String,Object> orders = new HashMap<>();
@ -344,7 +348,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
}
if (userId!=null){
this.updateGrowthValue(oilActualPay, userId, Integer.valueOf(jsonObjects.get(i).get("oilName").toString()),refuelMoney,storeId);
this.updateGrowthValue(oilActualPay, userId, Integer.valueOf(jsonObjects.get(i).get("oilName").toString()),refuelMoney,storeId,orderNo);
}
order.setStoreId(storeId);
order.setUserId(userId);
@ -477,64 +481,8 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
Double cardBalance = balance.getCardBalance();
JSONArray refuelMoneys = JSONArray.parseArray(balance.getRefuelMoney());
if (cardBalance >= oilAmount) {
// 添加油品订单信息
OilOrder order = new OilOrder();
for (int i = 0;i < oilOrders.size();i++) {
Double amount = Double.valueOf(oilOrders.get(i).get("amount").toString());
Double oilPrice = Double.valueOf(oilOrders.get(i).get("oilPrice").toString());
Double oilNum = amount / oilPrice;
if (i == 0) {
order.setOrderType("主订单");
order.setOrderAmount(amount);
order.setPayAmount(0.0);
order.setOrderNo(orderNo);
} else {
order.setOrderType("子订单");
order.setOrderAmount(amount);
order.setPayAmount(0.0);
order.setOrderNo(orderNo + "1");
}
order.setStoreId(accountInfo.getStoreId());
order.setUserId(userId);
order.setCommissionAmount(Double.valueOf(map.get("commissionAmount")));
order.setStaffId(Integer.valueOf(map.get("staffId")));
order.setTerminal(map.get("terminal"));
order.setOils((String) oilOrders.get(i).get("oilName"));
order.setOilGunNum(oilOrders.get(i).get("gunName").toString());
order.setOilNum(oilNum);
// order.setDiscountAmount(Double.valueOf(map.get("oilDiscount")));
order.setPayUser(userVo1.getMobile());
order.setPayType(map.get("payType"));
order.setInvoicing("未开票");
order.setOrderStatus("paid");
order.setPayTime(new Date());
// if (cardBalance < oilAmount) {
this.addOilTrack(oilOrders.get(i), accountInfo.getStoreId());
baseMapper.insert(order);
}
OilOrder oilOrder = this.selectOilOrderByOrderNo(orderNo);
// 添加收银台订单信息
CashierOrder cashierOrder = new CashierOrder();
cashierOrder.setStaffId(Integer.valueOf(map.get("staffId")));
cashierOrder.setStoreId(accountInfo.getStoreId());
cashierOrder.setPayUser(userVo1.getMobile());
cashierOrder.setAmount(oilAmount);
cashierOrder.setPayAmount(oilAmount);
cashierOrder.setStatus("paid");
cashierOrder.setPayTime(new Date());
cashierOrder.setOrderNo(orderNo);
cashierOrder.setOilOrderAmount(oilAmount);
// cashierOrder.setOilDiscountAmount(Double.valueOf(map.get("oilDiscount")));
cashierOrder.setTerminal(map.get("terminal"));
cashierOrder.setOilOrderId(oilOrder.getId());
cashierOrderService.insertCashierOrder(cashierOrder);
this.updateGrowthValue1(oilAmount,userId, Integer.valueOf(oilOrder.getOils()),0.0,storeId);
this.insertAllOrderInfo(orderNo,accountInfo.getStoreId(),oilAmount,map.get("payType"),userId,"PC","1","paid");
res.put("success","success");
} else {
String status = "unpaid";
if (ObjectUtil.isNotEmpty(refuelMoneys)){
@ -552,16 +500,16 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
boolean flag = false;
for (int i = 0;i < oilOrders.size();i++) {
if (oilOrders.get(i).get("oilName").equals(oilName.getId().toString())){
Double amount = Double.valueOf(oilOrders.get(i).get("amount").toString());
Double oilPrice = Double.valueOf(oilOrders.get(i).get("oilPrice").toString());
if (refuelMoneyLiters>=Double.valueOf(oilOrders.get(i).get("liters").toString())) {
status = "paid";
flag = true;
Double amount = Double.valueOf(oilOrders.get(i).get("amount").toString());
Double oilPrice = Double.valueOf(oilOrders.get(i).get("oilPrice").toString());
status = "paid";
Double oilNum = amount / oilPrice;
if (i == 0) {
order.setOrderType("主订单");
order.setOrderAmount(amount);
order.setPayAmount(0.0);
order.setPayAmount(amount);
order.setOrderNo(orderNo);
} else {
order.setOrderType("子订单");
@ -588,37 +536,228 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
baseMapper.insert(order);
oilOrder = this.selectOilOrderByOrderNo(orderNo);
cashierOrder.setStaffId(Integer.valueOf(map.get("staffId")));
cashierOrder.setStoreId(accountInfo.getStoreId());
cashierOrder.setPayUser(userVo1.getMobile());
cashierOrder.setAmount(oilAmount);
cashierOrder.setPayAmount(oilAmount);
cashierOrder.setStatus(status);
cashierOrder.setPayTime(new Date());
cashierOrder.setOrderNo(orderNo);
cashierOrder.setOilOrderAmount(oilAmount);
// cashierOrder.setOilDiscountAmount(Double.valueOf(map.get("oilDiscount")));
cashierOrder.setTerminal(map.get("terminal"));
cashierOrder.setOilOrderId(oilOrder.getId());
this.updateGrowthValue1(0.0, userId, Integer.valueOf(oilOrder.getOils()), refuelMoneyLiters - Double.valueOf(oilOrders.get(i).get("liters").toString()), storeId);
this.insertAllOrderInfo(orderNo, storeId, oilAmount, map.get("payType"), userId, "PC", "1", status);
this.updateGrowthValue1(0.0, userId, Integer.valueOf(oilOrder.getOils()), refuelMoneyLiters - Double.valueOf(oilOrders.get(i).get("liters").toString()), storeId,orderNo);
this.insertOilBalance(userId,storeId,oilName.getId().toString(),oilName.getOilType(),Double.valueOf(oilOrders.get(i).get("liters").toString()),refuelMoneyLiters - Double.valueOf(oilOrders.get(i).get("liters").toString()),orderNo);
}else if (refuelMoneyLiters>0 && (Double.valueOf(oilOrders.get(i).get("liters").toString())-refuelMoneyLiters)*oilPrice<=cardBalance){
flag = true;
status = "paid";
Double oilNum = amount / oilPrice;
if (i == 0) {
order.setOrderType("主订单");
order.setOrderAmount(amount);
order.setPayAmount(amount);
order.setOrderNo(orderNo);
} else {
order.setOrderType("子订单");
order.setOrderAmount(amount);
order.setPayAmount(0.0);
order.setOrderNo(orderNo + "1");
}
order.setStoreId(accountInfo.getStoreId());
order.setUserId(userId);
order.setCommissionAmount(Double.valueOf(map.get("commissionAmount")));
order.setStaffId(Integer.valueOf(map.get("staffId")));
order.setTerminal(map.get("terminal"));
order.setOils((String) oilOrders.get(i).get("oilName"));
order.setOilGunNum(oilOrders.get(i).get("gunName").toString());
order.setOilNum(oilNum);
// order.setDiscountAmount(Double.valueOf(map.get("oilDiscount")));
order.setPayUser(userVo1.getMobile());
order.setPayType(map.get("payType"));
order.setInvoicing("未开票");
order.setOrderStatus(status);
order.setPayTime(new Date());
this.addOilTrack(oilOrders.get(i), accountInfo.getStoreId());
baseMapper.insert(order);
oilOrder = this.selectOilOrderByOrderNo(orderNo);
this.updateGrowthValue1((Double.valueOf(oilOrders.get(i).get("liters").toString())-refuelMoneyLiters)*oilPrice, userId, Integer.valueOf(oilOrder.getOils()), 0.0, storeId,orderNo);
this.insertOilBalance(userId,storeId,oilName.getId().toString(),oilName.getOilType(),refuelMoneyLiters,0.0,orderNo);
} else if (cardBalance >= oilAmount){
flag = true;
status = "paid";
Double oilNum = amount / oilPrice;
if (i == 0) {
order.setOrderType("主订单");
order.setOrderAmount(amount);
order.setPayAmount(amount);
order.setOrderNo(orderNo);
} else {
order.setOrderType("子订单");
order.setOrderAmount(amount);
order.setPayAmount(0.0);
order.setOrderNo(orderNo + "1");
}
order.setStoreId(accountInfo.getStoreId());
order.setUserId(userId);
order.setCommissionAmount(Double.valueOf(map.get("commissionAmount")));
order.setStaffId(Integer.valueOf(map.get("staffId")));
order.setTerminal(map.get("terminal"));
order.setOils((String) oilOrders.get(i).get("oilName"));
order.setOilGunNum(oilOrders.get(i).get("gunName").toString());
order.setOilNum(oilNum);
// order.setDiscountAmount(Double.valueOf(map.get("oilDiscount")));
order.setPayUser(userVo1.getMobile());
order.setPayType(map.get("payType"));
order.setInvoicing("未开票");
order.setOrderStatus("paid");
order.setPayTime(new Date());
this.addOilTrack(oilOrders.get(i), accountInfo.getStoreId());
baseMapper.insert(order);
oilOrder = this.selectOilOrderByOrderNo(orderNo);
this.updateGrowthValue1(oilAmount,userId, Integer.valueOf(oilOrder.getOils()),0.0,storeId,orderNo);
// this.insertCardBalance((Double.valueOf(oilOrders.get(i).get("liters").toString())-refuelMoneyLiters)*oilPrice,userId,storeId);
}else {
res.put("error","囤油卡或储值卡余额不足!");
}
}else {
res.put("error","囤油卡余额不足!");
}
}
if (flag){
cashierOrder.setStaffId(Integer.valueOf(map.get("staffId")));
cashierOrder.setStoreId(accountInfo.getStoreId());
cashierOrder.setPayUser(userVo1.getMobile());
cashierOrder.setAmount(oilAmount);
cashierOrder.setPayAmount(oilAmount);
cashierOrder.setStatus(status);
cashierOrder.setPayTime(new Date());
cashierOrder.setOrderNo(orderNo);
cashierOrder.setOilOrderAmount(oilAmount);
// cashierOrder.setOilDiscountAmount(Double.valueOf(map.get("oilDiscount")));
cashierOrder.setTerminal(map.get("terminal"));
cashierOrder.setOilOrderId(oilOrder.getId());
cashierOrderService.insertCashierOrder(cashierOrder);
this.insertAllOrderInfo(orderNo, storeId, oilAmount, map.get("payType"), userId, "PC", "1", status);
res.put("success","success");
}
}
}else {
res.put("error","储值卡余额不足!");
}
if (cardBalance>=oilAmount){
// 添加油品订单信息
OilOrder order = new OilOrder();
for (int i = 0;i < oilOrders.size();i++) {
Double amount = Double.valueOf(oilOrders.get(i).get("amount").toString());
Double oilPrice = Double.valueOf(oilOrders.get(i).get("oilPrice").toString());
Double oilNum = amount / oilPrice;
if (i == 0) {
order.setOrderType("主订单");
order.setOrderAmount(amount);
order.setPayAmount(amount);
order.setOrderNo(orderNo);
} else {
order.setOrderType("子订单");
order.setOrderAmount(amount);
order.setPayAmount(0.0);
order.setOrderNo(orderNo + "1");
}
order.setStoreId(accountInfo.getStoreId());
order.setUserId(userId);
order.setCommissionAmount(Double.valueOf(map.get("commissionAmount")));
order.setStaffId(Integer.valueOf(map.get("staffId")));
order.setTerminal(map.get("terminal"));
order.setOils((String) oilOrders.get(i).get("oilName"));
order.setOilGunNum(oilOrders.get(i).get("gunName").toString());
order.setOilNum(oilNum);
// order.setDiscountAmount(Double.valueOf(map.get("oilDiscount")));
order.setPayUser(userVo1.getMobile());
order.setPayType(map.get("payType"));
order.setInvoicing("未开票");
order.setOrderStatus("paid");
order.setPayTime(new Date());
}
this.addOilTrack(oilOrders.get(i), accountInfo.getStoreId());
baseMapper.insert(order);
}
OilOrder oilOrder = this.selectOilOrderByOrderNo(orderNo);
// 添加收银台订单信息
CashierOrder cashierOrder = new CashierOrder();
cashierOrder.setStaffId(Integer.valueOf(map.get("staffId")));
cashierOrder.setStoreId(accountInfo.getStoreId());
cashierOrder.setPayUser(userVo1.getMobile());
cashierOrder.setAmount(oilAmount);
cashierOrder.setPayAmount(oilAmount);
cashierOrder.setStatus("paid");
cashierOrder.setPayTime(new Date());
cashierOrder.setOrderNo(orderNo);
cashierOrder.setOilOrderAmount(oilAmount);
// cashierOrder.setOilDiscountAmount(Double.valueOf(map.get("oilDiscount")));
cashierOrder.setTerminal(map.get("terminal"));
cashierOrder.setOilOrderId(oilOrder.getId());
cashierOrderService.insertCashierOrder(cashierOrder);
this.updateGrowthValue1(oilAmount,userId, Integer.valueOf(oilOrder.getOils()),0.0,storeId,orderNo);
this.insertAllOrderInfo(orderNo,accountInfo.getStoreId(),oilAmount,map.get("payType"),userId,"PC","1","paid");
// this.insertCardBalance(oilAmount,userId,storeId);
res.put("success","success");
}else {
res.put("error","储值卡余额不足!");
}
}
// } else {
//// 添加油品订单信息
// OilOrder order = new OilOrder();
// for (int i = 0;i < oilOrders.size();i++) {
// Double amount = Double.valueOf(oilOrders.get(i).get("amount").toString());
// Double oilPrice = Double.valueOf(oilOrders.get(i).get("oilPrice").toString());
// Double oilNum = amount / oilPrice;
// if (i == 0) {
// order.setOrderType("主订单");
// order.setOrderAmount(amount);
// order.setPayAmount(0.0);
// order.setOrderNo(orderNo);
// } else {
// order.setOrderType("子订单");
// order.setOrderAmount(amount);
// order.setPayAmount(0.0);
// order.setOrderNo(orderNo + "1");
// }
// order.setStoreId(accountInfo.getStoreId());
// order.setUserId(userId);
// order.setCommissionAmount(Double.valueOf(map.get("commissionAmount")));
// order.setStaffId(Integer.valueOf(map.get("staffId")));
// order.setTerminal(map.get("terminal"));
// order.setOils((String) oilOrders.get(i).get("oilName"));
// order.setOilGunNum(oilOrders.get(i).get("gunName").toString());
// order.setOilNum(oilNum);
//// order.setDiscountAmount(Double.valueOf(map.get("oilDiscount")));
// order.setPayUser(userVo1.getMobile());
// order.setPayType(map.get("payType"));
// order.setInvoicing("未开票");
// order.setOrderStatus("paid");
// order.setPayTime(new Date());
//
// this.addOilTrack(oilOrders.get(i), accountInfo.getStoreId());
// baseMapper.insert(order);
// }
// OilOrder oilOrder = this.selectOilOrderByOrderNo(orderNo);
//
//// 添加收银台订单信息
// CashierOrder cashierOrder = new CashierOrder();
// cashierOrder.setStaffId(Integer.valueOf(map.get("staffId")));
// cashierOrder.setStoreId(accountInfo.getStoreId());
// cashierOrder.setPayUser(userVo1.getMobile());
// cashierOrder.setAmount(oilAmount);
// cashierOrder.setPayAmount(oilAmount);
// cashierOrder.setStatus("paid");
// cashierOrder.setPayTime(new Date());
// cashierOrder.setOrderNo(orderNo);
// cashierOrder.setOilOrderAmount(oilAmount);
//// cashierOrder.setOilDiscountAmount(Double.valueOf(map.get("oilDiscount")));
// cashierOrder.setTerminal(map.get("terminal"));
// cashierOrder.setOilOrderId(oilOrder.getId());
// cashierOrderService.insertCashierOrder(cashierOrder);
// this.updateGrowthValue1(oilAmount,userId, Integer.valueOf(oilOrder.getOils()),0.0,storeId);
// this.insertAllOrderInfo(orderNo,accountInfo.getStoreId(),oilAmount,map.get("payType"),userId,"PC","1","paid");
//
// res.put("success","success");
// }
return res;
}
@ -640,6 +779,10 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
allOrderInfo.setUserId(userId);
allOrderInfo.setPayChannel(payChannel);
allOrderInfo.setStatus(status);
if (status.equals("paid")){
allOrderInfo.setPayMoney(goodsMoney);
allOrderInfo.setPayTime(new Date());
}
if (type.equals("1")){
allOrderInfo.setContent("油品订单");
}else {
@ -658,10 +801,9 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
* @param oilId 油号id
* @param refuelMoney 扣除的囤油卡升数
*/
private void updateGrowthValue1(Double oilActualPay,Integer userid,Integer oilId,Double refuelMoney,Integer storeId){
private void updateGrowthValue1(Double oilActualPay,Integer userid,Integer oilId,Double refuelMoney,Integer storeId,String orderNo){
UserBalance balance = userBalanceService.selectUserBalanceByStorId(userid,storeId);
JSONArray refuelMoneys = JSONArray.parseArray(balance.getRefuelMoney());
if (oilActualPay==0.0){
if (ObjectUtil.isNotEmpty(refuelMoneys)){
List<RefuelMoney> list = new ArrayList<>();
for (Object money : refuelMoneys) {
@ -679,10 +821,9 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
}
balance.setRefuelMoney(JSONObject.toJSONString(list));
}
}else {
balance.setCardBalance(balance.getCardBalance()-oilActualPay);
}
// balance.setCardBalance(balance.getCardBalance()-oilActualPay);
userBalanceService.updateUserBalance(balance);
this.insertCardBalance(oilActualPay,userid,storeId,orderNo);
}
@Override
@ -721,9 +862,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
return orderNo;
}
@Autowired
private OilNumberService oilNumberService;
@Override
public Map<String, Object> appletPay(Map<String, String> map) {
String orderNo = map.get("orderNo");
@ -813,7 +951,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 判断是否使用储值卡消费
if (!balanceAmount.equals("0")){
this.insertCardBalance(Double.valueOf(balanceAmount),userId,oilOrder.getStoreId());
this.insertCardBalance(Double.valueOf(balanceAmount),userId,oilOrder.getStoreId(),orderNo);
}
// 判断是否需要调起支付
@ -843,7 +981,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
e.printStackTrace();
}
}else {
this.updateGrowthValue(payAmount,userId, Integer.valueOf(oilOrder.getOils()),oilCardAmount,oilOrder.getStoreId());
this.updateGrowthValue(payAmount,userId, Integer.valueOf(oilOrder.getOils()),oilCardAmount,oilOrder.getStoreId(),orderNo);
this.addOilTracks(oilOrder,oilOrder.getStoreId());
this.insertCardOrder(oilOrder.getUserId(),oilOrder.getStoreId(),orderNo,oilOrder.getOrderAmount(),"paid", Double.valueOf(balanceAmount),payAmount);
oilOrder.setPayAmount(payAmount);
@ -914,7 +1052,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
CardValudChildrens cardValudChildrens = cardValudChildrensService.selectCardValueChildrenByMobileAndStoreId(user.getMobile(), oilOrder.getStoreId());
userId = cardValudChildrens.getUserId();
}
this.updateGrowthValue(oilOrder.getPayAmount(),userId, Integer.valueOf(oilOrder.getOils()),null,oilOrder.getStoreId());
this.updateGrowthValue(oilOrder.getPayAmount(),userId, Integer.valueOf(oilOrder.getOils()),null,oilOrder.getStoreId(),orderNo);
this.addOilTracks(oilOrder,oilOrder.getStoreId());
CashierOrder cashierOrder = cashierOrderService.selectCashierOrder(orderNo);
if (ObjectUtil.isNotEmpty(cashierOrder)){
@ -1011,10 +1149,10 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
* @param oilActualPay 实付金额
* @param userid 用户id
* @param oilId 油号
* @param refuelMoney 加油金信息
* @param refuelMoney 消费后的加油金信息
* @param storeId 店铺id
*/
private void updateGrowthValue(Double oilActualPay,Integer userid,Integer oilId,String refuelMoney,Integer storeId){
private void updateGrowthValue(Double oilActualPay,Integer userid,Integer oilId,String refuelMoney,Integer storeId,String orderNo){
if (oilId!=null){
OilName oilName = oilNameService.selectOilNameById(oilId);
// 获取成长值增长数值
@ -1027,15 +1165,23 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
if (refuelMoney==null){
String refuelMoney1 = balance.getRefuelMoney();
if (StringUtils.isNotEmpty(refuelMoney1)){
JSONArray objects = JSONArray.parseArray(refuelMoney1);
JSONArray objects = JSONArray.parseArray(refuelMoney);
JSONArray objects1 = JSONArray.parseArray(refuelMoney1);
List<RefuelMoney> list = new ArrayList<>();
for (Object object : objects) {
if (((JSONObject)object).get("oilType").toString().equals(oilId)){
for (int i = 0;i<objects.size();i++){
if (((JSONObject)objects.get(i)).get("oilType").toString().equals(oilId)){
RefuelMoney refuelMoney2 = new RefuelMoney();
refuelMoney2.setType(((JSONObject) object).get("type").toString());
refuelMoney2.setOilType(((JSONObject) object).get("oilType").toString());
refuelMoney2.setRefuelMoney("0");
refuelMoney2.setType(((JSONObject) objects.get(i)).get("type").toString());
refuelMoney2.setOilType(((JSONObject) objects.get(i)).get("oilType").toString());
refuelMoney2.setRefuelMoney(((JSONObject) objects.get(i)).get("refuelMoney").toString());
list.add(refuelMoney2);
Double oilBalance = 0.0;
Double afterOilBalance = 0.0;
if (!refuelMoney1.equals(refuelMoney)){
oilBalance = Double.valueOf(((JSONObject) objects1.get(i)).get("refuelMoney").toString()) - Double.valueOf(((JSONObject) objects.get(i)).get("refuelMoney").toString());
afterOilBalance = Double.valueOf(((JSONObject) objects.get(i)).get("refuelMoney").toString());
this.insertOilBalance(userid,storeId,oilName.getId().toString(),oilName.getOilType(),oilBalance,afterOilBalance,orderNo);
}
}
}
balance.setRefuelMoney(JSONObject.toJSONString(list));
@ -1101,8 +1247,8 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
* @param userId
* @param storeId
*/
private void insertCardBalance(Double amount,Integer userId,Integer storeId){
// AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
private void insertCardBalance(Double amount,Integer userId,Integer storeId,String orderNo){
CardBalanceChange cardBalanceChange = new CardBalanceChange();
// 根据用户id查询用户余额信息
LJStore store = storeService.selectStoreByStoreId(storeId);
UserBalance balance = userBalanceService.selectUserBalance(userId,store.getChainStoreId());
@ -1110,6 +1256,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 修改余额信息
Double beforeBalance = balance.getCardBalance();
Double afterBalance = beforeBalance - amount;
cardBalanceChange.setAfterTheChange(afterBalance);
balance.setCardBalance(afterBalance);
// 修改加油次数
Integer consumeNum = balance.getConsumeNum();
@ -1118,15 +1265,43 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
}
// 添加余额记录信息
CardBalanceChange cardBalanceChange = new CardBalanceChange();
cardBalanceChange.setUserId(userId);
cardBalanceChange.setChangeType("0");
cardBalanceChange.setFromType("油品订单消费");
cardBalanceChange.setBalance(amount);
cardBalanceChange.setOrderNo(orderNo);
cardBalanceChangeService.insertCardBalance(cardBalanceChange);
}
/**
* 添加囤油卡消费记录
* @param userId
* @param storeId
* @param oilType
* @param type
* @param oilBalance
* @param afterOilBalance
* @param orderNo
*/
private void insertOilBalance(Integer userId,Integer storeId,String oilType,String type,Double oilBalance,Double afterOilBalance,String orderNo){
LJStore store = storeService.selectStoreByStoreId(storeId);
OilBalanceChange oilBalanceChange = new OilBalanceChange();
oilBalanceChange.setUserId(userId);
oilBalanceChange.setStoreId(storeId);
oilBalanceChange.setChainStoreId(store.getChainStoreId());
oilBalanceChange.setChangeType("0");
oilBalanceChange.setOilType(oilType);
oilBalanceChange.setType(type);
oilBalanceChange.setFromType("油品订单消费");
oilBalanceChange.setOrderNo(orderNo);
oilBalanceChange.setOilBalance(oilBalance);
oilBalanceChange.setAfterOilChange(afterOilBalance);
if (oilBalance!=0.0){
oilBalanceChangeService.save(oilBalanceChange);
}
}
@Resource
OilOrderMapper oilOrderMapper;
@Resource

View File

@ -62,7 +62,7 @@ public class LJStoreServiceImpl extends ServiceImpl<LJStoreMapper, LJStore> impl
// 经度
Double lon = Double.valueOf(map.get("lon"));
Double lat = Double.valueOf(map.get("lat"));
Integer storeId = Integer.valueOf(map.get("storeId"));
String storeId = map.get("storeId");
LJStore ljStore = new LJStore();
Double distance = 0.0;
double earthRadius = 6371; // 地球半径单位为公里
@ -104,7 +104,7 @@ public class LJStoreServiceImpl extends ServiceImpl<LJStoreMapper, LJStore> impl
}
distance = min;
}else {
LJStore store = this.selectStoreByStoreId(storeId);
LJStore store = this.selectStoreByStoreId(Integer.valueOf(storeId));
double dLat = Math.toRadians(Double.parseDouble(store.getLatitude()) - lat);
double dLon = Math.toRadians(Double.parseDouble(store.getLongitude()) - lon);

View File

@ -0,0 +1,35 @@
import request from '@/utils/request'
// 查询优惠券信息列表
export function listCardBalanceRecord(query) {
return request({
url: '/business/CardBalanceChange/getStoreOrdersList',
method: 'get',
params: query
})
}
// 查询优惠券信息列表
export function listCardOilRecord(query) {
return request({
url: '/business/oilBalanceChange',
method: 'get',
params: query
})
}
// 查询优惠券信息列表
export function cardBalanceCount() {
return request({
url: '/business/CardBalanceChange/getBalanceStoreCount',
method: 'get',
})
}
// 查询优惠券信息列表
export function cardOilCount() {
return request({
url: '/business/oilBalanceChange/getOilStoreCount',
method: 'get',
})
}

View File

@ -196,13 +196,13 @@
<div class="wrap-box" v-for="item in payList"
:key="item.dictValue"
:value="item.dictValue"
:class="{ 'wrap-box2': item.dictValue == typeIdex }"
:class="{ 'wrap-box2': item.dictValue == payType }"
@click="payMethod(item.dictValue)">
<span>{{ item.dictLabel }}</span>
</div>
<div class="wrap-box" value="credit"
:class="{ 'wrap-box2': '798' == typeIdex }" >
<span @click="addCredits('798')">挂账</span>
:class="{ 'wrap-box2': 'credit' == payType }" >
<span @click="addCredits('credit')">挂账</span>
</div>
</div>
<div class="center-left-bottom">
@ -925,6 +925,7 @@
couponIds:[],
// 使id
useCouponIds:"",
payType:"WECHAT",
map:{
allAmount:0,
//
@ -1083,6 +1084,7 @@
addCredits(type){
this.typeIdex = type
this.map.payType = "credit"
this.payType = "credit"
this.dialogVisibleCredit = true
this.form1.amount = this.oilAmount + this.goodsAmount
},
@ -2565,16 +2567,16 @@
this.loading = true;
setTimeout(function (){
_this.loading = false;
_this.isPaySuccess = true;
_this.isPay = true;
_this.isPaySuccess = true;
_this.resetting1();
},3000)
}else {
this.loading = true;
setTimeout(function (){
_this.loading = false;
_this.isPaySuccess = false;
_this.isPay = true;
_this.isPaySuccess = false;
_this.resetting1();
this.$modal.msgError(resp.data.error)
},3000)
@ -2634,7 +2636,7 @@
let _this = this;
this.authCode = "";
if (_this.isPaySuccess == true){
_this.isPay = false;
// _this.isPay = false;
_this.oilAmount = 0;
_this.oilActualPay = 0;
_this.oilDiscount = 0;
@ -2736,7 +2738,49 @@
},500)
},
handClose(){
this.resetting1()
// this.resetting1()
this.authCode = "";
this.userNo = ""
this.map = {
allAmount:0,
//
authCode:'',
//
oilOrder:"",
//
goodsOrder:"",
//
payType:"WECHAT",
//
oilAmount:0,
//
goodsAmount:0,
//
oilActualPay:0,
//
goodsActualPay:0,
//
payUser:"",
//
oilDiscount:0,
//
goodsDiscount:0,
// id
couponId:"",
//
commissionAmount:0,
// 使
usePoint:0,
//
pointAmount:0,
//
terminal:"PC",
//
goodsNum:0,
//
consumeAmount:0,
typeIdex:'',
};
this.member = {};
this.isPaySuccess = false;
this.isPay = false;

View File

@ -16,7 +16,7 @@
</el-select>
</el-form-item>
<el-form-item label="订单号">
<el-input v-model="queryParams.orderNo" clearable placeholder="订单号、官方单号检索"></el-input>
<el-input v-model="queryParams.orderNo" clearable placeholder="订单号检索"></el-input>
</el-form-item>
<el-form-item label="交易时间">
<el-date-picker
@ -232,7 +232,7 @@
width="25%"
:visible.sync="dialogRefund">
<div style="text-align: center;font-weight: bold">
<span style="font-size: 35px">{{ cashierOrder.amount }}</span>
<span style="font-size: 35px">{{ cashierOrder.payAmount }}</span>
</div>
<div class="tk">退款金额</div>
<div class="tk">退款单号{{ cashierOrder.orderNo }}</div>
@ -245,7 +245,7 @@
</el-radio-group>
</div>
<div>
<el-input placeholder="请输入密码" v-model="password" show-password></el-input>
<el-input placeholder="请输入退款原因" v-model="refundRemark" show-password></el-input>
<br/>
<span style="color: grey;font-size: 12px">退款仅支持全额退款,退款金额将按照支付信息原路退回优惠券储值卡等原路退回处理</span>
</div>
@ -270,8 +270,8 @@ import {refundApi} from "@/api/cashier/refund";
name: "order_Cashier",
data(){
return{
// 退
password:"",
// 退
refundRemark:"",
radio1:"油号选错",
//
oilNameList:[],

View File

@ -180,6 +180,34 @@
</el-pagination>
</div>
<!-- 订单退款-->
<el-dialog
title="订单退款"
width="25%"
:visible.sync="dialogRefund">
<div style="text-align: center;font-weight: bold">
<span style="font-size: 35px">{{ goods.payAmount }}</span>
</div>
<div class="tk">退款金额</div>
<div class="tk">退款单号{{ goods.orderNo }}</div>
<div style="margin: 10px 0">
退款原因<br/>
<el-radio-group v-model="radio1" style="margin: 10px 0">
<el-radio-button label="油号选错"></el-radio-button>
<el-radio-button label="金额错误"></el-radio-button>
<el-radio-button label="其他原因"></el-radio-button>
</el-radio-group>
</div>
<div>
<el-input placeholder="请输入退款原因" v-model="refundRemark" show-password></el-input>
<br/>
<span style="color: grey;font-size: 12px">退款仅支持全额退款,退款金额将按照支付信息原路退回优惠券储值卡等原路退回处理</span>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogRefund = false"> </el-button>
<el-button type="primary" @click="refundConfirmed()"> </el-button>
</span>
</el-dialog>
<!-- 商品购买详情 -->
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
@ -236,6 +264,10 @@ export default {
},
//
payList:[],
dialogRefund: false,
radio1:"油号选错",
goods:{},
refundRemark:"",
orderStatistics: {
numberOfProducts:'0',

View File

@ -245,7 +245,7 @@
</el-radio-group>
</div>
<div>
<el-input placeholder="请输入密码" v-model="password" show-password></el-input>
<el-input placeholder="请输入退款原因" v-model="refundRemark" show-password></el-input>
<br/>
<span style="color: grey;font-size: 12px">退款仅支持全额退款,退款金额将按照支付信息原路退回优惠券储值卡等原路退回处理</span>
</div>
@ -274,7 +274,7 @@
userName:"",
oilOrder:{},
// 退
password:"",
refundRemark:"",
radio1:"油号选错",
dialogRefund:false,
//

View File

@ -2,32 +2,77 @@
<div>
<el-card class="box-card">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="储值卡记录" name="first"></el-tab-pane>
<el-tab-pane label="升数卡记录" name="second"></el-tab-pane>
<el-tab-pane label="储值卡记录" name="balanceCard"></el-tab-pane>
<el-tab-pane label="升数卡记录" name="ascendCard"></el-tab-pane>
</el-tabs>
<div style="display: flex;">
<div class="top-app-sou">
<el-form :label-position="labelPosition" label-width="40px" :model="formLabelAlign">
<el-form-item label="名称">
<el-input v-model="formLabelAlign.name" placeholder="请输入要搜索的内容"></el-input>
<!-- <div class="top-app-sou">-->
<el-form size="small" :inline="true" label-width="100px" :model="queryParams">
<el-form-item label="充值变化类型" prop="changeType">
<el-select
v-model="queryParams.changeType"
clearable
placeholder="全部"
>
<el-option label="充值" :value="1"></el-option>
<el-option label="消费" :value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item label="订单号">
<el-input v-model="queryParams.orderNo" clearable placeholder="订单号检索"></el-input>
</el-form-item>
<el-form-item label="交易时间">
<el-date-picker
v-model="dateRange"
style="width: 240px"
size="medium"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
</el-form-item>
</el-form>
</div>
<div style="margin-left: 10px">
<el-button type="primary" icon="el-icon-search">搜索</el-button>
</div>
<!-- </div>-->
<!-- <div style="margin-left: 10px">-->
<!-- <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>-->
<!-- </div>-->
</div>
</el-card>
<!-- 储值卡-->
<div v-if="activeName == 'first' ">
<div v-if="activeName == 'balanceCard' ">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>储值卡统计</span>
</div>
<div class="box-gang">
<div class="box" v-for="(item,index) in 7" :key="index">
<div class="size-hui">会员总数</div>
<div class="size-bole">55</div>
<!-- <div class="box" v-for="(item,index) in 7" :key="index">-->
<!-- <div class="size-hui">会员总数</div>-->
<!-- <div class="size-bole">55</div>-->
<!-- </div>-->
<div class="box">
<div class="size-hui">余额汇总</div>
<div class="size-bole">{{ totalBalance.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">充值笔数</div>
<div class="size-bole">{{ inCount }}</div>
</div>
<div class="box">
<div class="size-hui">充值总额</div>
<div class="size-bole">{{ totalRecharge.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">消费笔数</div>
<div class="size-bole">{{ outCount }}</div>
</div>
<div class="box">
<div class="size-hui">消费总额</div>
<div class="size-bole">{{ totalConsumption.toFixed(2) }}</div>
</div>
</div>
</el-card>
@ -36,105 +81,48 @@
<div>列表</div>
<div style="display: flex ">
<el-button type="primary" size="mini" icon="el-icon-plus">新增会员</el-button>
<!-- <el-button type="primary" size="mini" icon="el-icon-plus">新增会员</el-button>-->
</div>
</div>
<div class="table-box">
<el-table
:data="tableData"
:data="cardBalanceList"
style="width: 100%">
<el-table-column type="expand">
<template slot-scope="props">
<el-form label-position="left" inline class="demo-table-expand">
<el-form-item label="名称">
<span>{{ props.row.name }}</span>
</el-form-item>
</el-form>
</template>
</el-table-column>
<el-table-column
prop="date"
label="用户信息"
width="150">
</el-table-column>
<el-table-column label="余额">
<el-table-column
prop="name"
label="储值卡"
width="120">
</el-table-column>
<el-table-column
prop="name"
label="升值卡"
width="120">
</el-table-column>
</el-table-column>
<el-table-column label="会员等级">
<el-table-column
prop="province"
label="汽油"
width="120">
</el-table-column>
<el-table-column
prop="city"
label="柴油"
width="120">
</el-table-column>
<el-table-column
prop="city"
label="天然气"
width="120">
</el-table-column>
</el-table-column>
<el-table-column label="统计">
<el-table-column
prop="province"
label="加油金"
width="120">
</el-table-column>
<el-table-column
prop="city"
label="积分"
width="120">
</el-table-column>
<el-table-column
prop="city"
label="消费次数"
width="120">
</el-table-column>
</el-table-column>
<el-table-column
prop="zip"
label="实体卡号"
width="220">
</el-table-column>
<el-table-column
prop="zip"
label="状态"
width="120">
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column prop="storeId" label="所属油站" align="center">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
>更多操作</el-button>
<span>{{store.name}}</span>
</template>
</el-table-column>
<el-table-column prop="userId" label="用户信息" align="center">
<template slot-scope="scope">
<span>{{ scope.row.userId ? queryUser(userList,scope.row.userId):"--" }}</span>
</template>
</el-table-column>
<el-table-column prop="orderNo" label="订单号" width="220" align="center"> </el-table-column>
<el-table-column prop="changeType" label="类型" align="center">
<template slot-scope="scope">
<span v-if="scope.row.changeType=='1'"><el-tag type="success">充值</el-tag></span>
<span v-if="scope.row.changeType=='0'"><el-tag type="danger">消费</el-tag></span>
</template>
</el-table-column>
<el-table-column label="详细信息">
<el-table-column prop="balance" label="变动金额" align="center"> </el-table-column>
<el-table-column prop="afterTheChange" label="变动后余额" align="center" > </el-table-column>
</el-table-column>
<el-table-column prop="fromType" label="消费来源" align="center" > </el-table-column>
<el-table-column prop="createTime" label="变动时间" align="center" > </el-table-column>
</el-table>
</div>
<div class="pagination-box">
<el-pagination
background
v-show="total>0"
layout="prev, pager, next"
:total="1000">
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@current-change="getCardBalanceList">
</el-pagination>
</div>
@ -142,15 +130,31 @@
</el-card>
</div>
<!-- 升数卡-->
<div v-if="activeName == 'second' ">
<div v-if="activeName == 'ascendCard' ">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>升数卡统计</span>
</div>
<div class="box-gang">
<div class="box" v-for="(item,index) in 7" :key="index">
<div class="size-hui">会员总数</div>
<div class="size-bole">55</div>
<!-- <div class="box" v-for="(item,index) in 7" :key="index">-->
<!-- <div class="size-hui">会员总数</div>-->
<!-- <div class="size-bole">55</div>-->
<!-- </div>-->
<div class="box">
<div class="size-hui">充值笔数</div>
<div class="size-bole">{{ inCount1 }}</div>
</div>
<div class="box">
<div class="size-hui">充值总额</div>
<div class="size-bole">{{ totalRecharge1.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">消费笔数</div>
<div class="size-bole">{{ outCount1 }}</div>
</div>
<div class="box">
<div class="size-hui">消费总额</div>
<div class="size-bole">{{ totalConsumption1.toFixed(2) }}</div>
</div>
</div>
</el-card>
@ -159,109 +163,56 @@
<div>列表</div>
<div style="display: flex ">
<el-button type="primary" size="mini" icon="el-icon-plus">新增会员</el-button>
<!-- <el-button type="primary" size="mini" icon="el-icon-plus">新增会员</el-button>-->
</div>
</div>
<div class="table-box">
<el-table
:data="tableData"
:data="cardOilList"
style="width: 100%">
<el-table-column type="expand">
<template slot-scope="props">
<el-form label-position="left" inline class="demo-table-expand">
<el-form-item label="名称">
<span>{{ props.row.name }}</span>
</el-form-item>
</el-form>
</template>
</el-table-column>
<el-table-column
prop="date"
label="用户信息"
width="150">
</el-table-column>
<el-table-column label="余额">
<el-table-column
prop="name"
label="储值卡"
width="120">
</el-table-column>
<el-table-column
prop="name"
label="升值卡"
width="120">
</el-table-column>
</el-table-column>
<el-table-column label="会员等级">
<el-table-column
prop="province"
label="汽油"
width="120">
</el-table-column>
<el-table-column
prop="city"
label="柴油"
width="120">
</el-table-column>
<el-table-column
prop="city"
label="天然气"
width="120">
</el-table-column>
</el-table-column>
<el-table-column label="统计">
<el-table-column
prop="province"
label="加油金"
width="120">
</el-table-column>
<el-table-column
prop="city"
label="积分"
width="120">
</el-table-column>
<el-table-column
prop="city"
label="消费次数"
width="120">
</el-table-column>
</el-table-column>
<el-table-column
prop="zip"
label="实体卡号"
width="220">
</el-table-column>
<el-table-column
prop="zip"
label="状态"
width="120">
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column prop="storeId" label="所属油站" align="center">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
>更多操作</el-button>
<span>{{store.name}}</span>
</template>
</el-table-column>
<el-table-column prop="userId" label="用户信息" align="center">
<template slot-scope="scope">
<span>{{ scope.row.userId ? queryUser(userList,scope.row.userId):"--" }}</span>
</template>
</el-table-column>
<el-table-column prop="oilType" label="油品类型" align="center">
<template slot-scope="scope">
<span>{{scope.row.type}}{{ getOilName(oilNameList,scope.row.oilType) }}</span>
</template>
</el-table-column>
<el-table-column prop="changeType" label="类型" align="center">
<template slot-scope="scope">
<span v-if="scope.row.changeType=='1'"><el-tag type="success">充值</el-tag></span>
<span v-if="scope.row.changeType=='0'"><el-tag type="danger">消费</el-tag></span>
</template>
</el-table-column>
<el-table-column label="详细信息">
<el-table-column prop="oilBalance" label="变动金额" align="center"> </el-table-column>
<el-table-column prop="afterOilChange" label="变动后余额" align="center" > </el-table-column>
</el-table-column>
<el-table-column prop="orderNo" label="订单号" width="230" align="center"> </el-table-column>
<el-table-column prop="fromType" label="消费来源" width="230" align="center" > </el-table-column>
<el-table-column prop="createTime" label="变动时间" align="center" > </el-table-column>
</el-table>
</div>
<div class="pagination-box">
<el-pagination
background
v-show="total1>0"
layout="prev, pager, next"
:total="1000">
:total="total1"
:page.sync="queryParams1.page"
:limit.sync="queryParams1.pageSize"
@current-change="getCardOilList">
</el-pagination>
</div>
</el-card>
</div>
@ -270,72 +221,219 @@
</template>
<script>
import {
cardBalanceCount,
cardOilCount,
listCardBalanceRecord,
listCardOilRecord
} from "@/api/cashier/balancecardrecord";
import {ljStoreInfo} from "@/api/cashier/user/store";
import {queryUsers} from "@/api/cashier/user/user";
import {oilNumbers} from "@/api/cashier/oilnumber";
export default {
name: "balanceList",
data(){
return{
activeName: 'first',
activeName: 'balanceCard',
labelPosition: 'right',
formLabelAlign: {
name: '',
},
store:{},
tableData: [{
date: '2016-05-03',
name: '王小狼',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-02',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-04',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-01',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-08',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-06',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-07',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}]
queryParams:{
page:1,
pageSize:10,
},
cardBalanceList:[],
total:0,
inCount:0,
outCount:0,
totalBalance:0,
totalConsumption:0,
totalRecharge:0,
queryParams1:{
page:1,
pageSize:10,
},
cardOilList:[],
total1:0,
inCount1:0,
outCount1:0,
totalConsumption1:0,
totalRecharge1:0,
dateRange:[],
//
userList:[],
oilNameList:[],
// tableData: [{
// date: '2016-05-03',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-02',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-04',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-01',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-08',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-06',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-07',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }]
}
},
created() {
this.getCardBalanceList();
// this.getCardBalanceCount();
// this.getCardOilList();
// this.getCardOilCount();
this.getStoreInfo();
this.getUserList();
this.getOilNameList();
},
methods: {
//
handleQuery() {
this.queryParams.page = 1;
if (this.activeName == 'ascendCard'){
this.getCardOilList();
}
if (this.activeName == 'balanceCard'){
this.getCardBalanceList();
}
},
getOilName(list,id){
let name = ""
list.forEach(item => {
if (item.oilName = id){
name = item.oilNames;
}
})
return name;
},
getOilNameList(){
oilNumbers().then(response => {
this.oilNameList = response.data;
})
},
getUserList(){
queryUsers().then(res => {
this.userList = res.data
})
},
queryUser(list,id){
let name = ""
list.forEach(item => {
if (item.id == id){
name = item.name + " | " + item.mobile
}
})
return name;
},
//
getStoreInfo(){
ljStoreInfo().then(res => {
this.store = res.data
})
},
getCardBalanceList(val){
if (val!=undefined){
this.queryParams.page = val
}
console.log(this.queryParams)
listCardBalanceRecord(this.addDateRange(this.queryParams, this.dateRange)).then(res => {
this.cardBalanceList = res.data.records
this.total = res.data.total
})
this.getCardBalanceCount(val)
},
getCardBalanceCount(val){
if (val!=undefined){
this.queryParams.page = val
}
cardBalanceCount(this.addDateRange(this.queryParams, this.dateRange)).then(res => {
this.inCount = res.data.inCount
this.outCount = res.data.outCount
this.totalBalance = res.data.totalBalance
this.totalRecharge = res.data.totalRecharge
this.totalConsumption = res.data.totalConsumption
})
},
getCardOilList(val){
if (val!=undefined){
this.queryParams.page = val
}
listCardOilRecord(this.addDateRange(this.queryParams, this.dateRange)).then(res => {
this.cardOilList = res.data.records
this.total1 = res.data.total
})
this.getCardOilCount(val)
},
getCardOilCount(val){
if (val!=undefined){
this.queryParams.page = val
}
cardOilCount(this.addDateRange(this.queryParams, this.dateRange)).then(res => {
this.inCount1 = res.data.inCount
this.outCount1 = res.data.outCount
this.totalConsumption1 = res.data.totalConsumption
this.totalRecharge1 = res.data.totalRecharge
// console.log(res)
})
},
handleClick(tab, event) {
console.log(tab, event);
// console.log(tab, event);
this.queryParams = {
page: 1,
pageSize: 10,
}
if (this.activeName == 'ascendCard'){
this.getCardOilList();
}
if (this.activeName == 'balanceCard'){
this.getCardBalanceList();
}
}
}
}

View File

@ -19,7 +19,11 @@
</el-table-column>
<el-table-column align="center" prop="fullDeduction" label="满减金额"/>
<el-table-column align="center" prop="discountAmount" label="券面额"/>
<el-table-column align="center" prop="oilType" label="适用油品"/>
<el-table-column align="center" prop="oilType" label="适用油品">
<template slot-scope="scope">
<span>{{ getOilNames(oilNameList,scope.row.oilType) }}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="status" label="状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.status == 0">未使用</el-tag>
@ -52,6 +56,7 @@
<script>
import { getCardFavorableList } from "@/api/cashier/userInfoOrder";
import {oilNumbers} from "@/api/cashier/oilnumber";
export default {
props:["pUserId"],
@ -66,7 +71,8 @@ export default {
status: 0,
page:1,
pageSize:10,
}
},
oilNameList:[]
}
},
created() {
@ -74,9 +80,35 @@ export default {
this.userId = this.$route.query.id;
this.getList()
this.getOilName()
},
methods:{
getOilNames(list,oilIds){
let name = "";
let oilNames = []
let oilId = oilIds.split(",")
list.forEach(item => {
oilId.forEach(i => {
if (item.oilName == i){
oilNames.push(item.oilNames)
}
})
})
let arr = []
for (let i = 0;i<oilNames.length;i++){
if (arr.indexOf(oilNames[i])==-1){
arr.push(oilNames[i])
name += oilNames[i]+","
}
}
return name;
},
getOilName(){
oilNumbers().then(res => {
console.log(res)
this.oilNameList = res.data
})
},
getList(){
this.loading = true

View File

@ -1,7 +1,11 @@
<template>
<div>
<el-table ref="tables" v-loading="loading" :data="list">
<el-table-column label="所属油站" prop="storeName" align="center"/>
<el-table-column label="所属油站" prop="storeName" align="center">
<template slot-scope="scope">
<span>{{store.name}}</span>
</template>
</el-table-column>
<el-table-column label="订单时间" prop="createTime" align="center"/>
<el-table-column label="订单金额" align="center" prop="amount"/>
<el-table-column label="商品数量" align="center" prop="goodsNum" />
@ -31,6 +35,8 @@
<script>
import { getMtOrderList } from "@/api/cashier/userInfoOrder.js";
import {ljStoreInfo} from "@/api/cashier/user/store";
import {listOrder} from "@/api/cashier/goodsorder";
export default {
props:["pUserId"],
@ -43,7 +49,8 @@ export default {
queryParams:{
page:1,
pageSize:10,
}
},
store:{},
}
},
created() {
@ -51,12 +58,19 @@ export default {
this.userId = this.$route.query.id;
this.getList()
this.getStoreInfo()
},
methods:{
//
getStoreInfo(){
ljStoreInfo().then(res => {
this.store = res.data
})
},
getList(){
this.loading = true
this.queryParams.userId = this.userId
getMtOrderList(this.queryParams).then(res=>{
listOrder(this.queryParams).then(res=>{
if (res.code == 200) {
this.list = res.data.records
this.total = res.data.total

View File

@ -12,7 +12,7 @@
</el-table-column>
<el-table-column label="油品/油枪" align="center" prop="name" >
<template slot-scope="scope">
{{ scope.row.oilGunNum }}/{{ scope.row.oilName }}
{{ scope.row.oilName }}/{{ getName1(oilGunList,scope.row.oilGunNum) }}
</template>
</el-table-column>
@ -21,11 +21,11 @@
<el-table-column label="实付金额" align="center" prop="payAmount"/>
<el-table-column label="付款类型" align="center" prop="payType">
<template slot-scope="scope">
<span v-if="scope.row.payType == 'CASH'">现金支付</span>
<span v-else-if="scope.row.payType == 'WECHAT'">微信支付</span>
<span v-else-if="scope.row.payType == 'ALIPAY'">支付宝支付</span>
<span v-else>{{ scope.row.payType }}</span>
<!-- <span v-if="scope.row.payType == 'CASH'">现金支付</span>-->
<!-- <span v-else-if="scope.row.payType == 'WECHAT'">微信支付</span>-->
<!-- <span v-else-if="scope.row.payType == 'ALIPAY'">支付宝支付</span>-->
<!-- <span v-else>{{ scope.row.payType }}</span>-->
<span>{{getName(payTypeList,scope.row.payType)}}</span>
</template>
</el-table-column>
<el-table-column label="订单号" align="center" prop="orderNo" width="220px"/>
@ -43,6 +43,8 @@
<script>
import { getOilOrderList } from "@/api/cashier/userInfoOrder.js";
import {getOilNumberGun} from "@/api/cashier/oilGuns";
import {getDicts} from "@/api/dict/data";
export default {
props:["pUserId"],
@ -55,7 +57,10 @@ export default {
queryParams:{
page:1,
pageSize:10,
}
},
//
oilGunList:[],
payTypeList:[],
}
},
created() {
@ -63,8 +68,50 @@ export default {
this.userId = this.$route.query.id;
this.getList()
this.getOilGunList();
this.getPayType();
},
methods:{
getName(list,id){
let name = ""
list.forEach(item => {
if (item.dictValue = id){
name = item.dictLabel
}
})
return name
},
getPayType(){
getDicts("payment_type").then(res => {
this.payTypeList = res.data
console.log(res)
})
},
//
getOilGunList(){
getOilNumberGun().then(res => {
res.data.forEach(item => {
if (item.oilGunList.length>0){
item.oilGunList.forEach(i => {
i.oilName = item.oilName
this.oilGunList.push(i)
})
}
})
})
},
//
getName1(oilNameList,id){
let name = ""
if(oilNameList!=null && oilNameList!=""){
oilNameList.forEach(item => {
if (item.id == id){
name = item.gunName;
}
})
}
return name;
},
getList(){
this.loading = true
this.queryParams.userId = this.userId

View File

@ -81,8 +81,11 @@
<view class="station">
<view class="station-box">
<view class="station-title">
<view class="station-title" style="display: flex;justify-content: space-between;">
{{store.name}}{{store.description ? "("+store.description+")" : ""}}
<view class="" @click="goChooseAddress" style="width: 22%;font-size: 14px;font-weight: 400;">
<view>切换位置 <uni-icons type="right" color="#304fff" size="16"></uni-icons> </view>
</view>
</view><!--顺通石化加油站(工业南路站)-->
<view style="display: flex;">
<view class="bule-icon" v-if="welfare.length!=0" v-for="(item,index) in welfare" :key="index">
@ -388,16 +391,19 @@
// 使wgs84 使gcj02
type: 'gcj02', // 使
success: function(res) {
_this.longitude = res.longitude;
_this.latitude = res.latitude
// console.log(': ' + res.longitude);
// console.log(': ' + res.latitude);
if (_this.longitude=="" && _this.latitude =="") {
_this.longitude = res.longitude;
_this.latitude = res.latitude
}
console.log('经度: ' + _this.longitude);
console.log('纬度: ' + _this.latitude);
request({
url: 'business/storeInformation/store/recentlyStore',
method: 'post',
data: {
"lon": res.longitude,
"lat": res.latitude,
"lon": _this.longitude,
"lat": _this.latitude,
"storeId":storeId
},
}).then((response) => {
@ -446,7 +452,7 @@
}).then((res) => {
if (res.code == 200) {
this.oilTypeList = res.data.records
console.log("aaabbb", this.oilTypeList)
// console.log("aaabbb", this.oilTypeList)
if (this.oilTypeList.length > 0) {
this.oilInfo.oilName = this.oilTypeList[0].oilName,
this.oilInfo.oilPrice = this.oilTypeList[0].oilPrice,
@ -502,6 +508,22 @@
url: '/pages/refuel/refuel'
})
},
goChooseAddress() {
uni.chooseLocation({
success: ({
name,
address,
latitude,
longitude
}) => { //
// this.addressName = address;
console.log(name,address,latitude,longitude);
this.longitude = longitude;
this.latitude = latitude;
this.getAddress()
},
});
},
goMall() {
uni.navigateTo({
url: '/pagesHome/PointsMall/PointsMall'

View File

@ -112,6 +112,7 @@
value:"储值卡扣款",
barCode:"",
isLook:false,
timer:{},
}
},
onLoad() {
@ -137,7 +138,7 @@
//
countdown(){
let _this = this
setInterval(() => {
_this.timer = setInterval(() => {
// countdown1
_this.timestamp--;
// 0
@ -192,6 +193,7 @@
},
goback() {
clearInterval(this.timer)
uni.navigateBack()
}
}