diff --git a/fuintAdmin/src/views/member/userInfo.vue b/fuintAdmin/src/views/member/userInfo.vue
index 950f4b6a9..7151eea4a 100644
--- a/fuintAdmin/src/views/member/userInfo.vue
+++ b/fuintAdmin/src/views/member/userInfo.vue
@@ -130,9 +130,9 @@
-
-
-
+
+
+
diff --git a/fuintBackend/configure/dev/application.properties b/fuintBackend/configure/dev/application.properties
index 97c6f9406..f46b177a9 100644
--- a/fuintBackend/configure/dev/application.properties
+++ b/fuintBackend/configure/dev/application.properties
@@ -43,7 +43,7 @@ images.root=C:/fuintV3.0.1/fuintBackend/fuint-application/target/classes
images.path=/static/uploadImages/
# 上传图片服务器域名
-images.upload.url=http://localhost:8008
+images.upload.url=http://192.168.1.6:8008
# 上传图片允许的大小(单位:MB)
images.upload.maxSize=5
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/controller/FyPayController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/controller/FyPayController.java
index f230e517d..e439a5794 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/controller/FyPayController.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/controller/FyPayController.java
@@ -4,6 +4,10 @@ import com.fuint.api.fuyou.service.FyPayService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Enumeration;
+import java.util.HashMap;
import java.util.Map;
@RestController
@@ -37,6 +41,26 @@ public class FyPayController {
return map;
}
+ // 接收支付平台异步通知的接口
+ @PostMapping("/notify")
+ public String notifyUrl(@RequestBody HttpServletRequest request,@RequestBody HttpServletResponse response) {
+ System.out.println(request+"111");
+ System.out.println(response+"222");
+// Map paramMap = new HashMap<>();
+// Enumeration parameterNames = request.getParameterNames();
+// while(parameterNames.hasMoreElements()) {
+// String parameterName = (String) parameterNames.nextElement();
+// paramMap.put(parameterName, request.getParameter(parameterName));
+// }
+// boolean isSuccess = processNotify(paramMap); // 处理支付结果并返回成功或失败状态
+// if(isSuccess) {
+// return "success"; // 返回成功状态,通知支付平台异步通知已成功接收
+// } else {
+// return "fail"; // 返回失败状态,通知支付平台异步通知已失败
+// }
+ return "11111111";
+ }
+
/**
* 退款 成功 result_msg 显示success
* result_code显示000000
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/entity/Builder.java b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/entity/Builder.java
index 5bf01f022..b404a03e3 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/entity/Builder.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/entity/Builder.java
@@ -38,7 +38,7 @@ public class Builder {
Calendar calendar = Calendar.getInstance();
// sdf_no.format(calendar.getTime()) + (int) (random.nextDouble() * 100000)
map.put("mchnt_order_no", "");
- map.put("curr_type", "");
+ map.put("curr_type", "CNY");
map.put("order_amt", "1");
map.put("term_ip", Const.term_ip);
SimpleDateFormat sdf_ts = new SimpleDateFormat("yyyyMMddHHmmss");
@@ -71,6 +71,49 @@ public class Builder {
return map;
}
+ /**
+ * 小程序
+ *
+ * @return
+ */
+ public static Map buildFuiou23() {
+ Map map = new HashMap<>();
+
+ map.put("version", Const.version);
+ map.put("ins_cd", Const.ins_cd);
+ map.put("mchnt_cd", Const.mchnt_cd);
+ map.put("term_id", Const.term_id);
+ map.put("random_str", randomNumberGenerator.nextBytes().toHex());
+ map.put("sign", "");
+ map.put("goods_des", Const.goods_des);
+ map.put("goods_detail", "");
+ map.put("goods_tag", "");
+ map.put("product_id", "");
+ map.put("addn_inf", "");
+ map.put("mchnt_order_no", "");
+ map.put("curr_type", "CNY");
+ map.put("openid", "");
+ map.put("order_amt", "1");
+ map.put("term_ip", Const.term_ip);
+ Calendar calendar = Calendar.getInstance();
+ SimpleDateFormat sdf_ts = new SimpleDateFormat("yyyyMMddHHmmss");
+ map.put("txn_begin_ts",sdf_ts.format(calendar.getTime()));
+ map.put("notify_url", Const.notify_url);
+ map.put("limit_pay", "");
+ map.put("trade_type", Const.trade_type);
+ map.put("sub_openid", "");
+ map.put("sub_appid", Const.sub_appid);
+ map.put("reserved_expire_minute", "1");
+ map.put("reserved_fy_term_id", "");
+ map.put("reserved_fy_term_type", "");
+ map.put("reserved_txn_bonus", "");
+ map.put("reserved_fy_term_sn", "");
+ map.put("reserved_device_info", "");
+
+ return map;
+ }
+
+
/**
* 退款
*
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/entity/Const.java b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/entity/Const.java
index c013fb352..8fadcc7fb 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/entity/Const.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/entity/Const.java
@@ -35,18 +35,23 @@ public class Const {
public static String auth_code = "";
// 交易关闭时间
public static Integer reserved_expire_minute = 1;
+// 小程序appid
+ public static String sub_appid = "wxba517a9bac38fe92";
+// 订单类型 小程序等
+ public static String trade_type = "LETPAY";
//机构公钥
public static String INS_PUBLIC_KEY="";
//异步通知(回调地址)
+// public static String notify_url = "https://www.fuint.cn/fuint-application/clientApi/pay/aliPayCallback";
public static String notify_url = "http://www.wrx.cn";
//下单
public static String fuiou_21_url = "https://fundwx.fuiou.com/preCreate";
//扫码
public static String fuiou_22_url = "https://fundwx.fuiou.com/micropay";
- //公众号/服务窗统一下单
+ //公众号/服务窗/小程序统一下单
public static String fuiou_23_url = "https://fundwx.fuiou.com/wxPreCreate";
//退款
public static String fuiou_24_url = "https://fundwx.fuiou.com/commonRefund";
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/service/FyPayService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/service/FyPayService.java
index a06d749f6..d458fbeb0 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/service/FyPayService.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/service/FyPayService.java
@@ -17,6 +17,13 @@ public interface FyPayService {
*/
public Map queryOrder(Map map) throws Exception;
+ /**
+ * 小程序
+ * @return
+ * @throws Exception
+ */
+ public Map applet(Map map) throws Exception;
+
/**
* 退款
* @return
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/service/impl/FyPayServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/service/impl/FyPayServiceImpl.java
index 8f3987ba9..2cb16708a 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/service/impl/FyPayServiceImpl.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/service/impl/FyPayServiceImpl.java
@@ -11,6 +11,7 @@ import com.fuint.api.fuyou.entity.MerchantConfig;
import com.fuint.api.fuyou.entity.Message;
import com.fuint.api.fuyou.service.FyPayService;
import com.fuint.api.fuyou.service.MerchantConfigService;
+import com.fuint.api.fuyou.util.HttpUtils;
import com.fuint.api.fuyou.util.Utils;
import com.fuint.business.integral.service.IntegralOrdersService;
import com.fuint.business.marketingActivity.cardFavorable.entity.CardFavorableRecord;
@@ -19,14 +20,16 @@ import com.fuint.business.marketingActivity.cardFule.service.CardFuelRecordServi
import com.fuint.business.marketingActivity.cardValue.service.CardValueRecordService;
import com.fuint.business.order.entity.*;
import com.fuint.business.order.service.*;
-import com.fuint.common.dto.AccountInfo;
-import com.fuint.common.util.TokenUtil;
-import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.net.URLDecoder;
import javax.annotation.Resource;
+import java.net.URLEncoder;
import java.util.*;
@Service
@@ -297,6 +300,45 @@ public class FyPayServiceImpl implements FyPayService {
return resMap;
}
+ @Override
+ public Map applet(Map map1) throws Exception {
+ String publicKey = map1.get("publicKey");
+ String privateKey = map1.get("privateKey");
+ Const.INS_PUBLIC_KEY = publicKey;
+ Const.INS_PRIVATE_KEY = privateKey;
+ String orderNo = map1.get("orderNo");
+ String payType = "WECHAT";
+ String allAmount = map1.get("allAmount");
+ String insCd = map1.get("insCd");
+ String mchntCd = map1.get("mchntCd");
+ String goodsDes = map1.get("goodsDes");
+ Map map = Builder.buildFuiou23();
+ map.put("mchnt_order_no",orderNo);
+ map.put("order_type",payType);
+ map.put("order_amt", allAmount);
+ map.put("ins_cd", insCd);
+ map.put("mchnt_cd", mchntCd);
+ map.put("goods_des", goodsDes);
+ map.put("openid", map1.get("openId"));
+
+ // 请求报文
+ String reqBody = Message.requestMsg(map);
+// 响应报文
+ String rspXml = Message.responseMsg(reqBody,Const.fuiou_23_url);
+ System.out.println("1+"+reqBody);
+ System.out.println("2+"+rspXml);
+ //响应报文验签
+ Map resMap = Utils.xmlStr2Map(rspXml);
+
+ String str = resMap.get("sign");
+ if (Utils.verifySign(resMap, str)){
+
+ }
+ System.out.println(resMap);
+
+ return resMap;
+ }
+
@Override
public Map refund(Map map1) throws Exception {
String orderNo = map1.get("orderNo");
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/util/HttpUtils.java b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/util/HttpUtils.java
new file mode 100644
index 000000000..99a9a57dd
--- /dev/null
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/util/HttpUtils.java
@@ -0,0 +1,79 @@
+package com.fuint.api.fuyou.util;
+
+import com.fuint.api.fuyou.entity.Const;
+import org.apache.http.HttpEntity;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+public class HttpUtils {
+
+ /**
+ * 发送 post请求访问本地应用并根据传递参数不同返回不同结果
+ */
+ public void post(String url, Map map, StringBuffer result) {
+ // 创建默认的httpClient实例.
+ CloseableHttpClient httpclient = HttpClients.createDefault();
+ // 创建httppost
+ HttpPost httppost = new HttpPost(url);
+ // 创建参数队列
+ List formparams = new ArrayList<>();
+
+ Iterator it=map.keySet().iterator();
+ while(it.hasNext()){
+ String key;
+ String value;
+ key=it.next().toString();
+ value=map.get(key);
+
+ formparams.add(new BasicNameValuePair(key, value));
+ }
+
+ UrlEncodedFormEntity uefEntity;
+ try {
+ uefEntity = new UrlEncodedFormEntity(formparams, Const.charset);
+ httppost.setEntity(uefEntity);
+
+ System.out.println("提交请求 " + httppost.getURI());
+ CloseableHttpResponse response = httpclient.execute(httppost);
+ try {
+ HttpEntity entity = response.getEntity();
+
+ if (entity != null && result != null) {
+ result.append(EntityUtils.toString(entity, Const.charset));
+ }
+
+ // 打印响应状态
+ System.out.println(response.getStatusLine());
+ } finally {
+ response.close();
+ }
+ } catch (ClientProtocolException e) {
+ e.printStackTrace();
+ } catch (UnsupportedEncodingException e1) {
+ e1.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ // 关闭连接,释放资源
+ try {
+ httpclient.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/api/rocketMQ/test/SyncProducer.java b/fuintBackend/fuint-application/src/main/java/com/fuint/api/rocketMQ/test/SyncProducer.java
new file mode 100644
index 000000000..3d5ff2b58
--- /dev/null
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/api/rocketMQ/test/SyncProducer.java
@@ -0,0 +1,48 @@
+package com.fuint.api.rocketMQ.test;
+
+import org.apache.rocketmq.client.producer.DefaultMQProducer;
+import org.apache.rocketmq.client.producer.SendResult;
+import org.apache.rocketmq.client.producer.SendStatus;
+import org.apache.rocketmq.common.message.Message;
+
+import java.util.concurrent.TimeUnit;
+
+/**
+ * 发送同步消息
+ */
+public class SyncProducer {
+
+ public static void main(String[] args) throws Exception {
+ //1.创建消息生产者producer,并制定生产者组名
+ DefaultMQProducer producer = new DefaultMQProducer("group1");
+ //2.指定Nameserver地址
+ producer.setNamesrvAddr("39.104.58.101:9876");
+ //3.启动producer
+ producer.start();
+
+ for (int i = 0; i < 10; i++) {
+ //4.创建消息对象,指定主题Topic、Tag和消息体
+ /**
+ * 参数一:消息主题Topic
+ * 参数二:消息Tag
+ * 参数三:消息内容
+ */
+ Message msg = new Message("springboot-mq", "Tag1", ("Hello World" + i).getBytes());
+ //5.发送消息
+ SendResult result = producer.send(msg);
+ //发送状态
+ SendStatus status = result.getSendStatus();
+
+ System.out.println("发送结果:" + result);
+
+ //线程睡1秒
+ TimeUnit.SECONDS.sleep(1);
+ }
+
+ //6.关闭生产者producer
+ producer.shutdown();
+
+ }
+}
+
+
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/controller/IntegralOrdersController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/controller/IntegralOrdersController.java
index 51f459d41..45c90b98b 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/controller/IntegralOrdersController.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/controller/IntegralOrdersController.java
@@ -48,6 +48,15 @@ public class IntegralOrdersController extends BaseController {
return getSuccessResult(integralOrdersIPage);
}
+ @GetMapping("queryByPageUni")
+ public ResponseObject queryByPageUni(@RequestParam(value = "page",defaultValue = "1") Integer page,
+ @RequestParam(value = "pageSize",defaultValue = "1000") Integer pageSize,
+ @Param("integralOrders") IntegralOrdersDTO integralOrders) {
+ Page pages = new Page(page, pageSize);
+ IPage integralOrdersIPage = this.integralOrdersService.queryByPageUni(pages, integralOrders);
+ return getSuccessResult(integralOrdersIPage);
+ }
+
/**
* 通过主键查询单条数据
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/IntegralOrdersMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/IntegralOrdersMapper.java
index 8576dfdda..190a443ba 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/IntegralOrdersMapper.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/IntegralOrdersMapper.java
@@ -38,6 +38,9 @@ public interface IntegralOrdersMapper {
*/
IPage queryAllByLimit(@Param("page") Page page, @Param("integralOrders") IntegralOrdersDTO integralOrders);
+
+ IPage queryByPageUni(@Param("page") Page page, @Param("integralOrders") IntegralOrdersDTO integralOrders);
+
/**
* 统计总行数
*
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/xml/IntegralDetailMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/xml/IntegralDetailMapper.xml
index 2178c46f8..fe9aa54ac 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/xml/IntegralDetailMapper.xml
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/xml/IntegralDetailMapper.xml
@@ -37,6 +37,9 @@
and store_id = #{integralDetail.storeId}
+
+ and user_id = #{integralDetail.userId}
+
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/xml/IntegralOrdersMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/xml/IntegralOrdersMapper.xml
index 3c048fc01..bd5adcba4 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/xml/IntegralOrdersMapper.xml
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/integral/mapper/xml/IntegralOrdersMapper.xml
@@ -85,7 +85,6 @@
left join integral_gift ig ON io.gift_id = ig.id
left join mt_user_express_address ea ON io.address_id = ea.id
- io.store_id = #{integralOrders.storeId}
and ig.gift_name like CONCAT ('%',#{integralOrders.giftName},'%')
@@ -105,6 +104,7 @@
and io.shipping_type = #{integralOrders.shippingType}
+
and (
(#{integralOrders.orderStatus} = 1 and (io.order_status = '待处理' or io.order_status = '待发货')) or
@@ -146,6 +146,79 @@
+
+
+
+
+
insert into card_fuel_record(mt_user_id, name, mobile, mt_staff_id, real_name, staff_mobile, card_fuel_id, recharge_balance, income_litres, payment_type, remark, points, growth_value, royalty_type, percentage_commissions, amount_commission, create_by, create_time, update_by, update_time, pay_status, store_id, payment_no, type, oil_type,chain_store_id)
@@ -348,5 +349,12 @@
delete from card_fuel_record where id = #{id}
+
+
+
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/CardFuelRecordService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/CardFuelRecordService.java
index 35a2f51fe..838661fc7 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/CardFuelRecordService.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/CardFuelRecordService.java
@@ -33,6 +33,8 @@ public interface CardFuelRecordService {
*/
IPage queryByPage(@Param("page") Page page, CardFuelRecord cardFuelRecord);
+
+
/**
* 新增数据
*
@@ -73,5 +75,9 @@ public interface CardFuelRecordService {
boolean editPayStatus(Integer id, String payStatus);
+ /**
+ * 查询用户屯油卡充值记录
+ */
+ IPage selectFuelRecord(@Param("page") Page page, CardFuelRecord cardFuelRecord);
}
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/impl/CardFuelRecordServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/impl/CardFuelRecordServiceImpl.java
index 63de57574..f13f0f6d9 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/impl/CardFuelRecordServiceImpl.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/impl/CardFuelRecordServiceImpl.java
@@ -309,4 +309,15 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService {
return integralDetail;
}
+
+ /**
+ * 查询用户屯油卡充值记录
+ */
+ @Override
+ public IPage selectFuelRecord(@Param("page") Page page, CardFuelRecord cardFuelRecord) {
+ AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
+ cardFuelRecord.setStoreId(nowAccountInfo.getStoreId());
+ return this.cardFuelRecordMapper.selectFuelRecord(page, cardFuelRecord);
+ }
+
}
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/controller/CardValueRecordController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/controller/CardValueRecordController.java
index ae63debbc..e5974c845 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/controller/CardValueRecordController.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/controller/CardValueRecordController.java
@@ -112,5 +112,35 @@ public class CardValueRecordController extends BaseController {
public ResponseObject checkTheStatusOfYourPayment(Integer id) {
return getSuccessResult(this.cardValueRecordService.checkTheStatusOfYourPayment(id));
}
+
+ /**
+ * 查询用户的储值充值记录
+ * @param pageNo
+ * @param pageSize
+ * @param cardValueRecord
+ * @return
+ */
+ @GetMapping("selectCardRecord")
+ public ResponseObject selectCardRecord(@RequestParam(value = "pageNo",defaultValue = "1") Integer pageNo,
+ @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize,
+ @Param("cardValueRecord") CardValueRecordDTO cardValueRecord) {
+ Page page = new Page(pageNo, pageSize);
+ return getSuccessResult(this.cardValueRecordService.selectCardRecord(page, cardValueRecord));
+ }
+
+ /**
+ * 查询用户的储值充值记录 和囤油充值记录
+ * @param pageNo
+ * @param pageSize
+ * @param cardValueRecord
+ * @return
+ */
+ @GetMapping("selectAllRecord")
+ public ResponseObject selectAllRecord(@RequestParam(value = "pageNo",defaultValue = "1") Integer pageNo,
+ @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize,
+ @Param("cardValueRecord") CardValueRecordDTO cardValueRecord) {
+ Page page = new Page(pageNo, pageSize);
+ return getSuccessResult(this.cardValueRecordService.selectAllRecord(page, cardValueRecord));
+ }
}
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/dto/CardValueRecordDTO.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/dto/CardValueRecordDTO.java
index eb1232b5f..eb33a95a0 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/dto/CardValueRecordDTO.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/dto/CardValueRecordDTO.java
@@ -8,6 +8,8 @@ import lombok.Data;
*/
@Data
public class CardValueRecordDTO extends CardValueRecord {
+ private String recordName;
+ private String obtain;
private String authCode;
private Double realyPayBills;
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/entity/CardValueRecord.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/entity/CardValueRecord.java
index 1ba77d386..a8d5fda61 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/entity/CardValueRecord.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/entity/CardValueRecord.java
@@ -82,6 +82,16 @@ public class CardValueRecord extends Model {
// 支付编号
private String paymentNo;
+ //
+ private Integer chainStoreId;
+
+ public Integer getChainStoreId() {
+ return chainStoreId;
+ }
+
+ public void setChainStoreId(Integer chainStoreId) {
+ this.chainStoreId = chainStoreId;
+ }
public String getPaymentNo() {
return paymentNo;
}
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/CardValueRecordMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/CardValueRecordMapper.java
index a5a19382f..dd6e8c9a2 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/CardValueRecordMapper.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/CardValueRecordMapper.java
@@ -1,6 +1,10 @@
package com.fuint.business.marketingActivity.cardValue.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fuint.business.integral.entity.IntegralDetail;
+import com.fuint.business.marketingActivity.cardValue.dto.CardValueRecordDTO;
import com.fuint.business.marketingActivity.cardValue.entity.CardValueRecord;
import org.apache.ibatis.annotations.Param;
@@ -12,5 +16,10 @@ import org.apache.ibatis.annotations.Param;
*/
public interface CardValueRecordMapper extends BaseMapper {
+ IPage selectCardRecord(@Param("page") Page page,@Param("cardValueRecord") CardValueRecordDTO cardValueRecord);
+
+ IPage selectAllRecord(@Param("page") Page page, @Param("cardValueRecord") CardValueRecordDTO cardValueRecord);
+
+
}
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/xml/CardValueRecordMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/xml/CardValueRecordMapper.xml
new file mode 100644
index 000000000..f43bf0aaf
--- /dev/null
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/xml/CardValueRecordMapper.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/CardValueRecordService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/CardValueRecordService.java
index 21d9f7134..735bfb20c 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/CardValueRecordService.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/CardValueRecordService.java
@@ -1,9 +1,13 @@
package com.fuint.business.marketingActivity.cardValue.service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.fuint.business.integral.entity.IntegralDetail;
import com.fuint.business.marketingActivity.cardValue.dto.CardValueRecordDTO;
import com.fuint.business.marketingActivity.cardValue.entity.CardValueRecord;
import com.fuint.business.petrolStationManagement.entity.OilGun;
+import io.lettuce.core.dynamic.annotation.Param;
/**
* 储值充值表(CardValueRecord)表服务接口
@@ -33,4 +37,11 @@ public interface CardValueRecordService extends IService {
CardValueRecord checkTheStatusOfYourPayment(Integer id);
boolean editPayStatus(Integer id, String payStatus);
+
+
+ IPage selectCardRecord(@Param("page") Page page, CardValueRecordDTO cardValueRecord);
+
+ IPage selectAllRecord(@Param("page") Page page, CardValueRecordDTO cardValueRecord);
+
+
}
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/impl/CardValueRecordServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/impl/CardValueRecordServiceImpl.java
index 1814e765f..edf506678 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/impl/CardValueRecordServiceImpl.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/impl/CardValueRecordServiceImpl.java
@@ -2,6 +2,8 @@ package com.fuint.business.marketingActivity.cardValue.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuint.api.fuyou.entity.MerchantConfig;
import com.fuint.api.fuyou.service.FyPayService;
@@ -24,8 +26,8 @@ import com.fuint.business.userManager.service.UserBalanceService;
import com.fuint.business.userManager.vo.LJUserVo;
import com.fuint.common.dto.AccountInfo;
import com.fuint.common.util.TokenUtil;
+import io.lettuce.core.dynamic.annotation.Param;
import lombok.extern.slf4j.Slf4j;
-import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -65,6 +67,9 @@ public class CardValueRecordServiceImpl extends ServiceImpl0;
}
+
+
+ @Override
+ public IPage selectCardRecord(@Param("page") Page page, CardValueRecordDTO cardValueRecord) {
+ return this.cardValueRecordMapper.selectCardRecord(page, cardValueRecord);
+ }
+
+ @Override
+ public IPage selectAllRecord(@Param("page") Page page, CardValueRecordDTO cardValueRecord) {
+ return this.cardValueRecordMapper.selectAllRecord(page, cardValueRecord);
+ }
+
+
}
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/OilOrderController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/OilOrderController.java
index 37a147b08..247b0385c 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/OilOrderController.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/OilOrderController.java
@@ -74,6 +74,17 @@ public class OilOrderController extends BaseController {
return getSuccessResult(order);
}
+ /**
+ * 小程序支付接口
+ * @param map
+ * @return
+ */
+ @PostMapping("/appletPay")
+ public ResponseObject appletPay(@Validated @RequestBody Map map){
+ orderService.appletPay(map);
+ return getSuccessResult("success");
+ }
+
/**
* 根据订单号查询订单信息
* @param map
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/entity/OilOrder.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/entity/OilOrder.java
index fda551f4e..4e02d0665 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/entity/OilOrder.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/entity/OilOrder.java
@@ -1,6 +1,7 @@
package com.fuint.business.order.entity;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fuint.framework.entity.BaseEntity;
@@ -117,6 +118,10 @@ public class OilOrder extends BaseEntity implements Serializable {
* 订单备注
*/
private String remark;
-
+ /**
+ * 油罐id
+ */
+ @TableField(exist = false)
+ private Integer tankId;
}
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/OilOrderService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/OilOrderService.java
index 29909d116..b9c19bf5b 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/OilOrderService.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/OilOrderService.java
@@ -72,6 +72,12 @@ public interface OilOrderService extends IService {
*/
public String addOilOrder(OilOrder oilOrder);
+ /**
+ * 小程序订单支付
+ * @param map
+ */
+ public void appletPay(Map map);
+
/**
* 添加油品跟踪信息
* @param oilOrder
@@ -79,6 +85,13 @@ public interface OilOrderService extends IService {
*/
public void addOilTrack(JSONObject oilOrder, Integer storeId);
+ /**
+ * 添加油品跟踪信息
+ * @param oilOrder
+ * @param storeId
+ */
+ public void addOilTracks(OilOrder oilOrder,Integer storeId);
+
/**
* 添加油品订单信息
* @param order
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java
index b470312ce..1d1782265 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java
@@ -18,11 +18,15 @@ import com.fuint.business.order.mapper.OilOrderMapper;
import com.fuint.business.order.service.*;
import com.fuint.business.order.vo.OilOrderVo;
import com.fuint.business.petrolStationManagement.entity.OilName;
+import com.fuint.business.petrolStationManagement.entity.OilNumber;
import com.fuint.business.petrolStationManagement.entity.OilTank;
import com.fuint.business.petrolStationManagement.entity.OilTracking;
import com.fuint.business.petrolStationManagement.service.OilNameService;
+import com.fuint.business.petrolStationManagement.service.OilNumberService;
import com.fuint.business.petrolStationManagement.service.OilTankService;
import com.fuint.business.petrolStationManagement.service.OilTrackingService;
+import com.fuint.business.storeInformation.entity.LJStore;
+import com.fuint.business.storeInformation.service.ILJStoreService;
import com.fuint.business.userManager.entity.LJUser;
import com.fuint.business.userManager.entity.LJUserGrade;
import com.fuint.business.userManager.entity.UserBalance;
@@ -146,7 +150,7 @@ public class OilOrderServiceImpl extends ServiceImpl i
// 会员id
userId = Integer.valueOf(map.get("userId"));
- this.insertCardBalance(consumeAmount,userId);
+ this.insertCardBalance(consumeAmount,userId,storeId);
}
// 优惠券id
Integer couponId = null;
@@ -271,7 +275,7 @@ public class OilOrderServiceImpl extends ServiceImpl i
}
if (userId!=null){
- this.updateGrowthValue(oilActualPay, userId, Integer.valueOf(jsonObjects.get(i).get("oilName").toString()),refuelMoney);
+ this.updateGrowthValue(oilActualPay, userId, Integer.valueOf(jsonObjects.get(i).get("oilName").toString()),refuelMoney,storeId);
}
order.setStoreId(storeId);
order.setUserId(userId);
@@ -378,6 +382,64 @@ public class OilOrderServiceImpl extends ServiceImpl i
return orderNo;
}
+ @Override
+ public void appletPay(Map map) {
+ String orderNo = map.get("orderNo");
+// 支付金额
+ Integer payAmount = (int) (Double.valueOf(map.get("payAmount"))*100);
+// 优惠金额
+ String discountAmount = map.get("discountAmount");
+// 囤油卡消费后的信息
+ String oilCardAmount = map.get("oilCardAmount");
+// 储值卡消费金额
+ String balanceAmount = map.get("balanceAmount");
+ Integer tankId = Integer.valueOf(map.get("tankId"));
+
+// 根据订单号查询订单信息
+ OilOrder oilOrder = this.selectOilOrderByOrderNo(orderNo);
+ oilOrder.setTankId(tankId);
+ if (!map.get("payAmount").equals("0")) {
+// 调用支付接口
+// 判断是否开启支付规则
+ List list = merchantConfigService.selectMeChByIsOpen();
+ if (list.size() > 0) {
+ oilConfigService.oilRule();
+ }
+ // 根据店铺id查询商户配置信息
+ MerchantConfig merchantConfig = merchantConfigService.selectMeChByIsUse("1");
+ LJUserVo userVo = userService.selectUserById(oilOrder.getUserId());
+ // 处理支付需要的数据
+ Map map1 = new HashMap<>();
+ map1.put("allAmount", payAmount.toString());
+ map1.put("orderNo", oilOrder.getOrderNo());
+ map1.put("insCd", merchantConfig.getInsCd());
+ map1.put("mchntCd", merchantConfig.getMchntCd());
+ map1.put("goodsDes", oilOrder.getOils() + oilOrder.getOilGunNum());
+ map1.put("publicKey", merchantConfig.getPublicKey());
+ map1.put("privateKey", merchantConfig.getPrivateKey());
+ map1.put("discountAmount", discountAmount);
+ map1.put("oilCardAmount", oilCardAmount);
+ map1.put("balanceAmount", balanceAmount);
+ map1.put("openId", userVo.getOpenId());
+
+ // 调用支付接口
+ try {
+ fyPayService.applet(map1);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }else {
+ this.updateGrowthValue(Double.valueOf(payAmount),oilOrder.getUserId(), Integer.valueOf(oilOrder.getOils()),oilCardAmount,oilOrder.getStoreId());
+ this.addOilTracks(oilOrder,oilOrder.getStoreId());
+ this.insertCardBalance(Double.valueOf(balanceAmount),oilOrder.getUserId(),oilOrder.getStoreId());
+ oilOrder.setPayAmount(Double.valueOf(payAmount));
+ oilOrder.setDiscountAmount(Double.valueOf(discountAmount));
+ oilOrder.setPayTime(new Date());
+ oilOrder.setOrderStatus("paid");
+ baseMapper.updateById(oilOrder);
+ }
+ }
+
@Autowired
private OilTankService oilTankService;
@Autowired
@@ -411,6 +473,32 @@ public class OilOrderServiceImpl extends ServiceImpl i
oilTankService.update(oilTank);
}
+ /**
+ * 添加油品库存跟踪信息
+ * @param oilOrder
+ */
+ @Override
+ public void addOilTracks(OilOrder oilOrder,Integer storeId){
+ OilTank oilTank = oilTankService.queryById(oilOrder.getTankId());
+// 添加库存跟踪信息
+ OilTracking oilTracking = new OilTracking();
+ oilTracking.setDocument("油品出售");
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
+ String timestamp = dateFormat.format(new Date());
+ String randomString = UUID.randomUUID().toString().replace("-","").substring(0,6);
+ oilTracking.setOrderNumber(timestamp+randomString);
+
+ oilTracking.setQuantityChange(-oilOrder.getOilNum());
+ oilTracking.setStoreId(storeId);
+ oilTracking.setTankId(oilOrder.getTankId());
+ oilTrackingService.insert(oilTracking);
+
+// 修改油罐容量
+ Double storedQuantity = oilTank.getStoredQuantity();
+ oilTank.setStoredQuantity(storedQuantity-oilOrder.getOilNum());
+ oilTankService.update(oilTank);
+ }
+
@Override
public int updateOilOrder(OilOrder order) {
int row = baseMapper.updateById(order);
@@ -423,19 +511,21 @@ public class OilOrderServiceImpl extends ServiceImpl i
private LJUserService userService;
@Autowired
private LJUserGradeService userGradeService;
+ @Autowired
+ private ILJStoreService storeService;
/**
* 修改用户成长值信息
*/
- private void updateGrowthValue(Double oilActualPay,Integer userid,Integer oilId,String refuelMoney){
+ private void updateGrowthValue(Double oilActualPay,Integer userid,Integer oilId,String refuelMoney,Integer storeId){
if (oilId!=null){
OilName oilName = oilNameService.selectOilNameById(oilId);
// 获取成长值增长数值
Integer gasGrowthValue = null;
Integer dieselGrowthValue = null;
Integer naturalGrowthValue = null;
- AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
- UserBalance balance = userBalanceService.selectUserBalance(userid,nowAccountInfo.getStoreId());
+ LJStore store = storeService.selectStoreByStoreId(storeId);
+ UserBalance balance = userBalanceService.selectUserBalance(userid,store.getChainStoreId());
int growth = balance.getGrowthValue();
balance.setRefuelMoney(refuelMoney);
// 查询会员等级列表信息
@@ -492,10 +582,11 @@ public class OilOrderServiceImpl extends ServiceImpl i
}
}
- private void insertCardBalance(Double amount,Integer userId){
+ private void insertCardBalance(Double amount,Integer userId,Integer storeId){
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
// 根据用户id查询用户余额信息
- UserBalance balance = userBalanceService.selectUserBalance(userId,nowAccountInfo.getStoreId());
+ LJStore store = storeService.selectStoreByStoreId(storeId);
+ UserBalance balance = userBalanceService.selectUserBalance(userId,store.getChainStoreId());
// 修改余额信息
Double beforeBalance = balance.getCardBalance();
Double afterBalance = beforeBalance - amount;
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/mapper/xml/OilNumberMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/mapper/xml/OilNumberMapper.xml
index 1ea66db0c..e4095aef1 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/mapper/xml/OilNumberMapper.xml
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/petrolStationManagement/mapper/xml/OilNumberMapper.xml
@@ -132,7 +132,9 @@