chao há 3 anos atrás
pai
commit
b627b4dadf

+ 2 - 1
README.md

@@ -1,3 +1,4 @@
 # caimei365-cloud-order
 # caimei365-cloud-order
 
 
-采美365微服务-订单服务
+采美365微服务-订单服务
+

+ 191 - 2
src/main/java/com/caimei365/order/components/WeChatService.java

@@ -236,8 +236,8 @@ public class WeChatService {
 //            return access_token;
 //            return access_token;
 //        }
 //        }
         String link = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
         String link = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
-        link = link.replace("APPID", crmAppId);
-        link = link.replace("APPSECRET", crmAppSecret);
+        link = link.replace("APPID", "wx0938e78f38bc203d");
+        link = link.replace("APPSECRET", "a563dd2c07c9c815a4e697c8b6cb73dc");
         String result = RequestUtil.sendGet(link);
         String result = RequestUtil.sendGet(link);
         log.info("微信公众号获取access_token>>>" + result);
         log.info("微信公众号获取access_token>>>" + result);
         Map<String, Object> map = JSONObject.parseObject(result, Map.class);
         Map<String, Object> map = JSONObject.parseObject(result, Map.class);
@@ -330,4 +330,193 @@ public class WeChatService {
             log.error("推送微信模板消息失败:", e);
             log.error("推送微信模板消息失败:", e);
         }
         }
     }
     }
+
+    /**
+     * 下单消息推送
+     * @param accessToken 微信公众号
+     * @param openid 公众号的openid
+     * @param title 标题
+     * @param name 商品名称
+     * @param orderno 订单编号
+     * @param money 金额
+     * @param remarkText 备注
+     * @param pagePath 跳转链接
+     */
+    public void sendTemplateMsgs(String accessToken, String openid, String title, String name,String orderno, Double money, String remarkText, String pagePath) {
+        JSONObject first = new JSONObject();
+        first.put("value", title);
+        first.put("color", "#000000");
+        JSONObject keyword1 = new JSONObject();
+        keyword1.put("value", name);
+        keyword1.put("color", "#FF0000");
+        JSONObject keyword2 = new JSONObject();
+        keyword2.put("value", orderno);
+        keyword2.put("color", "#c4c400");
+        JSONObject keyword3 = new JSONObject();
+        keyword3.put("value", money.toString());
+        keyword3.put("color", "#c4c400");
+        JSONObject remark = new JSONObject();
+        remark.put("value", remarkText);
+        remark.put("color", "#c4c400");
+
+        JSONObject data = new JSONObject();
+        data.put("first", first);
+        data.put("keyword1", keyword1);
+        data.put("keyword2", keyword2);
+        data.put("keyword3", keyword3);
+        data.put("remark", remark);
+
+        JSONObject miniProgram = new JSONObject();
+        miniProgram.put("appid", "o6rro6UAe6BRU30flEGvelFShDBw");
+        miniProgram.put("pagepath", pagePath);
+
+        JSONObject json = new JSONObject();
+        json.put("touser", openid);
+        json.put("template_id", "lLPssEY0tx6k5jT-8tDQgEpInf5quA3_M9RsI9aw3IM");
+        json.put("url", "https://www.caimei365.com/");
+        json.put("miniprogram", miniProgram);
+        json.put("data", data);
+        // json 字符串
+        String jsonString = json.toJSONString();
+        log.info(">>>>>>>>推送微信模板消息:" + jsonString);
+        try {
+            // https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
+            String requestUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+accessToken;
+            // 发送请求
+            String result = RequestUtil.httpRequest(requestUrl, "POST", jsonString);
+            log.info(">>>>>>>>推送结果:" + result);
+        } catch (Exception e) {
+            log.error("推送微信模板消息失败:", e);
+        }
+    }
+
+    /**
+     * 发货消息推送
+     * @param accessToken
+     * @param openid
+     * @param title 标题
+     * @param orderno 订单编号
+     * @param time 发货时间
+     * @param company 快递名称
+     * @param companyno 快递编号
+     * @param remarkText 备注
+     * @param pagePath 跳转链接
+     */
+    public void sendTemplateMsgy(String accessToken, String openid, String title, String orderno,String time, String company, String companyno,String remarkText, String pagePath) {
+        JSONObject first = new JSONObject();
+        first.put("value", title);
+        first.put("color", "#000000");
+        JSONObject keyword1 = new JSONObject();
+        keyword1.put("value", orderno);
+        keyword1.put("color", "#FF0000");
+        JSONObject keyword2 = new JSONObject();
+        keyword2.put("value", time);
+        keyword2.put("color", "#c4c400");
+        JSONObject keyword3 = new JSONObject();
+        keyword3.put("value", company);
+        keyword3.put("color", "#c4c400");
+        JSONObject keyword4 = new JSONObject();
+        keyword4.put("value", companyno);
+        keyword4.put("color", "#c4c400");
+        JSONObject remark = new JSONObject();
+        remark.put("value", remarkText);
+        remark.put("color", "#c4c400");
+
+        JSONObject data = new JSONObject();
+        data.put("first", first);
+        data.put("keyword1", keyword1);
+        data.put("keyword2", keyword2);
+        data.put("keyword3", keyword3);
+        data.put("keyword4", keyword4);
+        data.put("remark", remark);
+
+        JSONObject miniProgram = new JSONObject();
+        miniProgram.put("appid", receiptAppId);
+        miniProgram.put("pagepath", pagePath);
+
+        JSONObject json = new JSONObject();
+        json.put("touser", openid);
+        json.put("template_id", "_Zc6WiUp3hM4yBgT30HkTyA-SmcCN-sjnGpIa6n3rKI");
+        json.put("url", "https://www.caimei365.com/");
+        json.put("miniprogram", miniProgram);
+        json.put("data", data);
+        // json 字符串
+        String jsonString = json.toJSONString();
+        log.info(">>>>>>>>推送微信模板消息:" + jsonString);
+        try {
+            // https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
+            String requestUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+accessToken;
+            // 发送请求
+            String result = RequestUtil.httpRequest(requestUrl, "POST", jsonString);
+            log.info(">>>>>>>>推送结果:" + result);
+        } catch (Exception e) {
+            log.error("推送微信模板消息失败:", e);
+        }
+    }
+
+    /**
+     * 购买成功消息推送
+     * @param accessToken
+     * @param openid
+     * @param title 标题
+     * @param paytime 付款时间
+     * @param name 商品名称
+     * @param orderno 商品编号
+     * @param money 订单金额
+     * @param remarkText 备注
+     * @param pagePath 跳转链接
+     */
+    public void sendTemplateMsgz(String accessToken, String openid, String title,String paytime, String name,String orderno, Double money, String remarkText, String pagePath) {
+        JSONObject first = new JSONObject();
+        first.put("value", title);
+        first.put("color", "#000000");
+        JSONObject keyword1 = new JSONObject();
+        keyword1.put("value", name);
+        keyword1.put("color", "#FF0000");
+        JSONObject keyword2 = new JSONObject();
+        keyword2.put("value", orderno);
+        keyword2.put("color", "#c4c400");
+        JSONObject keyword3 = new JSONObject();
+        keyword3.put("value", money);
+        keyword3.put("color", "#c4c400");
+        JSONObject keyword4 = new JSONObject();
+        keyword4.put("value", paytime);
+        keyword4.put("color", "#c4c400");
+        JSONObject remark = new JSONObject();
+        remark.put("value", remarkText);
+        remark.put("color", "#c4c400");
+
+        JSONObject data = new JSONObject();
+        data.put("first", first);
+        data.put("keyword1", keyword1);
+        data.put("keyword2", keyword2);
+        data.put("keyword3", keyword3);
+        data.put("keyword4", keyword4);
+        data.put("remark", remark);
+
+        JSONObject miniProgram = new JSONObject();
+        miniProgram.put("appid", receiptAppId);
+        miniProgram.put("pagepath", pagePath);
+
+        JSONObject json = new JSONObject();
+        json.put("touser", openid);
+        json.put("template_id", "KV6huLTZInkwTRyPkvaUElD3xs4TgEBK4e0xuDiSAmU");
+        json.put("url", "https://www.caimei365.com/");
+        json.put("miniprogram", miniProgram);
+        json.put("data", data);
+        // json 字符串
+        String jsonString = json.toJSONString();
+        log.info(">>>>>>>>推送微信模板消息:" + jsonString);
+        try {
+            // https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
+            String requestUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+accessToken;
+            // 发送请求
+            String result = RequestUtil.httpRequest(requestUrl, "POST", jsonString);
+            log.info(">>>>>>>>推送结果:" + result);
+        } catch (Exception e) {
+            log.error("推送微信模板消息失败:", e);
+        }
+    }
+
+
 }
 }

