Merge remote-tracking branch 'origin/main'

This commit is contained in:
DESKTOP-369JRHT\12997 2024-10-10 16:52:05 +08:00
commit cd74779966
8 changed files with 355 additions and 620 deletions

View File

@ -48,5 +48,11 @@ public interface FyPayService {
*/
public Map<String, String> queryOrderPos(ReceiveParameterPos receiveParameterPos,String insCd,String mchntCd) throws Exception;
/**
* 主扫
* @param receiveParameterPos
* @return
* @throws Exception
*/
Map<String, String> mainScan(ReceiveParameterPos receiveParameterPos) throws Exception;
}

View File

@ -61,13 +61,9 @@ public class FyPayServiceImpl implements FyPayService {
@Resource
private IntegralSettingsService integralSettingsService;
@Resource
private UserBalanceService userBalanceService;
@Resource
private CardValueOrdersService cardValueOrdersService;
@Resource
private CardFuleOrdersService fuleOrdersService;
/**
* 条码支付
@ -97,7 +93,6 @@ public class FyPayServiceImpl implements FyPayService {
map.put("mchnt_cd", mchntCd);
map.put("goods_des", goodsDes);
// 请求报文
String reqBody = Message.requestMsg(map);
// 响应报文
@ -189,8 +184,11 @@ public class FyPayServiceImpl implements FyPayService {
Map<String, String> reqMap = Utils.xmlStr2Map(rspXml);
String str = reqMap.get("sign");
if (Utils.verifySign(reqMap, str)) {
//油品订单
OilOrder oilOrder = oilOrderService.selectOilOrderByOrderNo(orderNo);
//商品订单
LJOrder goodsOrder = goodsOrderService.selectGoodsOrder(orderNo);
//收银台订单
CashierOrder cashierOrder = cashierOrderService.selectCashierOrder(orderNo);
String transactionType = null;
String oilGunId = null;
@ -208,6 +206,7 @@ public class FyPayServiceImpl implements FyPayService {
if ("IOS".equals(type)) {
transactionType = "3";
}
//查询商户配置
MerchantConfig merchantConfig = merchantConfigService.selectMeChByIdIsUse(storeId1, transactionType, oilGunId);
List<ReturnRecord> returnRecords = returnRecordService.selectReturnRecordByOrderNo(orderNo);
Date date = new Date();
@ -218,18 +217,12 @@ public class FyPayServiceImpl implements FyPayService {
// 油品订单
oilOrder.setOrderStatus("paid");
oilOrder.setPayTime(date);
oilOrderService.updateCardAndActiveById(oilOrder.getStoreId(), oilOrder.getUserId(), oilOrder.getActiveId(), oilOrder.getCouponId(), oilOrder.getActiveType(), oilOrder.getOrderAmount(), oilOrder.getPayAmount(), Integer.valueOf(oilOrder.getOils()));
oilOrderService.updateCardAndActiveById(oilOrder.getStoreId(), oilOrder.getUserId(), oilOrder.getId());
oilOrderService.insertFavorable(oilOrder, Double.valueOf(map1.get("oilCardAmount")));
if (ObjectUtil.isNotEmpty(oilOrder.getStaffId()))
staffCommissionService.countStaffCommission(oilOrder.getStaffId(), oilOrder.getStoreId(), oilOrder.getOrderAmount(), oilOrder.getPayAmount(), "1", orderNo);
// 修改油罐容量
List<JSONObject> jsonObjects = JSONArray.parseArray(map1.get("oilOrder"), JSONObject.class);
if (jsonObjects.size() <= 1) {
Integer tankId = Integer.valueOf(jsonObjects.get(0).get("tankId").toString());
oilOrder.setTankId(tankId);
oilOrderService.addOilTracks(oilOrder, oilOrder.getStoreId());
}
if (ObjectUtil.isNotEmpty(oilOrder.getUserId())) integralSettingsService.refuelPoints(oilOrder);
//修改优惠券使用状态
@ -287,13 +280,13 @@ public class FyPayServiceImpl implements FyPayService {
if (ObjectUtil.isNotEmpty(goodsOrder) && ObjectUtil.isNotEmpty(goodsOrder.getUserId())) {
receiveParameter.setUserId(goodsOrder.getUserId());
}
}
if ("CFR".equals(type)) {
//囤油卡订单
payStates = "paid";
}
if ("IOS".equals(type)) { // 积分商城
if ("IOS".equals(type)) {
// 积分商城
payStates = "paid";
}
// 修改商户账号余额信息
@ -320,7 +313,6 @@ public class FyPayServiceImpl implements FyPayService {
returnRecord.setPayStatus("payFail");
returnRecordService.updateReturnRecord(returnRecord);
}
receiveParameter.setType("7");
receiveParameter.setContent("挂账订单");
}
@ -330,7 +322,6 @@ public class FyPayServiceImpl implements FyPayService {
}
if ("CFR".equals(type)) {
payStates = "payFail";
}
if ("IOS".equals(type)) {
payStates = "payFail";
@ -378,7 +369,6 @@ public class FyPayServiceImpl implements FyPayService {
//储值卡
Integer id = Integer.parseInt(map1.get("orderId"));
cardValueRecordService.editPayStatus(id, payStates);
//cardValueOrdersService.updateBalance(orderNo,payStatus);
CardValueRecord byId = cardValueRecordService.getById(id);
receiveParameter.setType("3");
if (byId.getMtUserId() != null) {
@ -461,7 +451,6 @@ public class FyPayServiceImpl implements FyPayService {
res.put("msg", "暂未配置商户信息");
return res;
}
// MerchantConfig merchantConfig = merchantConfigService.selectMeChByIdIsUse(16);
// 查询用户信息
LJUserVo userVo = userService.selectUserById(receiveParameter.getUserId(), receiveParameter.getStoreId());
@ -502,7 +491,6 @@ public class FyPayServiceImpl implements FyPayService {
}
if (ObjectUtil.isNotEmpty(merchantConfig)) {
// 添加配置记录信息
MerchantConfigRecord merchantConfigRecord = new MerchantConfigRecord();
merchantConfigRecord.setMerchantId(merchantConfig.getId());
@ -782,7 +770,7 @@ public class FyPayServiceImpl implements FyPayService {
// 油品订单
oilOrder.setOrderStatus("paid");
oilOrder.setPayTime(new Date());
oilOrderService.updateCardAndActiveById(oilOrder.getStoreId(), oilOrder.getUserId(), oilOrder.getActiveId(), oilOrder.getCouponId(), oilOrder.getActiveType(), oilOrder.getOrderAmount(), oilOrder.getPayAmount(), Integer.valueOf(oilOrder.getOils()));
oilOrderService.updateCardAndActiveById(oilOrder.getStoreId(), oilOrder.getUserId(), oilOrder.getId());
oilOrderService.insertFavorable(oilOrder, receiveParameterPos.getOilCardAmount());
if (ObjectUtil.isNotEmpty(oilOrder.getStaffId()))
staffCommissionService.countStaffCommission(oilOrder.getStaffId(), oilOrder.getStoreId(), oilOrder.getOrderAmount(), oilOrder.getPayAmount(), "1", receiveParameterPos.getOrderNo());

View File

@ -21,7 +21,7 @@ import java.util.List;
* @since 2023-11-07 15:04:17
*/
@Data
@TableName("mt_order")
@TableName("lj_order")
@ApiModel(value = "LJOrder对象", description = "商品订单表")
public class LJOrder extends BaseEntity implements Serializable {
@ -101,6 +101,10 @@ public class LJOrder extends BaseEntity implements Serializable {
* 操作员工
*/
private Integer staffId;
/**
* 优惠券 用户 id
*/
private Integer couponUserId;
@TableField(exist = false)
private String goodsName;

View File

@ -15,7 +15,7 @@ import java.io.Serializable;
* 订单商品表(OrderGoods)实体类
*/
@Data
@TableName("mt_order_goods")
@TableName("lj_order_goods")
@ApiModel(value = "OrderGoods对象", description = "订单商品表")
public class OrderGoods extends BaseEntity implements Serializable {

View File

@ -98,13 +98,8 @@ public interface OilOrderService extends IService<OilOrder> {
* 消费有礼调用接口
* @param storeId 店铺id
* @param userId 用户id
* @param activeId 活动id
* @param cardFavorableId 优惠券id
* @param type 活动类型
* @param orderAmount 订单金额
* @param oilId 油品id
*/
void updateCardAndActiveById(Integer storeId,Integer userId,Integer activeId,Integer cardFavorableId,String type,Double orderAmount,Double payAmount,Integer oilId) throws Exception;
void updateCardAndActiveById(Integer storeId,Integer userId,Integer orderId);
/**
* 扫描小程序中二维码所处理的逻辑
@ -154,7 +149,7 @@ public interface OilOrderService extends IService<OilOrder> {
public void addOilTracks(OilOrder oilOrder,Integer storeId);
/**
* 添加油品订单信息
* 修改油品订单信息
* @param order
* @return
*/

View File

@ -217,7 +217,10 @@ public class LJOrderServiceImpl extends ServiceImpl<LJOrderMapper, LJOrder> impl
return row;
}
// 添加优惠记录
/**
* 添加优惠记录
* @param order
*/
@Override
public void insertFavorable(LJOrder order) {
FavorableRecords favorableRecords = new FavorableRecords();

View File

@ -79,6 +79,7 @@ import com.fuint.business.userManager.vo.LJUserVo;
import com.fuint.common.dto.AccountInfo;
import com.fuint.common.util.StringUtils;
import com.fuint.common.util.TokenUtil;
import com.fuint.pay.service.PayCenterService;
import com.fuint.system.config.service.SysConfigService;
import com.fuint.system.dept.mapper.SysDeptMapper;
import lombok.extern.slf4j.Slf4j;
@ -123,24 +124,16 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
@Autowired
private OilBalanceChangeService oilBalanceChangeService;
@Autowired
private OilConfigService oilConfigService;
@Autowired
private LJGoodsService goodsService;
@Autowired
private StaffCommissionService staffCommissionService;
@Autowired
private CommissionRecordService commissionRecordService;
@Autowired
private GrowthValueChangeService growthValueChangeService;
@Autowired
private ChainStoreConfigService chainStoreConfigService;
@Autowired
private SaleDetailService saleDetailService;
@Autowired
private CardFavorableRecordService cardFavorableRecordService;
@Resource
private CardFavorableService cardFavorableService;
@Resource
private ActiveFullminusService activeFullminusService;
@Resource
private ActiveDiscountService activeDiscountService;
@ -160,6 +153,48 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
private SysDeptMapper sysDeptMapper;
@Resource
private MtStoreMapper mtStoreMapper;
@Autowired
private ILJStoreService storeService;
@Autowired
private LJUserService userService;
@Resource
OilGunMapper oilGunMapper;
@Resource
OilNameMapper oilNameMapper;
@Resource
OilTankMapper oilTankMapper;
@Autowired
private CardValudChildrensService cardValudChildrensService;
@Autowired
@Lazy
private AllOrderInfoService allOrderInfoService;
@Autowired
CardValueChildOrderService cardValueChildOrderService;
@Autowired
private OilTankService oilTankService;
@Autowired
private OilTrackingService oilTrackingService;
@Resource
private TagUtils tagUtils;
@Resource
private OilTagService oilTagService;
@Resource
private PrinterService printerService;
@Resource
OilOrderMapper oilOrderMapper;
@Resource
LJOrderMapper ljOrderMapper;
@Resource
CardValueRecordMapper cardValueRecordMapper;
@Resource
CardFuelRecordMapper cardFuelRecordMapper;
@Resource
LJStaffMapper ljStaffMapper;
@Resource
OilNumberMapper oilNumberMapper;
@Autowired
private PayCenterService payCenterService;
@Override
public IPage<OilOrder> selectOilOrderList(Page page, OilOrder order) {
@ -170,13 +205,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
return oilOrderIPage;
}
@Resource
OilGunMapper oilGunMapper;
@Resource
OilNameMapper oilNameMapper;
@Resource
OilTankMapper oilTankMapper;
@Override
public IPage<OilOrder> selectOilOrderListByZtDz(Page page, OilOrder order) {
if (ObjectUtil.isEmpty(order.getDeptId())) {
@ -228,21 +256,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
if (ObjectUtil.isNotEmpty(mtStore)) {
record.setStoreName(mtStore.getName());
}
// if (ObjectUtil.isNotEmpty(record.getOilGunNum())) {
// OilGun oilGun = oilGunMapper.queryById(Integer.valueOf(record.getOilGunNum()));
// if (ObjectUtil.isNotEmpty(oilGun)){
// record.setGunName(oilGun.getGunName());
// }
// }
//
// OilName oilName = oilNameMapper.selectOilNameById(Integer.valueOf(record.getOils()));
// if (ObjectUtil.isNotEmpty(oilName)) {
// record.setOilName(oilName.getOilName());
// }
// OilTank oilTank = oilTankMapper.queryById(record.getTankId());
// if (ObjectUtil.isNotEmpty(oilTank)) {
// record.setTankName(oilTank.getTankName());
// }
}
return oilOrderIPage;
}
@ -268,15 +281,11 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
order.setStoreId(storeId);
List<OilOrderExcel> cashierOrderExcels = baseMapper.selectOilOrderListExcel(order);
// 设置文件名字
// String fileName = "订单"+System.currentTimeMillis() + ".xlsx";
// 设置响应头信息
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment;filename=demo.xlsx");
try {
// 写入文件数据
EasyExcel.write(response.getOutputStream(), OilOrderExcel.class).sheet("download").doWrite(cashierOrderExcels);
@ -335,7 +344,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
List<ActiveDiscountChild> activeDiscountChildList = oneById.getActiveDiscountChildList();
for (ActiveDiscountChild activeDiscountChild : activeDiscountChildList) {
if (activeDiscountChild.getAmount() <= oilOrderVo.getOrderAmount()) {
// oilOrderVo.setDeductionAmount(activeDiscountChild.getDeductionAmount());
deductionAmount += activeDiscountChild.getDeductionAmount();
break;
}
@ -347,7 +355,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
List<ActiveDiscountChild> activeDiscountChildList = oneById.getActiveDiscountChildList();
for (ActiveDiscountChild activeDiscountChild : activeDiscountChildList) {
if (activeDiscountChild.getAmount() <= oilOrderVo.getOrderAmount()) {
// oilOrderVo.setDeductionAmount(oilOrderVo.getOrderAmount() - (oilOrderVo.getOrderAmount()*activeDiscountChild.getDiscount()));
deductionAmount += oilOrderVo.getOrderAmount() - (oilOrderVo.getOrderAmount() * activeDiscountChild.getDiscount());
break;
}
@ -356,7 +363,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
}
// 优惠券
if (ObjectUtil.isNotEmpty(oilOrderVo.getCouponId())) {
//CardFavorableVO cardFavorableVO = cardFavorableService.selectOneById(oilOrderVo.getCouponId());
LambdaQueryWrapper<CardFavorableRecord> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CardFavorableRecord::getCardFavorableId, oilOrderVo.getCouponId());
queryWrapper.eq(CardFavorableRecord::getMtUserId, oilOrderVo.getUserId());
@ -387,11 +393,9 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
String oilOrder = map.get("oilOrder");
// 商品订单信息
String goodsOrder = map.get("goodsOrder");
// 囤油卡变化之后的信息
String refuelMoney = map.get("refuelMoney");
// 储值卡消费金额
// 储值卡消费金额 没有默认传0
String balanceAmount = map.get("balanceAmount");
// 囤油卡消费升数
// 囤油卡消费升数 没有默认传0
String oilCardAmount = map.get("oilCardAmount");
// 支付类型
String payType = map.get("payType");
@ -407,19 +411,15 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
Double seekZero = Double.valueOf(map.get("seekZero"));
// 油枪id
String oilGunId = map.get("oilGunId");
Double levelAmount = Double.valueOf(map.get("levelAmount"));
// 活动营销优惠金额
Double activeAmount = Double.valueOf(map.get("activeAmount"));
Double oilCardAmount1 = Double.valueOf(map.get("oilCardAmount1"));
// 优惠券 用户 id
Integer couponUserId = null;
if (StringUtils.isNotEmpty(map.get("couponUserId"))) {
couponUserId = Integer.valueOf(map.get("couponUserId"));
}
Integer recordId = null;
if (StringUtils.isNotEmpty(map.get("recordId"))) {
recordId = Integer.valueOf(map.get("recordId"));
}
// 优惠券类型
String couponType = map.get("couponType");
// 付款用户
String payUser = null;
if (ObjectUtil.isNotEmpty(map.get("payUser")) && !map.get("payUser").equals("[]")) {
@ -449,26 +449,19 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 会员id
userId = Integer.valueOf(map.get("userId"));
isMember = true;
this.insertCardBalance(consumeAmount, userId, storeId, orderNo);
}
// 优惠券id
Integer couponId = null;
if (map.get("couponId") != null && !map.get("couponId").equals("")) {
couponId = Integer.valueOf(map.get("couponId"));
}
// 提成金额
Double commissionAmount = Double.valueOf(map.get("commissionAmount"));
// 使用积分数量
Integer usePoint = Integer.valueOf(map.get("usePoint"));
// 积分金额
Double pointAmount = Double.valueOf(map.get("pointAmount"));
// 终端
String terminal = map.get("terminal");
// 商品id列表
String goodsIds = map.get("goodsIds");
// 支付状态
String payStatus = "unpaid";
if (payType.equals("CASH") || payType.equals("credit") || map.get("allAmount").equals("0")) {
if (payType.equals("CASH") || payType.equals("after_pay") || map.get("allAmount").equals("0")) {
payStatus = "paid";
} else {
payStatus = "unpaid";
@ -476,9 +469,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
Map<String, Object> orders = new HashMap<>();
OilOrder oilOrder1 = null;
LJOrder ljOrder1 = null;
String transactionType = null;
if (oilAmount > 0 && goodsAmount > 0) {
transactionType = "5";
@ -491,7 +481,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 根据店铺id查询商户配置信息
MerchantConfig merchantConfig = merchantConfigService.selectMeChByIdIsUse(storeId, transactionType, oilGunId);
if (ObjectUtil.isEmpty(merchantConfig) && !payType.equals("CASH") && !payType.equals("credit") &&
if (ObjectUtil.isEmpty(merchantConfig) && !payType.equals("CASH") && !payType.equals("after_pay") &&
!map.get("allAmount").equals("0")) {
orders.put("error", "请先配置支付通道");
return orders;
@ -514,7 +504,9 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
ljOrder.setDiscount(goodsDiscount);
ljOrder.setStaffId(staffId);
ljOrder.setStatus(payStatus);
if (couponType.equals("5")) ljOrder.setCouponUserId(couponUserId);
if (payType.equals("CASH")) {
// 计算提成
if (ObjectUtil.isNotEmpty(staffId))
staffCommissionService.countStaffCommission(staffId, storeId, goodsAmount, goodsActualPay, "2", orderNo);
ljOrder.setPayTime(new Date());
@ -530,37 +522,28 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
return orders;
}
}
// 添加商品订单
orderService.insertGoodOrder(ljOrder);
//查询商品订单号
LJOrder ljOrder2 = orderService.selectGoodsOrder(orderNo);
if (payType.equals("CASH") || payType.equals("credit")) {
// 添加商品订单记录表
if (payType.equals("CASH") || payType.equals("after_pay")) {
// 添加商品订单记录表子表
OrderGoods orderGoods = new OrderGoods();
for (JSONObject good : goods) {
orderGoods.setOrderId(ljOrder2.getId());
orderGoods.setOrderId(ljOrder.getId());
orderGoods.setGoodsId(Integer.valueOf(good.get("id").toString()));
orderGoods.setNum(Integer.valueOf(good.get("num").toString()));
orderGoodsService.insertOrderGoods(orderGoods, storeId, isMember);
}
}
ljOrder1 = orderService.selectGoodsOrder(orderNo);
}
Double oilLiters = 0.0;
// 添加油品订单信息
if (!oilOrder.equals("[]")) {
// 将油品订单的json数据转换为数组
List<JSONObject> jsonObjects = JSONArray.parseArray(oilOrder, JSONObject.class);
if (ObjectUtil.isNotEmpty(oilOrder)) {
JSONObject jsonObject = JSONObject.parseObject(oilOrder);
OilOrder order = new OilOrder();
for (int i = 0; i < jsonObjects.size(); i++) {
Double amount = Double.valueOf(jsonObjects.get(i).get("amount").toString());
Double oilPrice = Double.valueOf(jsonObjects.get(i).get("oilPrice").toString());
Double amount = oilAmount;
Double oilPrice = Double.valueOf(jsonObject.get("oilPrice").toString());
Double oilNum = amount / oilPrice;
oilLiters += oilNum;
if (i == 0) {
order.setOrderType("主订单");
order.setOrderAmount(amount);
order.setPayAmount(oilActualPay);
@ -571,47 +554,35 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
if (payType.equals("CASH") && ObjectUtil.isNotEmpty(staffId)) {
staffCommissionService.countStaffCommission(staffId, storeId, oilAmount, oilActualPay, "1", orderNo);
}
order.setCouponId(recordId);
order.setActiveAmount(activeAmount);
order.setLevelAmount(levelAmount);
} else {
order.setOrderType("子订单");
order.setOrderAmount(amount);
order.setPayAmount(0.0);
order.setOrderNo(orderNo + "1");
order.setDiscountAmount(0.0);
order.setBalanceAmount(0.0);
order.setOilCardAmount(0.0);
order.setCouponId(null);
}
if (ObjectUtil.isNotEmpty(userId)) {
this.updateGrowthValue(oilAmount, oilActualPay, userId, Integer.valueOf(jsonObjects.get(i).get("oilName").toString()), refuelMoney, storeId, orderNo);
}
order.setStoreId(storeId);
order.setUserId(userId);
order.setCouponId(couponId);
order.setCommissionAmount(commissionAmount);
order.setStaffId(staffId);
order.setTerminal(terminal);
order.setOils((String) jsonObjects.get(i).get("oilName"));
order.setOilGunNum(jsonObjects.get(i).get("gunName").toString());
order.setOils((String) jsonObject.get("oils"));
order.setOilGunNum(jsonObject.get("oilGunNum").toString());
order.setOilNum(oilNum);
order.setPayUser(payUser);
order.setPayType(payType);
order.setInvoicing("未开票");
order.setOrderStatus(payStatus);
order.setTankId(Integer.valueOf(jsonObjects.get(0).get("tankId").toString()));
if (ObjectUtil.isNotEmpty(jsonObjects.get(i).get("activeId"))) {
order.setActiveId(Integer.valueOf(jsonObjects.get(i).get("activeId").toString()));
order.setTankId(Integer.valueOf(jsonObject.get("tankId").toString()));
if (!couponType.equals("5")) order.setCouponId(couponUserId);
if (ObjectUtil.isNotEmpty(jsonObject.get("activeId"))) {
order.setActiveId(Integer.valueOf(jsonObject.get("activeId").toString()));
}
if (ObjectUtil.isNotEmpty(jsonObjects.get(i).get("type"))) {
order.setActiveType(jsonObjects.get(i).get("type").toString());
if (ObjectUtil.isNotEmpty(jsonObject.get("activeType"))) {
order.setActiveType(jsonObject.get("activeType").toString());
}
if (payType.equals("CASH") || payType.equals("credit") || payType.equals("balance")) {
if (payType.equals("CASH") || payType.equals("after_pay") || payType.equals("card_value")) {
order.setPayTime(new Date());
this.addOilTrack(jsonObjects.get(i), storeId);
this.updateCardAndActiveById(storeId, userId, order.getActiveId(), order.getCouponId(), order.getActiveType(), order.getOrderAmount(), order.getPayAmount(), Integer.valueOf(order.getOils()));
order.setOrderStatus("paid");
this.insertCardBalance(consumeAmount, userId, storeId, orderNo);
this.addOilTrack(jsonObject, storeId);
if (ObjectUtil.isNotEmpty(userId)) {
this.updateGrowthValue(oilAmount, oilActualPay, userId, Integer.valueOf(jsonObject.get("oils").toString()), storeId, orderNo);
}
}
if (map.get("allAmount").equals("0")) {
order.setPayTime(new Date());
@ -619,7 +590,8 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
}
baseMapper.insert(order);
oilOrder1 = this.selectOilOrderByOrderNo(orderNo);
if (order.getOrderStatus().equals("paid")){
this.updateCardAndActiveById(storeId, userId, order.getId());
}
}
@ -632,7 +604,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
cashierOrder.setStatus(payStatus);
cashierOrder.setOilPayAmount(oilActualPay);
cashierOrder.setGoodsPayAmount(goodsActualPay);
if (payType.equals("CASH") || payType.equals("credit")) {
if (payType.equals("CASH") || payType.equals("after_pay")) {
if (StringUtils.isNotEmpty(map.get("authCode"))) {
cashierOrder.setPayAmount(Double.valueOf(map.get("authCode")));
} else {
@ -654,13 +626,8 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
cashierOrder.setAfterDiscountAmount(oilAmount + goodsAmount - oilDiscount - goodsDiscount);
// 如果金额不等于0调用第三方支付接口
if (!map.get("allAmount").equals("0") && !map.get("payType").equals("CASH") && !payType.equals("credit")) {
if (!map.get("allAmount").equals("0") && !map.get("payType").equals("CASH") && !payType.equals("after_pay")) {
Integer allAmount = (int) (Double.valueOf(map.get("allAmount")) * 100);
// 判断是否开启支付规则
// List<MerchantConfig> list = merchantConfigService.selectMeChByIsOpen(storeId);
// if (list.size() > 0) {
// oilConfigService.oilRule(storeId);
// }
// 处理支付需要的数据
Map<String, String> map1 = new HashMap<>();
@ -675,16 +642,15 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
map1.put("privateKey", merchantConfig.getPrivateKey());
map1.put("goodsOrder", map.get("goodsOrder"));
map1.put("oilOrder", map.get("oilOrder"));
map1.put("tankId", map.get("oilOrder"));
map1.put("tankId", map.get("tankId"));
map1.put("storeId", storeId.toString());
map1.put("oilCardAmount", oilCardAmount1.toString());
map1.put("oilCardAmount", oilCardAmount.toString());
// 调用支付接口
try {
fyPayService.pay(map1);
} catch (Exception e) {
e.printStackTrace();
// throw new RuntimeException("支付失败");
}
} else {
this.insertAllOrderInfo(orderNo, storeId, oilAmount + goodsAmount, Double.valueOf(map.get("allAmount")), oilDiscount, payType, userId, "PC", "6", "paid");
@ -697,7 +663,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
if (oilOrder2.getOrderStatus().equals("paid")) {
cashierOrder.setPayTime(new Date());
if (ObjectUtil.isNotEmpty(oilOrder2.getUserId())) integralSettingsService.refuelPoints(oilOrder2);
insertFavorable(oilOrder2, oilCardAmount1);
insertFavorable(oilOrder2, Double.valueOf(oilCardAmount));
}
cashierOrder.setOilOrderId(oilOrder2.getId());
}
@ -737,20 +703,13 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
}
// 调用消费有礼接口
public void updateCardAndActiveById(Integer storeId, Integer userId, Integer activeId, Integer cardFavorableId, String type, Double orderAmount, Double payAmount, Integer oilId) throws Exception {
public void updateCardAndActiveById(Integer storeId, Integer userId, Integer orderId) {
if (ObjectUtil.isNotEmpty(userId)) {
LJUserVo userVo = userService.queryUserById(userId, storeId);
PaymentActiveVO paymentActiveVO = new PaymentActiveVO();
paymentActiveVO.setUserId(userId);
paymentActiveVO.setMtUserLevel(userVo.getGradeId());
paymentActiveVO.setStoreId(storeId);
paymentActiveVO.setActiveId(activeId);
paymentActiveVO.setCardFavorableId(cardFavorableId);
paymentActiveVO.setType(type);
paymentActiveVO.setOrderAmount(orderAmount);
paymentActiveVO.setPayAmount(BigDecimal.valueOf(payAmount));
paymentActiveVO.setOilId(oilId);
cardFavorableRecordService.updateCardAndActiveById(paymentActiveVO);
Map<String, String> map = new HashMap<>();
map.put("userId",userId.toString());
map.put("storeId",storeId.toString());
map.put("orderId",orderId.toString());
payCenterService.cashRegisterSpendWisely(map);
}
}
@ -773,7 +732,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 获取用户id
Integer userId = Integer.valueOf(split[1]);
res = this.updateUserBalanceAndInsetOrder1(userId, map, oilAmount, oilOrders, nowAccountInfo.getStoreId());
// res = this.updateUserBalanceAndInsetOrder(userId, map, oilAmount, oilOrders, nowAccountInfo.getStoreId());
}
// 条码支付
if (authCode.contains("19") && authCode.matches("\\d+")) {
@ -781,7 +739,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 获取用户id
Integer userId = Integer.valueOf(split[1]);
res = this.updateUserBalanceAndInsetOrder1(userId, map, oilAmount, oilOrders, nowAccountInfo.getStoreId());
// res = this.updateUserBalanceAndInsetOrder(userId, map, oilAmount, oilOrders, nowAccountInfo.getStoreId());
}
}
return res;
@ -811,8 +768,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
return res;
}
@Autowired
private LJUserService userService;
/**
* 修改用户储值卡信息并添加订单信息
@ -884,7 +839,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
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("未开票");
@ -1086,7 +1040,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
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("未开票");
@ -1115,7 +1068,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
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());
cashierOrder.setSeekZero(0.0);
@ -1125,7 +1077,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
this.insertAllOrderInfo(orderNo, accountInfo.getStoreId(), oilAmount, oilAmount, 0.0, map.get("payType"), userId, "PC", "1", "paid");
if (ObjectUtil.isNotEmpty(map.get("staffId")))
staffCommissionService.countStaffCommission(Integer.valueOf(map.get("staffId")), storeId, oilAmount, oilAmount, "1", orderNo);
// this.insertCardBalance(oilAmount,userId,storeId);
res.put("success", "success");
} else {
res.put("error", "储值卡余额不足!");
@ -1158,7 +1109,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
AccountInfo accountInfo = TokenUtil.getNowAccountInfo();
Double cardBalance = balance.getCardBalance();
JSONArray refuelMoneys = JSONArray.parseArray(balance.getRefuelMoney());
CardFuelRecord cardFuelRecord = new CardFuelRecord();
cardFuelRecord.setMtUserId(userId);
@ -1216,7 +1166,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
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("未开票");
@ -1291,7 +1240,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
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("未开票");
@ -1320,7 +1268,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
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());
cashierOrder.setSeekZero(0.0);
@ -1330,7 +1277,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
this.insertAllOrderInfo(orderNo, accountInfo.getStoreId(), oilAmount, oilAmount, 0.0, map.get("payType"), userId, "PC", "1", "paid");
if (ObjectUtil.isNotEmpty(map.get("staffId")))
staffCommissionService.countStaffCommission(Integer.valueOf(map.get("staffId")), storeId, oilAmount, oilAmount, "1", orderNo);
// this.insertCardBalance(oilAmount,userId,storeId);
res.put("success", "success");
} else {
res.put("error", "储值卡余额不足!");
@ -1387,8 +1333,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
}
}
// if (cardBalance < oilAmount) {
String status = "unpaid";
if (lockupAmount > 0.0) {
@ -1428,7 +1372,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
this.updateGrowthValue1(oilAmount, oilAmount, userId, Integer.valueOf(oilOrder.getOils()), 0.0, storeId, orderNo);
this.insertAllOrderInfo(orderNo, accountInfo.getStoreId(), oilAmount, oilAmount, 0.0, oilOrders.getPayType(), userId, "POS", "1", "paid");
staffCommissionService.countStaffCommission(accountInfo.getStaffId(), storeId, oilAmount, oilAmount, "1", orderNo);
// this.insertCardBalance(oilAmount,userId,storeId);
res.put("success", "success");
} else {
oilOrders.setOrderStatus("payFail");
@ -1441,9 +1384,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
return res;
}
@Autowired
@Lazy
private AllOrderInfoService allOrderInfoService;
/**
* 添加所有订单信息
@ -1485,90 +1425,21 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
*/
private void updateGrowthValue1(Double oilAmount, Double oilActualPay, Integer userid, Integer oilId, Double refuelMoney, Integer storeId, String orderNo) {
OilName oilName = oilNameService.selectOilNameById(oilId);
// 获取成长值增长数值
Integer gasGrowthValue = null;
Integer dieselGrowthValue = null;
Integer naturalGrowthValue = null;
Integer addGrowthVal = null;
Integer growthAfter = null;
LJStore store = storeService.selectStoreByStoreId(storeId);
UserBalance balance = userBalanceService.selectUserBalance(userid, store.getChainStoreId());
int growth = balance.getGrowthValue();
JSONArray refuelMoneys = JSONArray.parseArray(balance.getRefuelMoney());
if (ObjectUtil.isNotEmpty(refuelMoneys)) {
List<RefuelMoney> list = new ArrayList<>();
for (Object money : refuelMoneys) {
RefuelMoney refuelMoney1 = new RefuelMoney();
refuelMoney1.setType(((JSONObject) money).get("type").toString());
refuelMoney1.setOilType(((JSONObject) money).get("oilType").toString());
refuelMoney1.setRefuelMoney(((JSONObject) money).get("refuelMoney").toString());
Double refuelMoneyLiters = Double.valueOf(((JSONObject) money).get("refuelMoney").toString());
// 根据油品名称查询油品id
// OilName oilName = oilNameService.selectOilNameByOilName(((JSONObject) money).get("oilType").toString());
if (((JSONObject) money).get("oilType").toString().equals(oilId.toString())) {
refuelMoney1.setRefuelMoney(String.valueOf(refuelMoney));
if (oilName.getOilType().equals("汽油")) {
userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"1",oilAmount,"油品订单消费",orderNo);
}
list.add(refuelMoney1);
if (oilName.getOilType().equals("柴油")) {
userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"2",oilAmount,"油品订单消费",orderNo);
}
balance.setRefuelMoney(JSONObject.toJSONString(list));
if (oilName.getOilType().equals("天然气")) {
userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"3",oilAmount,"油品订单消费",orderNo);
}
// 查询会员等级列表信息
Page page = new Page(1, 20);
LJUserGrade ljUserGrade1 = new LJUserGrade();
List<LJUserGrade> records = userGradeService.selectUserGradeAll(storeId);
ChainStoreConfig chainStoreConfig = chainStoreConfigService.selectChainStoreByStoreId(storeId);
if (oilName.getOilType().equals("汽油") && ObjectUtil.isNotEmpty(chainStoreConfig)) {
gasGrowthValue = Integer.valueOf(chainStoreConfig.getGasGrowthValue());
Integer addVal = (int) (gasGrowthValue * oilAmount);
addGrowthVal = addVal;
growthAfter = growth + addVal;
// 如果会员成长值达到会员等级成长值则修改会员的会员等级信息
for (int i = 1; i < records.size(); i++) {
if (growthAfter < records.get(i).getGrowthValue()) {
balance.setGradeId(records.get(i - 1).getId());
break;
}
}
balance.setGrowthValue(growthAfter);
} else if (oilName.getOilType().equals("柴油") && ObjectUtil.isNotEmpty(chainStoreConfig)) {
dieselGrowthValue = Integer.valueOf(chainStoreConfig.getDieselGrowthValue());
Integer addVal = (int) (dieselGrowthValue * oilAmount);
addGrowthVal = addVal;
growthAfter = growth + addVal;
// 如果会员成长值达到会员等级成长值则修改会员的会员等级信息
for (int i = 0; i < records.size(); i++) {
if (growthAfter < records.get(i).getGrowthValue()) {
balance.setGradeId(records.get(i - 1).getId());
break;
}
}
balance.setGrowthValue(growthAfter);
} else if (oilName.getOilType().equals("天然气") && ObjectUtil.isNotEmpty(chainStoreConfig)) {
naturalGrowthValue = Integer.valueOf(chainStoreConfig.getNaturalGrowthValue());
Integer addVal = (int) (naturalGrowthValue * oilAmount);
addGrowthVal = addVal;
growthAfter = growth + addVal;
// 如果会员成长值达到会员等级成长值则修改会员的会员等级信息
for (int i = 0; i < records.size(); i++) {
if (growthAfter < records.get(i).getGrowthValue()) {
balance.setGradeId(records.get(i - 1).getId());
break;
}
}
balance.setGrowthValue(growthAfter);
} else {
}
// balance.setCardBalance(balance.getCardBalance()-oilActualPay);
userBalanceService.updateUserBalance(balance);
this.insertGrowthValueChange(userid, storeId, addGrowthVal, growthAfter, orderNo);
this.insertCardBalance(oilActualPay, userid, storeId, orderNo);
}
@Override
public OilOrder addOilOrder(OilOrder oilOrder) {
// AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo1();
//根据日期生成订单信息
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
@ -1631,8 +1502,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
String type = map.get("type");
// 优惠券记录id
String recordId = map.get("recordId");
String balanceAmountSale = map.get("balanceAmountSale");
String oilCardAmountSale = map.get("oilCardAmountSale");
Integer tankId = Integer.valueOf(map.get("tankId"));
// 是否登录
String ifLogin = map.get("ifLogin");
@ -1668,9 +1537,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
Integer userId = oilOrder.getUserId();
if (ObjectUtil.isEmpty(storedQuantity) || storedQuantity - oilOrder.getOilNum() <= 0) {
// throw new RuntimeException("油罐容量不足!");
applet.put("error", "油罐容量不足!");
// this.insertAllOrderInfo(orderNo,oilOrder.getStoreId(),oilOrder.getOrderAmount(), oilOrder.getPayType(), userId,oilOrder.getPayType(),"1","payFail");
result = true;
}
if (isUseChildCard.equals("true")) {
@ -1707,7 +1574,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 未使用囤油卡
// 校验支付金额和优惠金额数据是否相同
Double realAmount = Double.valueOf(map.get("payAmount")) + Double.valueOf(balanceAmount) + Double.valueOf(map.get("discountAmount"));
// if (Double.compare(realAmount,oilOrder.getOrderAmount())!=0){
if (-0.03 >= (realAmount - oilOrder.getOrderAmount()) && (realAmount - oilOrder.getOrderAmount()) >= 0.03) {
applet.put("error", "消费总金额不对!");
this.insertAllOrderInfo(orderNo, oilOrder.getStoreId(), oilOrder.getOrderAmount(), 0.0, oilOrder.getDiscountAmount(), oilOrder.getPayType(), userId, oilOrder.getPayType(), "1", "payFail");
@ -1721,19 +1587,8 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
oilOrder.setTankId(tankId);
// 判断是否使用储值卡消费
// if (!balanceAmount.equals("0")){
// this.insertCardBalance(Double.valueOf(balanceAmount),userId,oilOrder.getStoreId(),orderNo);
// }
// 判断是否需要调起支付
if (!map.get("payAmount").equals("0") && !map.get("payAmount").equals("0.0") && !map.get("payAmount").equals("0.00")) {
// 调用支付接口
// 判断是否开启支付规则
// List<MerchantConfig> list = merchantConfigService.selectMeChByIsOpen();
// if (list.size() > 0) {
// oilConfigService.oilRule();
// }
this.insertCardOrder(oilOrder.getUserId(), oilOrder.getStoreId(), orderNo, oilOrder.getOrderAmount(), "unpaid", Double.valueOf(balanceAmount), payAmount);
// 处理支付需要的数据
@ -1769,7 +1624,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
e.printStackTrace();
}
} else {
this.updateGrowthValue(oilOrder.getOrderAmount(), payAmount, userId, Integer.valueOf(oilOrder.getOils()), oilCardAmount, oilOrder.getStoreId(), orderNo);
this.updateGrowthValue(oilOrder.getOrderAmount(), payAmount, userId, Integer.valueOf(oilOrder.getOils()), oilOrder.getStoreId(), orderNo);
this.addOilTracks(oilOrder, oilOrder.getStoreId());
this.insertCardOrder(oilOrder.getUserId(), oilOrder.getStoreId(), orderNo, oilOrder.getOrderAmount(), "paid", Double.valueOf(balanceAmount), payAmount);
this.insertAllOrderInfo(orderNo, oilOrder.getStoreId(), oilOrder.getOrderAmount(), payAmount, Double.valueOf(discountAmount), oilOrder.getPayType(), oilOrder.getUserId(), "applet", "1", "paid");
@ -1787,8 +1642,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 修改订单的优惠金额和支付金额
oilOrder.setDiscountAmount(Double.valueOf(discountAmount));
oilOrder.setPayAmount(payAmount);
// oilOrder.setBalanceAmount(Double.valueOf(balanceAmountSale));
// oilOrder.setOilCardAmount(Double.valueOf(oilCardAmountSale));
if (StringUtils.isNotEmpty(activeId)) {
oilOrder.setActiveId(Integer.valueOf(activeId));
}
@ -1801,14 +1654,12 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
this.updateOilOrder(oilOrder);
if (oilOrder.getOrderStatus().equals("paid")) {
if (ObjectUtil.isNotEmpty(oilOrder.getUserId())) integralSettingsService.refuelPoints(oilOrder);
this.updateCardAndActiveById(oilOrder.getStoreId(), oilOrder.getUserId(), oilOrder.getActiveId(), oilOrder.getCouponId(), oilOrder.getActiveType(), oilOrder.getOrderAmount(), oilOrder.getPayAmount(), Integer.valueOf(oilOrder.getOils()));
this.updateCardAndActiveById(oilOrder.getStoreId(), oilOrder.getUserId(), oilOrder.getId());
}
return applet;
}
@Autowired
CardValueChildOrderService cardValueChildOrderService;
/**
* 添加储值卡子卡订单信息
@ -1836,15 +1687,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
cardValueChildOrderService.insertCardValueChildOrder(cardValueChildOrder);
}
@Autowired
private CardValudChildrensService cardValudChildrensService;
@Resource
private TagUtils tagUtils;
@Resource
private OilTagService oilTagService;
@Resource
private PrinterService printerService;
@Override
public int updateOrderStatus(String orderNo, String status) throws Exception {
@ -1855,7 +1697,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
LJUser user = null;
if (ObjectUtil.isNotEmpty(userId)) user = userService.queryUserByUserId(userId);
if (ObjectUtil.isNotEmpty(oilOrder)) {
// oilOrder.setPayAmount(oilOrder.getOrderAmount()-oilOrder.getDiscountAmount());
oilOrder.setOrderStatus(status);
if (status.equals("paid")) {
HashMap<String, Object> hashMap = new HashMap<>();
@ -1905,7 +1746,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
} catch (Exception e) {
e.printStackTrace();
}
//tagUtils
if (ObjectUtil.isNotEmpty(oilOrder.getUserId())) integralSettingsService.refuelPoints(oilOrder);
oilOrder.setPayTime(new Date());
CardValueChildOrder cardValueChildOrder = cardValueChildOrderService.selectCardValueChildOrderByOrderNo(orderNo);
@ -1921,14 +1762,13 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
}
}
if (ObjectUtil.isNotEmpty(userId))
this.updateGrowthValue(oilOrder.getOrderAmount(), oilOrder.getPayAmount(), userId, Integer.valueOf(oilOrder.getOils()), null, oilOrder.getStoreId(), orderNo);
this.updateGrowthValue(oilOrder.getOrderAmount(), oilOrder.getPayAmount(), userId, Integer.valueOf(oilOrder.getOils()), oilOrder.getStoreId(), orderNo);
this.addOilTracks(oilOrder, oilOrder.getStoreId());
this.updateCardAndActiveById(oilOrder.getStoreId(), oilOrder.getUserId(), oilOrder.getActiveId(), oilOrder.getCouponId(), oilOrder.getActiveType(), oilOrder.getOrderAmount(), oilOrder.getPayAmount(), Integer.valueOf(oilOrder.getOils()));
this.updateCardAndActiveById(oilOrder.getStoreId(), oilOrder.getUserId(), oilOrder.getId());
if (ObjectUtil.isNotEmpty(userId))
this.insertCardBalance(oilOrder.getOrderAmount() - oilOrder.getDiscountAmount() - oilOrder.getPayAmount(), userId, oilOrder.getStoreId(), orderNo);
if (ObjectUtil.isNotEmpty(oilOrder.getStaffId())) {
staffCommissionService.countStaffCommission(oilOrder.getStaffId(), oilOrder.getStoreId(), oilOrder.getOrderAmount(), oilOrder.getPayAmount(), "1", orderNo);
// commissionRecordService.addRecord(oilOrder.getStoreId(),"1",oilOrder.getStaffId(),oilOrder.getOrderAmount(), oilOrder.getPayAmount(),"0","油品出售",orderNo);
}
}
row = baseMapper.updateById(oilOrder);
@ -1936,10 +1776,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
return row;
}
@Autowired
private OilTankService oilTankService;
@Autowired
private OilTrackingService oilTrackingService;
/**
* 添加油品库存跟踪信息
@ -1948,7 +1784,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
*/
@Override
public void addOilTrack(JSONObject oilOrder, Integer storeId) {
// OilTank oilTank = oilTankService.queryById(Integer.valueOf(oilOrder.get("tankId").toString()));
// 添加库存跟踪信息
OilTracking oilTracking = new OilTracking();
oilTracking.setDocument("油品出售");
@ -1965,9 +1800,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
oilTrackingService.insert(oilTracking);
// 修改油罐容量
// Double storedQuantity = oilTank.getStoredQuantity();
// oilTank.setStoredQuantity(storedQuantity-Double.parseDouble(oilOrder.get("liters").toString()));
// oilTankService.update(oilTank);
oilTankService.subtractStoredQuantityByLock(Integer.valueOf(oilOrder.get("tankId").toString()), oilNum);
}
@ -2007,100 +1839,27 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
}
@Autowired
private SysConfigService sysConfigService;
@Autowired
private LJUserGradeService userGradeService;
@Autowired
private ILJStoreService storeService;
/**
* 修改用户成长值信息
*
* @param oilActualPay 实付金额
* @param userid 用户id
* @param oilId 油号
* @param refuelMoney 消费后的加油金信息
* @param storeId 店铺id
*/
private void updateGrowthValue(Double oilAmount, Double oilActualPay, Integer userid, Integer oilId, String refuelMoney, Integer storeId, String orderNo) {
private void updateGrowthValue(Double oilAmount, Double oilActualPay, Integer userid, Integer oilId, Integer storeId, String orderNo) {
if (ObjectUtil.isNotEmpty(oilId)) {
OilName oilName = oilNameService.selectOilNameById(oilId);
//获取成长值增长数值
Integer gasGrowthValue = null;
Integer dieselGrowthValue = null;
Integer naturalGrowthValue = null;
Integer addGrowthVal = null;
Integer growthAfter = null;
LJStore store = storeService.selectStoreByStoreId(storeId);
UserBalance balance = userBalanceService.selectUserBalance(userid, store.getChainStoreId());
int growth = balance.getGrowthValue();
if (ObjectUtil.isNotEmpty(refuelMoney) && !refuelMoney.equals("null")) {
String refuelMoney1 = balance.getRefuelMoney();
JSONArray objects = JSONArray.parseArray(refuelMoney);
JSONArray objects1 = JSONArray.parseArray(refuelMoney1);
if (ObjectUtils.isNotEmpty(objects1)) {
for (int i = 0; i < objects1.size(); i++) {
if (!((JSONObject) objects1.get(i)).get("refuelMoney").toString().equals(((JSONObject) objects.get(i)).get("refuelMoney").toString())) {
Double oilBalance = Double.valueOf(((JSONObject) objects1.get(i)).get("refuelMoney").toString()) - Double.valueOf(((JSONObject) objects.get(i)).get("refuelMoney").toString());
Double afterOilBalance = Double.valueOf(((JSONObject) objects.get(i)).get("refuelMoney").toString());
this.insertOilBalance(userid, storeId, oilName.getId().toString(), oilName.getOilType(), oilBalance, afterOilBalance, orderNo);
if (oilName.getOilType().equals("汽油")) {
userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"1",oilAmount,"油品订单消费",orderNo);
}
if (oilName.getOilType().equals("柴油")) {
userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"2",oilAmount,"油品订单消费",orderNo);
}
if (oilName.getOilType().equals("天然气")) {
userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"3",oilAmount,"油品订单消费",orderNo);
}
balance.setRefuelMoney(refuelMoney);
}
//查询会员等级列表信息
Page page = new Page(1, 20);
LJUserGrade ljUserGrade1 = new LJUserGrade();
List<LJUserGrade> records = userGradeService.selectUserGradeAll(storeId);
ChainStoreConfig chainStoreConfig = chainStoreConfigService.selectChainStoreByStoreId(storeId);
if (oilName.getOilType().equals("汽油") && ObjectUtil.isNotEmpty(chainStoreConfig)) {
gasGrowthValue = Integer.valueOf(chainStoreConfig.getGasGrowthValue());
Integer addVal = (int) (gasGrowthValue * oilAmount);
addGrowthVal = addVal;
growthAfter = growth + addVal;
//如果会员成长值达到会员等级成长值则修改会员的会员等级信息
for (int i = 1; i < records.size(); i++) {
if (growthAfter < records.get(i).getGrowthValue()) {
balance.setGradeId(records.get(i - 1).getId());
break;
}
}
balance.setGrowthValue(growthAfter);
} else if (oilName.getOilType().equals("柴油") && ObjectUtil.isNotEmpty(chainStoreConfig)) {
dieselGrowthValue = Integer.valueOf(chainStoreConfig.getDieselGrowthValue());
Integer addVal = (int) (dieselGrowthValue * oilAmount);
addGrowthVal = addVal;
growthAfter = growth + addVal;
//如果会员成长值达到会员等级成长值则修改会员的会员等级信息
for (int i = 0; i < records.size(); i++) {
if (growthAfter < records.get(i).getGrowthValue()) {
balance.setGradeId(records.get(i - 1).getId());
break;
}
}
balance.setGrowthValue(growthAfter);
} else if (oilName.getOilType().equals("天然气") && ObjectUtil.isNotEmpty(chainStoreConfig)) {
naturalGrowthValue = Integer.valueOf(chainStoreConfig.getNaturalGrowthValue());
Integer addVal = (int) (naturalGrowthValue * oilAmount);
addGrowthVal = addVal;
growthAfter = growth + addVal;
//如果会员成长值达到会员等级成长值则修改会员的会员等级信息
for (int i = 0; i < records.size(); i++) {
if (growthAfter < records.get(i).getGrowthValue()) {
balance.setGradeId(records.get(i - 1).getId());
break;
}
}
balance.setGrowthValue(growthAfter);
} else {
}
// 修改用户成长值
userBalanceService.updateUserBalance(balance);
this.insertGrowthValueChange(userid, storeId, addGrowthVal, growthAfter, orderNo);
}
}
@ -2116,13 +1875,11 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 根据用户id查询用户余额信息
LJStore store = storeService.selectStoreByStoreId(storeId);
UserBalance balance = userBalanceService.selectUserBalance(userId, store.getChainStoreId());
boolean result = false;
if (ObjectUtil.isNotEmpty(balance)) {
// 修改余额信息
Double beforeBalance = balance.getCardBalance();
Double afterBalance = beforeBalance - amount;
if ((beforeBalance - amount) < 0.0) {
result = true;
return false;
}
cardBalanceChange.setAfterTheChange(afterBalance);
@ -2188,16 +1945,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
}
}
@Resource
OilOrderMapper oilOrderMapper;
@Resource
LJOrderMapper ljOrderMapper;
@Resource
CardValueRecordMapper cardValueRecordMapper;
@Resource
CardFuelRecordMapper cardFuelRecordMapper;
@Resource
LJStaffMapper ljStaffMapper;
@Override
public Map<String, Double> turnoverStatistics() {
@ -2212,7 +1959,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 屯油卡流水
Map<String, String> fuelStreamMap = cardFuelRecordMapper.fuelStream(storeId);
// 计算总流水
// sumStream
// 进行Map的合并
Map<String, Double> mergedMap = mergeMaps(
oilStreamMap,
@ -2226,7 +1972,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 数据组装
return stringDoubleMap;
// return mergedMap;
}
// 员工统计
@ -2268,16 +2013,12 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 油品销售额
@Override
public List<Map<String, String>> oilSales() {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
Integer storeId = nowAccountInfo.getStoreId();
List<Map<String, String>> maps = oilOrderMapper.oilSales(storeId);
return maps;
}
@Resource
OilNumberMapper oilNumberMapper;
// 各油品销售额
@Override
@ -2291,7 +2032,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 获取所有油品名称
List<OilNumber> oilNames = oilNumberMapper.getOilName(storeId);
// 构建结果列表
List<List<Object>> resultList = new ArrayList<>();
@ -2357,8 +2097,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 计算环比增长率
double growthRate = (res - last) / last * 100;
// double growthRate = ((res - last) / Math.abs(last)) * 100.0;
// 使用DecimalFormat将结果格式化为两位小数
DecimalFormat decimalFormat = new DecimalFormat("#.##");
@ -2483,18 +2221,13 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
if (ObjectUtil.isNotEmpty(oilOrderVo.getAuthCode()) && oilOrderVo.getPayAmount() > 0) {
try {
fyPayService.posPay(receiveParameterPos);
// if (stringObjectMap.get("code").equals("success")){
// row = 1;
// }else {
// row = 2;
// }
} catch (Exception e) {
e.printStackTrace();
}
} else {
staffCommissionService.countStaffCommission(nowAccountInfo.getStaffId(), nowAccountInfo.getStoreId(), oilOrderVo.getOrderAmount(), oilOrderVo.getPayAmount(), "1", orderNo);
this.addOilTracks(oilOrderVo, nowAccountInfo.getStoreId());
this.updateCardAndActiveById(nowAccountInfo.getStoreId(), oilOrderVo.getUserId(), oilOrderVo.getActiveId(), oilOrderVo.getCouponId(), oilOrderVo.getActiveType(), oilOrderVo.getOrderAmount(), oilOrderVo.getPayAmount(), Integer.valueOf(oilOrderVo.getOils()));
this.updateCardAndActiveById(nowAccountInfo.getStoreId(), oilOrderVo.getUserId(), oilOrderVo.getId());
this.insertAllOrderInfo(orderNo, nowAccountInfo.getStoreId(), oilOrderVo.getOrderAmount(), oilOrderVo.getPayAmount(), oilOrderVo.getDiscountAmount(), oilOrderVo.getPayType(), oilOrderVo.getUserId(), "POS", "1", "paid");
this.insertFavorable(oilOrderVo, oilOrderVo.getOilCardAmount1());
if (ObjectUtil.isNotEmpty(oilOrderVo.getUserId())) integralSettingsService.refuelPoints(oilOrderVo);
@ -2509,7 +2242,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
row = 1;
}
if (row == 1 && ObjectUtil.isNotEmpty(oilOrderVo.getUserId())) {
this.updateGrowthValue(oilOrderVo.getOrderAmount(), oilOrderVo.getPayAmount(), oilOrderVo.getUserId(), Integer.valueOf(oilOrderVo.getOils()), null, nowAccountInfo.getStoreId(), orderNo);
this.updateGrowthValue(oilOrderVo.getOrderAmount(), oilOrderVo.getPayAmount(), oilOrderVo.getUserId(), Integer.valueOf(oilOrderVo.getOils()), nowAccountInfo.getStoreId(), orderNo);
}
res.put("orderNo", orderNo);
res.put("code", String.valueOf(row));
@ -2542,7 +2275,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
}
ReceiveParameterPos receiveParameterPos = new ReceiveParameterPos();
// receiveParameterPos.setPayType("WECHAT");
receiveParameterPos.setPayType(oilOrderVo.getPayType());
receiveParameterPos.setType("1");
receiveParameterPos.setContent("油品订单");

View File

@ -63,9 +63,16 @@ public class PayCenterController extends BaseController {
return getSuccessResult("查询成功",payCenterService.cashRegisterSpendWisely(map));
}
/**
* 小程序支付成功后 消费有礼
* @param map
* @param request
* @return
* @throws Exception
*/
@PostMapping("/cashRegisterSpendWiselyApp")
public ResponseObject cashRegisterSpendWiselyApp(@RequestBody Map<String,String> map,HttpServletRequest request) throws Exception {
logger.info("收银台获取可用优惠券参数:{}", map);
logger.info("小程序获取可用优惠券参数:{}", map);
return getSuccessResult("查询成功",payCenterService.cashRegisterSpendWiselyApp(map));
}