+ 104 - 2
src/main/java/com/caimei365/order/mapper/OrderClubMapper.java

@@ -17,93 +17,127 @@ import java.util.List;
 public interface OrderClubMapper {
 public interface OrderClubMapper {
     /**
     /**
      * 判断订单是否存在
      * 判断订单是否存在
+     *
      * @param orderId 订单Id
      * @param orderId 订单Id
      */
      */
     int countMainOrderByOrderId(Integer orderId);
     int countMainOrderByOrderId(Integer orderId);
+
     /**
     /**
      * 根据订单Id查询订单
      * 根据订单Id查询订单
+     *
      * @param orderId 订单Id
      * @param orderId 订单Id
      */
      */
     OrderPo getMainOrderByOrderId(Integer orderId);
     OrderPo getMainOrderByOrderId(Integer orderId);
+
     /**
     /**
      * 根据订单Id查询订单商品列表
      * 根据订单Id查询订单商品列表
+     *
      * @param orderId 订单Id
      * @param orderId 订单Id
      */
      */
     List<OrderProductPo> getOrderProductList(Integer orderId);
     List<OrderProductPo> getOrderProductList(Integer orderId);
+
     /**
     /**
      * 设置二手仪器已售
      * 设置二手仪器已售
+     *
      * @param productId 商品Id
      * @param productId 商品Id
      */
      */
     void updateSecondStatus(Integer productId, Integer sold);
     void updateSecondStatus(Integer productId, Integer sold);
+
     /**
     /**
      * 根据用户Id更新用户余额
      * 根据用户Id更新用户余额
+     *
      * @param userId 用户Id
      * @param userId 用户Id
      */
      */
     void updateUserMoneyByUserId(double userMoney, Integer userId);
     void updateUserMoneyByUserId(double userMoney, Integer userId);
+
     /**
     /**
      * 根据用户Id更新用户可用余额
      * 根据用户Id更新用户可用余额
+     *
      * @param userId 用户Id
      * @param userId 用户Id
      */
      */
     void updateAbleUserMoneyByUserId(double ableUserMoney, Integer userId);
     void updateAbleUserMoneyByUserId(double ableUserMoney, Integer userId);
+
     /**
     /**
      * 更新订单状态
      * 更新订单状态
+     *
      * @param order 主订单
      * @param order 主订单
      */
      */
     void updateOrderStatus(OrderPo order);
     void updateOrderStatus(OrderPo order);
+
     /**
     /**
      * 取消 余额收支记录
      * 取消 余额收支记录
      */
      */
     void cancelBalanceRecord(BalanceRecordPo balanceRecord);
     void cancelBalanceRecord(BalanceRecordPo balanceRecord);
+
     /**
     /**
      * 取消 订单
      * 取消 订单
      */
      */
     void cancelMainOrder(OrderPo order);
     void cancelMainOrder(OrderPo order);
+
     /**
     /**
      * 逻辑删除主订单
      * 逻辑删除主订单
      */
      */
     void deleteMainOrder(Integer orderId, String note);
     void deleteMainOrder(Integer orderId, String note);
+
     /**
     /**
      * 逻辑删除子订单
      * 逻辑删除子订单
+     *
      * @param shopOrderIds 子订单Ids
      * @param shopOrderIds 子订单Ids
      */
      */
     void deleteShopOrder(@Param("shopOrderIds") List<String> shopOrderIds);
     void deleteShopOrder(@Param("shopOrderIds") List<String> shopOrderIds);
+
     /**
     /**
      * 获取收款记录Id列表
      * 获取收款记录Id列表
+     *
      * @param orderId 订单Id
      * @param orderId 订单Id
      */
      */
     List<String> getOrderReceiptIds(Integer orderId);
     List<String> getOrderReceiptIds(Integer orderId);
+
     /**
     /**
      * 逻辑删除订单与收款记录关系表
      * 逻辑删除订单与收款记录关系表
+     *
      * @param orderId 订单Id
      * @param orderId 订单Id
      */
      */
     void deleteOrderReceiptRelation(Integer orderId);
     void deleteOrderReceiptRelation(Integer orderId);
+
     /**
     /**
      * 逻辑删除收款记录表
      * 逻辑删除收款记录表
+     *
      * @param receiptIds 收款记录Ids
      * @param receiptIds 收款记录Ids
      */
      */
     void deleteDiscernReceipt(@Param("receiptIds") List<String> receiptIds);
     void deleteDiscernReceipt(@Param("receiptIds") List<String> receiptIds);
+
     /**
     /**
      * 获取付款记录Id列表
      * 获取付款记录Id列表
+     *
      * @param shopOrderIds 子订单Ids
      * @param shopOrderIds 子订单Ids
      */
      */
     List<String> getPayShopIds(@Param("shopOrderIds") List<String> shopOrderIds);
     List<String> getPayShopIds(@Param("shopOrderIds") List<String> shopOrderIds);
+
     /**
     /**
      * 逻辑删除订单与付款记录关系表
      * 逻辑删除订单与付款记录关系表
+     *
      * @param shopOrderIds 子订单Ids
      * @param shopOrderIds 子订单Ids
      */
      */
     void deletePayShopRecord(@Param("shopOrderIds") List<String> shopOrderIds);
     void deletePayShopRecord(@Param("shopOrderIds") List<String> shopOrderIds);
+
     /**
     /**
      * 逻辑删除付款记录表
      * 逻辑删除付款记录表
+     *
      * @param payIds 付款记录Ids
      * @param payIds 付款记录Ids
      */
      */
     void deletePayShop(@Param("payIds") List<String> payIds);
     void deletePayShop(@Param("payIds") List<String> payIds);
+
     /**
     /**
      * 更新物流状态
      * 更新物流状态
+     *
      * @param orderId 订单Id
      * @param orderId 订单Id
      */
      */
     void updateLogisticsBatch(Integer orderId);
     void updateLogisticsBatch(Integer orderId);
+
     /**
     /**
      * 获取各状态订单数量
      * 获取各状态订单数量
+     *
      * @param userId     用户Id
      * @param userId     用户Id
      * @param orderState 1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
      * @param orderState 1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
      */
      */
@@ -111,6 +145,7 @@ public interface OrderClubMapper {
 
 
     /**
     /**
      * 过滤不可见订单
      * 过滤不可见订单
+     *
      * @param userId
      * @param userId
      * @param orderState
      * @param orderState
      * @return
      * @return
@@ -119,6 +154,7 @@ public interface OrderClubMapper {
 
 
     /**
     /**
      * 机构订单列表
      * 机构订单列表
+     *
      * @param userId     用户Id
      * @param userId     用户Id
      * @param orderState 1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
      * @param orderState 1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
      * @param orderNo    订单编号
      * @param orderNo    订单编号
@@ -126,88 +162,154 @@ public interface OrderClubMapper {
      * @param endTime    截止时间
      * @param endTime    截止时间
      */
      */
     List<OrderVo> getOrderList(Integer userId, Integer orderState, String orderNo, String beginTime, String endTime);
     List<OrderVo> getOrderList(Integer userId, Integer orderState, String orderNo, String beginTime, String endTime);
+
     /**
     /**
      * 根据关键词搜索订单
      * 根据关键词搜索订单
+     *
      * @param searchWord 关键词
      * @param searchWord 关键词
      * @param userId     用户Id
      * @param userId     用户Id
      */
      */
     List<OrderVo> getOrderListByKeyword(String searchWord, Integer userId);
     List<OrderVo> getOrderListByKeyword(String searchWord, Integer userId);
+
     /**
     /**
      * 根据用户Id查找订单搜索历史记录
      * 根据用户Id查找订单搜索历史记录
+     *
      * @param userId 用户Id
      * @param userId 用户Id
      */
      */
     List<SearchHistoryVo> getOrderSearchHistory(Integer userId);
     List<SearchHistoryVo> getOrderSearchHistory(Integer userId);
+
     /**
     /**
      * 根据用户Id删除订单搜索历史记录
      * 根据用户Id删除订单搜索历史记录
+     *
      * @param userId 用户Id
      * @param userId 用户Id
      */
      */
     void deleteOrderSearchHistory(Integer userId);
     void deleteOrderSearchHistory(Integer userId);
+
     /**
     /**
      * 退款记录
      * 退款记录
+     *
      * @param orderId 订单Id
      * @param orderId 订单Id
      */
      */
     List<ReturnedPurchaseVo> getReturnedPurchaseList(Integer orderId);
     List<ReturnedPurchaseVo> getReturnedPurchaseList(Integer orderId);
+
     /**
     /**
      * 售后条款
      * 售后条款
+     *
      * @param clauseId 条款Id
      * @param clauseId 条款Id
      */
      */
     ClauseVo getClauseById(Integer clauseId);
     ClauseVo getClauseById(Integer clauseId);
+
     /**
     /**
      * 获取物流批次子订单Id列表
      * 获取物流批次子订单Id列表
+     *
      * @param orderId 订单Id
      * @param orderId 订单Id
-     * @param id 物流批次Id
+     * @param id      物流批次Id
      */
      */
     List<String> getBatchShopOrderIds(Integer orderId, Integer id);
     List<String> getBatchShopOrderIds(Integer orderId, Integer id);
+
     /**
     /**
      * 获取数据库已有分享码
      * 获取数据库已有分享码
+     *
      * @param orderId 订单Id
      * @param orderId 订单Id
      */
      */
     OrderShareCodeVo getOrderCodeById(Integer orderId);
     OrderShareCodeVo getOrderCodeById(Integer orderId);
+
     /**
     /**
      * 删除分享码使用记录
      * 删除分享码使用记录
+     *
      * @param orderId 订单Id
      * @param orderId 订单Id
      */
      */
     void deleteOrderShareCodeRecord(Integer orderId);
     void deleteOrderShareCodeRecord(Integer orderId);
+
     /**
     /**
      * 更新数据库的分享码
      * 更新数据库的分享码
      */
      */
+
     void updateOrderShareCode(OrderShareCodeVo orderShareCode);
     void updateOrderShareCode(OrderShareCodeVo orderShareCode);
+
     /**
     /**
      * 新增数据库的分享码
      * 新增数据库的分享码
      */
      */
     void insertOrderShareCode(OrderShareCodeVo orderShareCode);
     void insertOrderShareCode(OrderShareCodeVo orderShareCode);
+
     /**
     /**
      * 根据openId统计数据库内是否有有效分享码
      * 根据openId统计数据库内是否有有效分享码
      */
      */
     int countShareCodeRecord(Integer orderId, String openId);
     int countShareCodeRecord(Integer orderId, String openId);
+
+    /**
+     * 根据用户id获取用户openid列表(微信公众号openid,下单)
+     */
+    List<String> getOpenidListByPermission(Integer orderId);
+
+    /*
+     *根据orderId查询商品名称
+     */
+    List<String> getOrderId(Integer orderId);
+    /*
+     *根据orderId查询订单金额
+     */
+    Double getpayTotalFee(Integer orderId);
+
+    /*
+     *根据orderId查询支付时间
+     */
+    String getpayTime(Integer orderId);
+
+    /*
+     *根据orderId查询收款状态
+     */
+    Integer getreceiptStatus(Integer orderId);
+
+    /*
+     *根据orderId查询二手订单标识
+     */
+    Integer getsecondHandOrderFlag(Integer orderId);
+
+    /*
+     *根据orderId查询返佣订单标识
+     */
+    Integer getrebateFlag(Integer orderId);
+    /*
+     *根据orderId查询商品编号
+     */
+    String getOrderNo(Integer orderId);
+
     /**
     /**
      * 保存分享码使用记录
      * 保存分享码使用记录
      */
      */
     void insertOrderShareCodeRecord(OrderShareCodeRecordVo codeRecord);
     void insertOrderShareCodeRecord(OrderShareCodeRecordVo codeRecord);
+
     /**
     /**
      * 根据clubCouponId获取优惠券
      * 根据clubCouponId获取优惠券
      */
      */
-    CouponVo getClubCouponById(Integer clubCouponId,Integer userId);
+    CouponVo getClubCouponById(Integer clubCouponId, Integer userId);
+
     /**
     /**
      * 修改优惠券使用情况
      * 修改优惠券使用情况
      */
      */
     void updateCouponClubStatus(Integer clubCouponId, Integer orderId);
     void updateCouponClubStatus(Integer clubCouponId, Integer orderId);
+
     /**
     /**
      * 查询订单优惠信息
      * 查询订单优惠信息
      */
      */
     CouponOrderRecordPo getOrderCouponRecord(Integer orderId);
     CouponOrderRecordPo getOrderCouponRecord(Integer orderId);
+
     /**
     /**
      * 查询用户优惠券关联数据
      * 查询用户优惠券关联数据
      */
      */
     CouponClubPo getCouponClubById(Integer clubCouponId);
     CouponClubPo getCouponClubById(Integer clubCouponId);
+
     /**
     /**
      * 保存用户关联信息
      * 保存用户关联信息
      */
      */
     void insertCouponClub(CouponClubPo couponClub);
     void insertCouponClub(CouponClubPo couponClub);
+
     /**
     /**
      * 删除优惠券与订单的关联信息
      * 删除优惠券与订单的关联信息
      */
      */
     void deleteCouponClubById(Integer clubCouponId);
     void deleteCouponClubById(Integer clubCouponId);
+
     /**
     /**
      * 机构最新订单Id
      * 机构最新订单Id
      */
      */

+ 6 - 0
src/main/java/com/caimei365/order/mapper/PayOrderMapper.java

@@ -91,6 +91,12 @@ public interface PayOrderMapper {
      * @param orderId 订单Id
      * @param orderId 订单Id
      */
      */
     Integer getDbPaySuccessCounter(Integer orderId);
     Integer getDbPaySuccessCounter(Integer orderId);
+
+    /**
+     * 根据用户id获取用户openid列表(微信公众号openid,下单)
+     */
+    List<String> getOpenidListByPermission(Integer orderId);
+
     /**
     /**
      * 保存分账详情
      * 保存分账详情
      */
      */

+ 9 - 0
src/main/java/com/caimei365/order/mapper/ShipMapper.java

@@ -27,6 +27,15 @@ public interface ShipMapper {
      * @param shopOrderId 子订单Id
      * @param shopOrderId 子订单Id
      */
      */
     ShopOrderVo getShopOrder(Integer shopOrderId);
     ShopOrderVo getShopOrder(Integer shopOrderId);
+
+    /**
+     * 根据子订单id查询openid
+     * @param shopOrderId
+     */
+    List<String> getOpenidListByPermission(Integer shopOrderId);
+
+    String getorderID(Integer shopOrderId);
+
     /**
     /**
      * (收款买家)收款状态:1待收款、2部分收款、3已收款
      * (收款买家)收款状态:1待收款、2部分收款、3已收款
      * @param orderId 订单Id
      * @param orderId 订单Id

+ 24 - 0
src/main/java/com/caimei365/order/service/impl/OrderClubServiceImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.caimei365.order.components.OrderCommonService;
 import com.caimei365.order.components.OrderCommonService;
 import com.caimei365.order.components.ProductService;
 import com.caimei365.order.components.ProductService;
+import com.caimei365.order.components.WeChatService;
 import com.caimei365.order.mapper.AddressMapper;
 import com.caimei365.order.mapper.AddressMapper;
 import com.caimei365.order.mapper.BaseMapper;
 import com.caimei365.order.mapper.BaseMapper;
 import com.caimei365.order.mapper.OrderClubMapper;
 import com.caimei365.order.mapper.OrderClubMapper;
@@ -59,6 +60,8 @@ public class OrderClubServiceImpl implements OrderClubService {
     private RemoteCallService remoteCallService;
     private RemoteCallService remoteCallService;
     @Resource
     @Resource
     private OrderCommonService orderCommonService;
     private OrderCommonService orderCommonService;
+    @Resource
+    private WeChatService weChatService;
 
 
     /**
     /**
      * 获取各状态订单数量
      * 获取各状态订单数量
@@ -375,6 +378,27 @@ public class OrderClubServiceImpl implements OrderClubService {
         order.setConfirmFlag(2);
         order.setConfirmFlag(2);
         // 更新订单状态
         // 更新订单状态
         orderClubMapper.updateOrderStatus(order);
         orderClubMapper.updateOrderStatus(order);
+        if (0==order.getSecondHandOrderFlag() && 0==order.getRebateFlag() ) {
+        try {
+            String accessToken = weChatService.getAccessToken();
+            List<String> openidList = orderClubMapper.getOpenidListByPermission(orderId);
+            openidList.removeIf(Objects::isNull);
+            String name= orderClubMapper.getOrderId(orderId).toString();
+            String associateTitle = "订单已成功提交,等待付款!";
+            Double money=order.getPayTotalFee();
+            String orderno = orderClubMapper.getOrderNo(orderId);
+            String remarkText = "下单时间:" + order.getOrderTime() +"点击详情进行付款";
+            // 跳转到【小程序付款-选择支付方式页面】
+            String pagePath = "pages/user/order/order-payment?type=payfirm&orderId="+orderId;
+            for (String openid : openidList) {
+                // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接)
+                weChatService.sendTemplateMsgs(accessToken, openid, associateTitle, name,orderno, money, remarkText, pagePath);
+            }
+        } catch (Exception e) {
+            log.error("【订单发货通知】获取微信公众号access_token异常!", e);
+        }
+        }
+
 
 
         return ResponseJson.success("确认订单成功!", null);
         return ResponseJson.success("确认订单成功!", null);
     }
     }

+ 28 - 1
src/main/java/com/caimei365/order/service/impl/PayOrderServiceImpl.java

@@ -408,7 +408,7 @@ public class PayOrderServiceImpl implements PayOrderService {
             Integer mouth = payOrderMapper.getVipPackageDurationById(record.getPackageId());
             Integer mouth = payOrderMapper.getVipPackageDurationById(record.getPackageId());
             orderPayLink.setVipMonth(mouth);
             orderPayLink.setVipMonth(mouth);
             orderPayLink.setUnpaidAmount(price);
             orderPayLink.setUnpaidAmount(price);
-        }else if (null != payLinkDto.getAuthVipRecordId()){
+        } else if (null != payLinkDto.getAuthVipRecordId()) {
             // 获取认证通会员套餐记录
             // 获取认证通会员套餐记录
             VipRecordBo record = payOrderMapper.getAuthVipRecord(payLinkDto.getAuthVipRecordId());
             VipRecordBo record = payOrderMapper.getAuthVipRecord(payLinkDto.getAuthVipRecordId());
             // 获取认证通会员套餐信息
             // 获取认证通会员套餐信息
@@ -987,8 +987,35 @@ public class PayOrderServiceImpl implements PayOrderService {
     public ResponseJson<String> payWhetherSuccess(Integer orderId, Integer paySuccessCounter) {
     public ResponseJson<String> payWhetherSuccess(Integer orderId, Integer paySuccessCounter) {
         Integer dbPayCounter = payOrderMapper.getDbPaySuccessCounter(orderId);
         Integer dbPayCounter = payOrderMapper.getDbPaySuccessCounter(orderId);
         if (paySuccessCounter.equals(dbPayCounter)) {
         if (paySuccessCounter.equals(dbPayCounter)) {
+
             return ResponseJson.error(-2, "支付失败", "付款次数异常");
             return ResponseJson.error(-2, "支付失败", "付款次数异常");
         } else if (dbPayCounter > paySuccessCounter) {
         } else if (dbPayCounter > paySuccessCounter) {
+
+            if ( 1 == orderClubMapper.getreceiptStatus(orderId)) {
+                if (0 == orderClubMapper.getsecondHandOrderFlag(orderId) && 0 == orderClubMapper.getrebateFlag(orderId)) {
+                    try {
+                        String accessToken = weChatService.getAccessToken();
+                        List<String> openidList = payOrderMapper.getOpenidListByPermission(orderId);
+                        openidList.removeIf(Objects::isNull);
+                        String name = StringUtils.strip(orderClubMapper.getOrderId(orderId).toString().substring(0,11), "[]");
+                        String associateTitle = "订单支付成功!";
+                        Double money = orderClubMapper.getpayTotalFee(orderId);
+                        String orderno = orderClubMapper.getOrderNo(orderId);
+                        String paytime = orderClubMapper.getpayTime(orderId);
+                        String remarkText = "采美将尽快为您安排发货~";
+                        // 跳转到【小程序付款-选择支付方式页面】
+                        String pagePath = "pages/user/order/order-details?orderId=" + orderId;
+                        for (String openid : openidList) {
+                            // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接)
+                            weChatService.sendTemplateMsgz(accessToken, openid, associateTitle, paytime, name, orderno, money, remarkText, pagePath);
+                        }
+                    } catch (Exception e) {
+                        log.error("【订单发货通知】获取微信公众号access_token异常!", e);
+                    }
+                }
+            }
+
+
             return ResponseJson.success("支付成功");
             return ResponseJson.success("支付成功");
         } else {
         } else {
             return ResponseJson.error("支付异常", null);
             return ResponseJson.error("支付异常", null);

+ 27 - 4
src/main/java/com/caimei365/order/service/impl/ReceiptServiceImpl.java

@@ -2,10 +2,7 @@ package com.caimei365.order.service.impl;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.caimei365.order.components.WeChatService;
 import com.caimei365.order.components.WeChatService;
-import com.caimei365.order.mapper.BaseMapper;
-import com.caimei365.order.mapper.OrderCommonMapper;
-import com.caimei365.order.mapper.PayOrderMapper;
-import com.caimei365.order.mapper.ReceiptMapper;
+import com.caimei365.order.mapper.*;
 import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.bo.ReceiptParamsBo;
 import com.caimei365.order.model.bo.ReceiptParamsBo;
 import com.caimei365.order.model.dto.ReceiptDto;
 import com.caimei365.order.model.dto.ReceiptDto;
@@ -59,6 +56,8 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Resource
     @Resource
     private PayOrderMapper payOrderMapper;
     private PayOrderMapper payOrderMapper;
     @Resource
     @Resource
+    private OrderClubMapper orderClubMapper;
+    @Resource
     private BaseMapper baseMapper;
     private BaseMapper baseMapper;
     /**
     /**
      * 只有当识别出来的收款类型是广发银行-5461 ,中信银行-0897,中信银行0897-财付通 和 中信银行0897-支付宝时,才会显示手续费,并且自动勾选上手续费,默认按收款金额的千分之一计算 (收款金额 - 手续费 = 短信中收到的金额)
      * 只有当识别出来的收款类型是广发银行-5461 ,中信银行-0897,中信银行0897-财付通 和 中信银行0897-支付宝时,才会显示手续费,并且自动勾选上手续费,默认按收款金额的千分之一计算 (收款金额 - 手续费 = 短信中收到的金额)
@@ -1767,6 +1766,30 @@ public class ReceiptServiceImpl implements ReceiptService {
                 log.error("【线下收款】获取微信公众号access_token异常!", e);
                 log.error("【线下收款】获取微信公众号access_token异常!", e);
             }
             }
         }
         }
+        OrderVo order=new OrderVo();
+        if(null!=order && 0==order.getPayFlag() && 1==order.getReceiptStatus()){
+            if (0==order.getSecondHandOrderFlag() && 0==order.getRebateFlag() ) {
+                try {
+                    String accessToken = weChatService.getAccessToken();
+                    List<String> openidList = receiptMapper.getOpenidListByPermission(Collections.singletonList(3));
+                    openidList.removeIf(Objects::isNull);
+                    String name= StringUtils.strip(orderClubMapper.getOrderId(order.getOrderId()).toString().substring(0,11), "[]");
+                    String associateTitle = "订单支付成功!";
+                    Double money=order.getPayTotalFee();
+                    String orderno = orderClubMapper.getOrderNo(order.getOrderId());
+                    String paytime=order.getPayTime();
+                    String remarkText = "采美将尽快为您安排发货~";
+                    // 跳转到【小程序付款-选择支付方式页面】
+                    String pagePath = "pages/user/order/order-details?orderId="+order.getOrderId();
+                    for (String openid : openidList) {
+                        // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接)
+                        weChatService.sendTemplateMsgz(accessToken, openid, associateTitle,paytime, name,orderno, money, remarkText, pagePath);
+                    }
+                } catch (Exception e) {
+                    log.error("【订单发货通知】获取微信公众号access_token异常!", e);
+                }
+            }
+        }
         return ResponseJson.success("审核收款信息成功!", null);
         return ResponseJson.success("审核收款信息成功!", null);
     }
     }
 
 

+ 47 - 16
src/main/java/com/caimei365/order/service/impl/ShipServiceImpl.java

@@ -2,10 +2,8 @@ package com.caimei365.order.service.impl;
 
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
-import com.caimei365.order.mapper.AddressMapper;
-import com.caimei365.order.mapper.BaseMapper;
-import com.caimei365.order.mapper.OrderCommonMapper;
-import com.caimei365.order.mapper.ShipMapper;
+import com.caimei365.order.components.WeChatService;
+import com.caimei365.order.mapper.*;
 import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.dto.JsonParamsDto;
 import com.caimei365.order.model.dto.JsonParamsDto;
 import com.caimei365.order.model.dto.LogisticsBatchDto;
 import com.caimei365.order.model.dto.LogisticsBatchDto;
@@ -53,7 +51,13 @@ public class ShipServiceImpl implements ShipService {
     @Resource
     @Resource
     private OrderCommonMapper orderCommonMapper;
     private OrderCommonMapper orderCommonMapper;
     @Resource
     @Resource
+    private OrderClubMapper orderClubMapper;
+    @Resource
     private RemoteCallService remoteCallService;
     private RemoteCallService remoteCallService;
+
+    @Resource
+    private WeChatService weChatService;
+
     /**
     /**
      * 供应商订单列表
      * 供应商订单列表
      *
      *
@@ -222,13 +226,13 @@ public class ShipServiceImpl implements ShipService {
      *                     note: 备注信息,
      *                     note: 备注信息,
      *                     image: 图片备注以##隔开,
      *                     image: 图片备注以##隔开,
      *                     logistics:[  // 物流信息
      *                     logistics:[  // 物流信息
-     *                          {number:'45646464646',logisticsCompanyName:'顺丰物流',logisticsCompanyCode:'物流英文代码'},
-     *                          {number:'45646464646',logisticsCompanyName:'顺丰物流',logisticsCompanyCode:'物流英文代码'}
-     *                        ],
+     *                     {number:'45646464646',logisticsCompanyName:'顺丰物流',logisticsCompanyCode:'物流英文代码'},
+     *                     {number:'45646464646',logisticsCompanyName:'顺丰物流',logisticsCompanyCode:'物流英文代码'}
+     *                     ],
      *                     products:[   // 商品信息
      *                     products:[   // 商品信息
-     *                          {orderProductId:订单商品id,num:此次发货数量},
-     *                          {orderProductId:订单商品id,num:此次发货数量}
-     *                        ],
+     *                     {orderProductId:订单商品id,num:此次发货数量},
+     *                     {orderProductId:订单商品id,num:此次发货数量}
+     *                     ],
      *                     }
      *                     }
      */
      */
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
@@ -274,13 +278,13 @@ public class ShipServiceImpl implements ShipService {
         logisticsBatch.setRemark(note);
         logisticsBatch.setRemark(note);
         // 保存物流批次
         // 保存物流批次
         shipMapper.insertLogisticsBatch(logisticsBatch);
         shipMapper.insertLogisticsBatch(logisticsBatch);
-        log.info("【供应商发货】>>>>>>>>>>>>>>>>>>>>>>>>>>新增物流批次(insert[cm_logistics_batch])shopOrderId:" + shopOrder.getShopOrderId() + ",logisticsBatchId:"+logisticsBatch.getId());
+        log.info("【供应商发货】>>>>>>>>>>>>>>>>>>>>>>>>>>新增物流批次(insert[cm_logistics_batch])shopOrderId:" + shopOrder.getShopOrderId() + ",logisticsBatchId:" + logisticsBatch.getId());
 
 
         /* products:[   // 发货商品信息
         /* products:[   // 发货商品信息
          *      {orderProductId:订单商品id,num:此次发货数量},
          *      {orderProductId:订单商品id,num:此次发货数量},
          *      {orderProductId:订单商品id,num:此次发货数量}]
          *      {orderProductId:订单商品id,num:此次发货数量}]
          */
          */
-        for (Object productObj: products) {
+        for (Object productObj : products) {
             JSONObject productInfo = (JSONObject) productObj;
             JSONObject productInfo = (JSONObject) productObj;
             Integer orderProductId = (Integer) productInfo.get("orderProductId");
             Integer orderProductId = (Integer) productInfo.get("orderProductId");
             Integer num = (Integer) productInfo.get("num");
             Integer num = (Integer) productInfo.get("num");
@@ -306,7 +310,7 @@ public class ShipServiceImpl implements ShipService {
             logisticsRecord.setImage(orderProduct.getImage());
             logisticsRecord.setImage(orderProduct.getImage());
             // 保存 发货物流记录
             // 保存 发货物流记录
             shipMapper.insertLogisticsRecord(logisticsRecord);
             shipMapper.insertLogisticsRecord(logisticsRecord);
-            log.info("【供应商发货】>>>>>>>>>>>>>>>>>>>>>>>>>>新增物流记录(insert[cm_logistics_record])shopOrderId:" + shopOrder.getShopOrderId() + ",logisticsRecordId:"+logisticsRecord.getId());
+            log.info("【供应商发货】>>>>>>>>>>>>>>>>>>>>>>>>>>新增物流记录(insert[cm_logistics_record])shopOrderId:" + shopOrder.getShopOrderId() + ",logisticsRecordId:" + logisticsRecord.getId());
 
 
             // 保存订单商品未出库数量
             // 保存订单商品未出库数量
             int notOutStore = orderProduct.getNotOutStore() - num;
             int notOutStore = orderProduct.getNotOutStore() - num;
@@ -317,7 +321,7 @@ public class ShipServiceImpl implements ShipService {
          *   {number:'45646464646',logisticsCompanyName:'顺丰物流',logisticsCompanyCode:'物流英文代码'},
          *   {number:'45646464646',logisticsCompanyName:'顺丰物流',logisticsCompanyCode:'物流英文代码'},
          *   {number:'45646464646',logisticsCompanyName:'顺丰物流',logisticsCompanyCode:'物流英文代码'}]
          *   {number:'45646464646',logisticsCompanyName:'顺丰物流',logisticsCompanyCode:'物流英文代码'}]
          */
          */
-        for (Object logisticObj: logistics) {
+        for (Object logisticObj : logistics) {
             JSONObject logistic = (JSONObject) logisticObj;
             JSONObject logistic = (JSONObject) logisticObj;
             String number = (String) logistic.get("number");
             String number = (String) logistic.get("number");
             String logisticsCompanyName = (String) logistic.get("logisticsCompanyName");
             String logisticsCompanyName = (String) logistic.get("logisticsCompanyName");
@@ -365,9 +369,36 @@ public class ShipServiceImpl implements ShipService {
          * 修改主订单发货状态
          * 修改主订单发货状态
          */
          */
         setMainOrderStatus(shopOrder);
         setMainOrderStatus(shopOrder);
-        return ResponseJson.success(logisticsBatch.getId());
-    }
+        /**
+         * 发货后消息推送
+         */
+        if (1 == orderClubMapper.getreceiptStatus(logisticsDto.getShopOrderId())) {
+            if (0 == orderClubMapper.getsecondHandOrderFlag(logisticsDto.getShopOrderId()) && 0 == orderClubMapper.getrebateFlag(logisticsDto.getShopOrderId())) {
+                try {
+                    LogisticsInformationPo logisticsInformation = new LogisticsInformationPo();
+                    String accessToken = weChatService.getAccessToken();
+                    List<String> openidList = shipMapper.getOpenidListByPermission(logisticsDto.getShopOrderId());
+                    openidList.removeIf(Objects::isNull);
+                    String company = logisticsInformation.getLogisticsCompanyName();
+                    String companyno = logisticsInformation.getNu();
+                    String associateTitle = "尊敬的采美客户,您购买的订单已经发货啦~";
+                    String time = logisticsBatch.getDeliveryTime().toString();
+                    String orderno = shopOrder.getOrderNo();
+                    String remarkText = "收到货后请记得确认收货哟~";
+                    // 跳转到【跳转到小程序订单详情页面】
+                    String pagePath = "pages/user/order/order-details?orderId=" + shipMapper.getorderID(logisticsDto.getShopOrderId());
+                    for (String openid : openidList) {
+                        // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接)
+                        weChatService.sendTemplateMsgy(accessToken, openid, associateTitle, orderno, time, company, companyno, remarkText, pagePath);
+                    }
+                } catch (Exception e) {
+                    log.error("【订单发货通知】获取微信公众号access_token异常!", e);
+                }
+            }
+        }
+                return ResponseJson.success(logisticsBatch.getId());
 
 
+    }
     /**
     /**
      * 修改主订单发货状态
      * 修改主订单发货状态
      * @param shopOrder 子订单
      * @param shopOrder 子订单

+ 8 - 5
src/main/resources/mapper/BaseMapper.xml

@@ -81,7 +81,7 @@
         order by ladderNum asc
         order by ladderNum asc
     </select>
     </select>
     <select id="getRepurchasePrice" resultType="java.lang.Double">
     <select id="getRepurchasePrice" resultType="java.lang.Double">
-        select r.currentPrice
+        select r.currentPrice,p.productType
         from repeat_purchase_price r
         from repeat_purchase_price r
                  left join product p on p.productID = r.productId
                  left join product p on p.productID = r.productId
         where r.productId = #{productId}
         where r.productId = #{productId}
@@ -150,7 +150,8 @@
                p.price    AS originalPrice,
                p.price    AS originalPrice,
                p.unit      AS unit,
                p.unit      AS unit,
                p.stock     AS stock,
                p.stock     AS stock,
-               p.validFlag AS validFlag
+               p.validFlag AS validFlag,
+               p.productType
         FROM cm_promotions_gift cpg
         FROM cm_promotions_gift cpg
                  LEFT JOIN product p ON cpg.productId = p.productID
                  LEFT JOIN product p ON cpg.productId = p.productID
         WHERE cpg.promotionsId = #{promotionsId}
         WHERE cpg.promotionsId = #{promotionsId}
@@ -159,7 +160,8 @@
     <select id="getShopByProductId" resultType="com.caimei365.order.model.vo.CartShopVo">
     <select id="getShopByProductId" resultType="com.caimei365.order.model.vo.CartShopVo">
         SELECT s.shopID AS shopId,
         SELECT s.shopID AS shopId,
                s.name   AS shopName,
                s.name   AS shopName,
-               s.logo   AS shopLogo
+               s.logo   AS shopLogo,
+               p.productType
         FROM shop s
         FROM shop s
                  LEFT JOIN product p ON p.shopID = s.shopID
                  LEFT JOIN product p ON p.shopID = s.shopID
         WHERE p.productId = #{productId}
         WHERE p.productId = #{productId}
@@ -197,7 +199,8 @@
         SELECT
         SELECT
         productID AS productId,
         productID AS productId,
         freePostFlag AS postageFlag,
         freePostFlag AS postageFlag,
-        commodityType
+        commodityType,
+        productType
         FROM product
         FROM product
         WHERE validFlag='2' AND productID in
         WHERE validFlag='2' AND productID in
         <foreach collection="productIds" open="(" separator="," close=")" item="productId">
         <foreach collection="productIds" open="(" separator="," close=")" item="productId">
@@ -243,7 +246,7 @@
         WHERE userID = #{userId}
         WHERE userID = #{userId}
     </select>
     </select>
     <select id="getShopIdByproductId" resultType="java.lang.Integer">
     <select id="getShopIdByproductId" resultType="java.lang.Integer">
-        SELECT shopID
+        SELECT shopID,productType
         FROM product
         FROM product
         WHERE productID = #{productId}
         WHERE productID = #{productId}
     </select>
     </select>

+ 13 - 7
src/main/resources/mapper/CartClubMapper.xml

@@ -33,7 +33,8 @@
         SELECT DISTINCT
         SELECT DISTINCT
         s.shopID AS shopId,
         s.shopID AS shopId,
         s.name AS shopName,
         s.name AS shopName,
-        s.logo AS shopLogo
+        s.logo AS shopLogo,
+        p.productType
         FROM shop s
         FROM shop s
         LEFT JOIN product p ON p.shopID = s.shopID
         LEFT JOIN product p ON p.shopID = s.shopID
         WHERE
         WHERE
@@ -70,7 +71,8 @@
             if(csp.id is not null,1,0) as svipProductFlag,
             if(csp.id is not null,1,0) as svipProductFlag,
             csp.priceType as svipPriceType,
             csp.priceType as svipPriceType,
             csp.discount as svipDiscount,
             csp.discount as svipDiscount,
-            csp.discountPrice as svipDiscountPrice
+            csp.discountPrice as svipDiscountPrice,
+            p.productType
         FROM cm_cart c
         FROM cm_cart c
         LEFT JOIN product p ON c.productID = p.productID
         LEFT JOIN product p ON c.productID = p.productID
         LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
         LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
@@ -104,7 +106,8 @@
         if(csp.id is not null,1,0) as svipProductFlag,
         if(csp.id is not null,1,0) as svipProductFlag,
         csp.priceType as svipPriceType,
         csp.priceType as svipPriceType,
         csp.discount as svipDiscount,
         csp.discount as svipDiscount,
-        csp.discountPrice as svipDiscountPrice
+        csp.discountPrice as svipDiscountPrice,
+        p.productType
         FROM cm_cart c
         FROM cm_cart c
         LEFT JOIN product p ON c.productID = p.productID
         LEFT JOIN product p ON c.productID = p.productID
         LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
         LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
@@ -141,7 +144,8 @@
         if(csp.id is not null,1,0) as svipProductFlag,
         if(csp.id is not null,1,0) as svipProductFlag,
         csp.priceType as svipPriceType,
         csp.priceType as svipPriceType,
         csp.discount as svipDiscount,
         csp.discount as svipDiscount,
-        csp.discountPrice as svipDiscountPrice
+        csp.discountPrice as svipDiscountPrice,
+        p.productType
         FROM product p
         FROM product p
         LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
         LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
         WHERE p.shopID = #{shopId}
         WHERE p.shopID = #{shopId}
@@ -173,7 +177,8 @@
             p.taxPoint AS taxRate,
             p.taxPoint AS taxRate,
             p.productCategory,
             p.productCategory,
             p.visibility,
             p.visibility,
-            p.validFlag AS validFlag
+            p.validFlag AS validFlag,
+            p.productType
         FROM cm_cart c
         FROM cm_cart c
         LEFT JOIN product p ON c.productID = p.productID
         LEFT JOIN product p ON c.productID = p.productID
         WHERE p.validFlag='2' AND c.userID = #{userId}
         WHERE p.validFlag='2' AND c.userID = #{userId}
@@ -261,7 +266,8 @@
         if(csp.id is not null,1,0) as svipProductFlag,
         if(csp.id is not null,1,0) as svipProductFlag,
         csp.priceType as svipPriceType,
         csp.priceType as svipPriceType,
         csp.discount as svipDiscount,
         csp.discount as svipDiscount,
-        csp.discountPrice as svipDiscountPrice
+        csp.discountPrice as svipDiscountPrice,
+        p.productType
         FROM product p
         FROM product p
         LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
         LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
         WHERE p.validFlag='2' AND p.productID = #{productId}
         WHERE p.validFlag='2' AND p.productID = #{productId}
@@ -273,4 +279,4 @@
     <select id="getClubTypeById" resultType="java.lang.Integer">
     <select id="getClubTypeById" resultType="java.lang.Integer">
         SELECT firstClubType FROM club WHERE userID = #{userId}
         SELECT firstClubType FROM club WHERE userID = #{userId}
     </select>
     </select>
-</mapper>
+</mapper>

+ 3 - 2
src/main/resources/mapper/CartSellerMapper.xml

@@ -37,7 +37,8 @@
             if(csp.id is not null,1,0) as svipProductFlag,
             if(csp.id is not null,1,0) as svipProductFlag,
             csp.priceType as svipPriceType,
             csp.priceType as svipPriceType,
             csp.discount as svipDiscount,
             csp.discount as svipDiscount,
-            csp.discountPrice as svipDiscountPrice
+            csp.discountPrice as svipDiscountPrice,
+            p.productType
         FROM bp_order_product_cart c
         FROM bp_order_product_cart c
         LEFT JOIN product p ON c.productId = p.productID
         LEFT JOIN product p ON c.productId = p.productID
         LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
         LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
@@ -182,4 +183,4 @@
         GROUP BY op.ProductID
         GROUP BY op.ProductID
     </select>
     </select>
 
 
-</mapper>
+</mapper>

+ 41 - 1
src/main/resources/mapper/OrderClubMapper.xml

@@ -496,6 +496,46 @@
         WHERE scr.openid = #{openId} AND osc.orderID = #{orderId}
         WHERE scr.openid = #{openId} AND osc.orderID = #{orderId}
         AND scr.delFlag = '0' AND osc.expiredTime > NOW()
         AND scr.delFlag = '0' AND osc.expiredTime > NOW()
     </select>
     </select>
+    <select id="getOpenidListByPermission" resultType="java.lang.String">
+        SELECT DISTINCT scr.openid FROM  cm_mall_share_code_record scr
+        LEFT JOIN cm_mall_order_share_code osc ON scr.orderId = osc.orderId
+        WHERE scr.orderId=#{orderId}
+    </select>
+
+    <select id="getOrderId" resultType="java.lang.String">
+        SELECT DISTINCT p.name FROM  product p
+         LEFT JOIN cm_order_product cmp ON p.productID = cmp.productID
+         LEFT JOIN `cm_order` cm ON cm.orderNo=cmp.orderNo
+        WHERE cmp.orderId=#{orderId} AND cm.status=0
+    </select>
+
+    <select id="getpayTotalFee" resultType="java.lang.Double">
+        SELECT payTotalFee FROM cm_order  WHERE orderId=#{orderId}
+    </select>
+
+    <select id="getpayTime" resultType="java.lang.String">
+        SELECT payTime FROM cm_order  WHERE orderId=#{orderId}
+    </select>
+
+    <select id="getreceiptStatus" resultType="java.lang.Integer">
+        SELECT receiptStatus FROM cm_order  WHERE orderId=#{orderId}
+    </select>
+
+    <select id="getsecondHandOrderFlag" resultType="java.lang.Integer">
+        SELECT secondHandOrderFlag FROM cm_order  WHERE orderId=#{orderId}
+    </select>
+
+    <select id="getrebateFlag" resultType="java.lang.Integer">
+        SELECT rebateFlag FROM cm_order  WHERE orderId=#{orderId}
+    </select>
+
+    <select id="getOrderNo" resultType="java.lang.String">
+        SELECT DISTINCT cm.orderNo FROM  product p
+        LEFT JOIN cm_order_product cmp ON p.productID = cmp.productID
+        LEFT JOIN `cm_order` cm ON cm.orderNo=cmp.orderNo
+        WHERE cmp.orderId=#{orderId} AND cm.status=0
+    </select>
+
     <select id="getClubCouponById" resultType="com.caimei365.order.model.vo.CouponVo">
     <select id="getClubCouponById" resultType="com.caimei365.order.model.vo.CouponVo">
         SELECT
         SELECT
         a.id AS clubCouponId,
         a.id AS clubCouponId,
@@ -538,4 +578,4 @@
     <select id="findUserId" resultType="java.lang.Integer">
     <select id="findUserId" resultType="java.lang.Integer">
         select userId from cm_order where orderID = #{orderId}
         select userId from cm_order where orderID = #{orderId}
     </select>
     </select>
-</mapper>
+</mapper>

+ 4 - 2
src/main/resources/mapper/OrderCommonMapper.xml

@@ -106,7 +106,8 @@
         cop.svipPriceFlag,
         cop.svipPriceFlag,
         cop.svipPriceType,
         cop.svipPriceType,
         cop.svipDiscount,
         cop.svipDiscount,
-        p.productCategory as productCategory
+        p.productCategory as productCategory,
+        p.productType
         FROM cm_order_product cop
         FROM cm_order_product cop
         LEFT JOIN product p ON cop.productID = p.productID
         LEFT JOIN product p ON cop.productID = p.productID
         WHERE cop.shopOrderID = #{shopOrderId}
         WHERE cop.shopOrderID = #{shopOrderId}
@@ -246,7 +247,8 @@
         cop.isActProduct AS actProduct,
         cop.isActProduct AS actProduct,
         cop.productType,
         cop.productType,
         p.productCategory as productCategory,
         p.productCategory as productCategory,
-        p.splitCode
+        p.splitCode,
+        p.productType
         FROM cm_order_product cop
         FROM cm_order_product cop
         LEFT JOIN product p ON cop.productID = p.productID
         LEFT JOIN product p ON cop.productID = p.productID
         LEFT JOIN cm_order co ON cop.orderId=co.orderId
         LEFT JOIN cm_order co ON cop.orderId=co.orderId

+ 8 - 0
src/main/resources/mapper/PayOrderMapper.xml

@@ -218,6 +218,14 @@
         SELECT paySuccessCounter FROM cm_order
         SELECT paySuccessCounter FROM cm_order
         WHERE orderID = #{orderId} AND delFlag = '0'
         WHERE orderID = #{orderId} AND delFlag = '0'
     </select>
     </select>
+
+    <select id="getOpenidListByPermission" resultType="java.lang.String">
+        SELECT DISTINCT scr.openid FROM  cm_mall_share_code_record scr
+        LEFT JOIN cm_mall_order_share_code osc ON scr.orderId = osc.orderId
+        LEFT JOIN `cm_order` cm ON cm.orderId=osc.orderId
+        WHERE cm.orderId=#{orderId}
+    </select>
+
     <select id="getSplitAccountList" resultType="com.caimei365.order.model.po.SplitAccountPo">
     <select id="getSplitAccountList" resultType="com.caimei365.order.model.po.SplitAccountPo">
         SELECT
         SELECT
             id,
             id,

+ 14 - 0
src/main/resources/mapper/ShipMapper.xml

@@ -221,6 +221,20 @@
         FROM cm_shop_order
         FROM cm_shop_order
         WHERE shopOrderID = #{shopOrderId} AND delFlag = '0'
         WHERE shopOrderID = #{shopOrderId} AND delFlag = '0'
     </select>
     </select>
+
+    <select id="getOpenidListByPermission" resultType="java.lang.String">
+        SELECT DISTINCT * FROM  cm_mall_share_code_record scr
+         LEFT JOIN cm_order_product cmo ON cmo.orderID = scr.orderID
+        WHERE cmo.shopOrderID = #{shopOrderId}
+    </select>
+
+    <select id="getorderID" resultType="java.lang.String">
+        SELECT DISTINCT scr.orderID,openid FROM  cm_mall_share_code_record scr
+        LEFT JOIN cm_order_product cmo ON cmo.orderID = scr.orderID
+        WHERE cmo.shopOrderID=#{shopOrderId}
+    </select>
+
+
     <select id="getOrderReceiptStatus" resultType="java.lang.Integer">
     <select id="getOrderReceiptStatus" resultType="java.lang.Integer">
         SELECT receiptStatus FROM cm_order
         SELECT receiptStatus FROM cm_order
         WHERE orderID = #{orderId} AND delFlag = '0'
         WHERE orderID = #{orderId} AND delFlag = '0'