Explorar o código

优惠券每个月只能领取一次

xdd hai 2 meses
pai
achega
e6cde1d120

+ 17 - 8
fs-service-system/src/main/java/com/fs/store/mapper/FsStoreCouponIssueUserMapper.java

@@ -7,15 +7,15 @@ import org.apache.ibatis.annotations.Select;
 
 /**
  * 优惠券用户领取记录Mapper接口
- * 
+ *
  * @author fs
  * @date 2022-03-15
  */
-public interface FsStoreCouponIssueUserMapper 
+public interface FsStoreCouponIssueUserMapper
 {
     /**
      * 查询优惠券用户领取记录
-     * 
+     *
      * @param id 优惠券用户领取记录ID
      * @return 优惠券用户领取记录
      */
@@ -23,7 +23,7 @@ public interface FsStoreCouponIssueUserMapper
 
     /**
      * 查询优惠券用户领取记录列表
-     * 
+     *
      * @param fsStoreCouponIssueUser 优惠券用户领取记录
      * @return 优惠券用户领取记录集合
      */
@@ -31,7 +31,7 @@ public interface FsStoreCouponIssueUserMapper
 
     /**
      * 新增优惠券用户领取记录
-     * 
+     *
      * @param fsStoreCouponIssueUser 优惠券用户领取记录
      * @return 结果
      */
@@ -39,7 +39,7 @@ public interface FsStoreCouponIssueUserMapper
 
     /**
      * 修改优惠券用户领取记录
-     * 
+     *
      * @param fsStoreCouponIssueUser 优惠券用户领取记录
      * @return 结果
      */
@@ -47,7 +47,7 @@ public interface FsStoreCouponIssueUserMapper
 
     /**
      * 删除优惠券用户领取记录
-     * 
+     *
      * @param id 优惠券用户领取记录ID
      * @return 结果
      */
@@ -55,11 +55,20 @@ public interface FsStoreCouponIssueUserMapper
 
     /**
      * 批量删除优惠券用户领取记录
-     * 
+     *
      * @param ids 需要删除的数据ID
      * @return 结果
      */
     public int deleteFsStoreCouponIssueUserByIds(Long[] ids);
     @Select("select ifnull(count(1),0) from fs_store_coupon_issue_user where user_id=#{userId} and issue_id=#{id} ")
     int checkReceive(@Param("userId") String userId,@Param("id") Long id);
+
+    /**
+     * 用户当月是否领取过
+     * @param userId 用户Id
+     * @param id id
+     * @return
+     */
+    @Select("SELECT IFNULL(COUNT(1),0) FROM fs_store_coupon_issue_user WHERE user_id=#{userId} AND issue_id=#{id} AND DATE_FORMAT(create_time,'%Y%m')=DATE_FORMAT(NOW(),'%Y%m')")
+    int checkReceiveThisMonth(@Param("userId") String userId,@Param("id") Long id);
 }

+ 1 - 0
fs-service-system/src/main/java/com/fs/store/service/IFsStoreCouponIssueService.java

@@ -67,6 +67,7 @@ public interface IFsStoreCouponIssueService
     List<FsStoreCouponIssueVO> selectFsStoreCouponIssueListQueryVO(String userId, FsStoreCouponIssue map);
 
     R receive(String userId, FsStoreCouponReceiveParam param);
+    R receiveMonthOnce(String userId, FsStoreCouponReceiveParam param);
 
     List<FsStoreCouponIssueVO> getCompanyCouponIssueList(FsCouponIssueParam map);
 

+ 9 - 0
fs-service-system/src/main/java/com/fs/store/service/IFsStoreOrderService.java

@@ -35,6 +35,15 @@ public interface IFsStoreOrderService
      */
     public FsStoreOrder selectFsStoreOrderById(Long id);
 
+
+    /**
+     * 支付订单
+     * @param param 参数
+     * @return R
+     */
+    R pay(FsStoreOrderPayParam param);
+
+
     /**
      * 查询订单列表
      *

+ 50 - 0
fs-service-system/src/main/java/com/fs/store/service/handler/HfPaymentHandler.java

@@ -0,0 +1,50 @@
+package com.fs.store.service.handler;
+
+import com.fs.common.core.domain.R;
+import com.fs.common.core.redis.RedisCache;
+import com.fs.huifuPay.domain.HuiFuCreateOrder;
+import com.fs.huifuPay.domain.HuifuCreateOrderResult;
+import com.fs.huifuPay.service.impl.HuiFuServiceImpl;
+import com.fs.store.domain.FsStoreOrder;
+import com.fs.store.domain.FsStorePayment;
+import com.fs.store.domain.FsUser;
+import com.fs.store.mapper.FsStorePaymentMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.concurrent.TimeUnit;
+
+@Service
+public class HfPaymentHandler extends PaymentHandler{
+
+
+//    @Override
+//    public R process(FsStoreOrder order, FsUser user, String payCode, FsStorePayment storePayment) {
+//        HuiFuCreateOrder o = new HuiFuCreateOrder();
+//        o.setTradeType("T_MINIAPP");
+//        o.setOpenid(user.getMaOpenId());
+//        o.setReqSeqId("store-"+ storePayment.getPayCode());
+//        o.setTransAmt(storePayment.getPayMoney().toString());
+//        o.setGoodsDesc("商城订单支付");
+//        HuifuCreateOrderResult result = huiFuService.createOrder(o);
+//        //创建订单
+//        if(result.getResp_code()!=null&&(result.getResp_code().equals("00000000")||result.getResp_code().equals("00000100"))){
+//            FsStorePayment mt=new FsStorePayment();
+//            mt.setPaymentId(storePayment.getPaymentId());
+//            mt.setTradeNo(result.getHf_seq_id());
+//            fsStorePaymentMapper.updateFsStorePayment(mt);
+//            redisCache.setCacheObject("isPaying:"+ order.getId(), order.getId().toString(),1, TimeUnit.MINUTES);
+//            return R.ok().put("payType", param.getPayType()).put("result", result.getPay_info());
+//        }
+//        else{
+//            return R.error(result.getResp_desc());
+//        }
+//
+//        return null;
+//    }
+
+    @Override
+    public boolean support(String code) {
+        return "hf".equals(code);
+    }
+}

+ 38 - 0
fs-service-system/src/main/java/com/fs/store/service/handler/PaymentHandler.java

@@ -0,0 +1,38 @@
+package com.fs.store.service.handler;
+
+import com.fs.common.core.domain.R;
+import com.fs.common.core.redis.RedisCache;
+import com.fs.huifuPay.service.impl.HuiFuServiceImpl;
+import com.fs.store.domain.FsStoreOrder;
+import com.fs.store.domain.FsStorePayment;
+import com.fs.store.domain.FsUser;
+import com.fs.store.mapper.FsStorePaymentMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public abstract class PaymentHandler {
+    @Autowired
+    protected HuiFuServiceImpl huiFuService;
+    @Autowired
+    protected FsStorePaymentMapper fsStorePaymentMapper;
+    @Autowired
+    protected RedisCache redisCache;
+
+    /**
+     * 处理支付
+     * @param order 订单信息
+     * @param user 用户信息
+     * @param payCode 支付编码
+     * @return 处理结果
+     */
+//    protected R process(FsStoreOrder order, FsUser user, String payCode, FsStorePayment storePayment);
+
+    /**
+     * 是否支持
+     * @return 支付类型
+     */
+    protected boolean support(String code){
+        return false;
+    }
+}

+ 31 - 0
fs-service-system/src/main/java/com/fs/store/service/handler/PaymentHandlerHolder.java

@@ -0,0 +1,31 @@
+package com.fs.store.service.handler;
+
+import com.fs.common.core.domain.R;
+import com.fs.store.domain.FsStoreOrder;
+import com.fs.store.domain.FsUser;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Slf4j
+@Service
+public class PaymentHandlerHolder {
+
+    private static List<PaymentHandler> handlerList;
+
+    @Autowired
+    public void setHandlerList(List<PaymentHandler> handlerList) {
+        PaymentHandlerHolder.handlerList = handlerList;
+    }
+
+    public static PaymentHandler findBest(String code){
+        for (PaymentHandler paymentHandler : handlerList) {
+            if(paymentHandler.support(code)){
+                return paymentHandler;
+            }
+        }
+        return null;
+    }
+}

+ 1 - 1
fs-service-system/src/main/java/com/fs/store/service/impl/FsCouponScheduleServiceImpl.java

@@ -198,7 +198,7 @@ public class FsCouponScheduleServiceImpl implements IFsCouponScheduleService
             // 领取优惠券
             FsStoreCouponReceiveParam param = new FsStoreCouponReceiveParam();
             param.setId(fsStoreCouponIssue.getId());
-            R receive = fsStoreCouponIssueService.receive(String.valueOf(userId), param);
+            R receive = fsStoreCouponIssueService.receiveMonthOnce(String.valueOf(userId), param);
 
             Set<String> operationTypeSet = new HashSet<>();
             if(fsCouponSchedule.getRetryCount()>0) {

+ 54 - 1
fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreCouponIssueServiceImpl.java

@@ -17,6 +17,7 @@ import lombok.Synchronized;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.fs.store.service.IFsStoreCouponIssueService;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 /**
@@ -121,7 +122,7 @@ public class FsStoreCouponIssueServiceImpl implements IFsStoreCouponIssueService
 
     @Override
     @Synchronized
-    @Transactional
+    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
     public R receive(String userId, FsStoreCouponReceiveParam param) {
         FsStoreCouponIssue couponIssue=fsStoreCouponIssueMapper.selectFsStoreCouponIssueById(param.getId());
         if(couponIssue.getStatus().equals(0)){
@@ -167,6 +168,58 @@ public class FsStoreCouponIssueServiceImpl implements IFsStoreCouponIssueService
         return R.ok("领取成功");
     }
 
+    /**
+     * 一个月可以领取一次
+     * @param userId 用户id
+     * @param param 参数
+     * @return R
+     */
+    @Override
+    public R receiveMonthOnce(String userId, FsStoreCouponReceiveParam param) {
+        FsStoreCouponIssue couponIssue=fsStoreCouponIssueMapper.selectFsStoreCouponIssueById(param.getId());
+        if(couponIssue.getStatus().equals(0)){
+            return R.error("此优惠券已停止领取");
+        }
+        if(couponIssue.getLimitTime().getTime()<new Date().getTime()){
+            return R.error("此优惠券已过期");
+        }
+        //判断用户是否领取过
+        FsUser user= userMapper.selectFsUserById(Long.parseLong(userId));
+        if(user.getLevel().equals(0)){
+            if(fsStoreCouponIssueUserMapper.checkReceiveThisMonth(userId,param.getId())>0){
+                return R.error("当月已领取");
+            }
+        }
+        if(couponIssue.getTotalCount()<=couponIssue.getRemainCount()){
+            return R.error("此优惠券已领完");
+        }
+        FsStoreCoupon coupon=couponMapper.selectFsStoreCouponById(couponIssue.getCouponId());
+        //写入领取表
+        FsStoreCouponIssueUser couponIssueUser=new FsStoreCouponIssueUser();
+        couponIssueUser.setUserId(Long.parseLong(userId));
+        couponIssueUser.setIssueId(param.getId());
+        couponIssueUser.setIsDel(0);
+        couponIssueUser.setCreateTime(new Date());
+        fsStoreCouponIssueUserMapper.insertFsStoreCouponIssueUser(couponIssueUser);
+        FsStoreCouponUser couponUser=new FsStoreCouponUser();
+        couponUser.setCouponId(couponIssue.getCouponId());
+        couponUser.setUserId(Long.parseLong(userId));
+        couponUser.setCouponTitle(couponIssue.getCouponName());
+        couponUser.setCouponPrice(coupon.getCouponPrice());
+        couponUser.setUseMinPrice(coupon.getUseMinPrice());
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(new Date());
+        calendar.add(Calendar.DATE,coupon.getCouponTime().intValue());
+        couponUser.setLimitTime(calendar.getTime());
+        couponUser.setCreateTime(new Date());
+        couponUser.setType("send");
+        couponUser.setStatus(0);
+        fsStoreCouponUserMapper.insertFsStoreCouponUser(couponUser);
+        //更新领取数量
+        fsStoreCouponIssueMapper.updateFsStoreCouponIssueCount(param.getId());
+        return R.ok("领取成功");
+    }
+
     @Override
     public List<FsStoreCouponIssueVO> getCompanyCouponIssueList(FsCouponIssueParam map) {
         return fsStoreCouponIssueMapper.getCompanyCouponIssueList(map);

+ 195 - 3
fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreOrderServiceImpl.java

@@ -20,6 +20,7 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.fs.api.param.OrderListParam;
 import com.fs.api.vo.OrderListVO;
@@ -32,9 +33,7 @@ import com.fs.common.event.TemplateBean;
 import com.fs.common.event.TemplateEvent;
 import com.fs.common.event.TemplateListenEnum;
 import com.fs.common.exception.CustomException;
-import com.fs.common.utils.DateUtils;
-import com.fs.common.utils.PhoneUtils;
-import com.fs.common.utils.StringUtils;
+import com.fs.common.utils.*;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyDept;
 import com.fs.company.domain.CompanyMoneyLogs;
@@ -47,11 +46,15 @@ import com.fs.erp.domain.*;
 import com.fs.erp.dto.*;
 import com.fs.erp.service.IErpOrderService;
 import com.fs.express.FsStoreDeliversService;
+import com.fs.huifuPay.domain.HuiFuCreateOrder;
 import com.fs.huifuPay.domain.HuiFuRefundResult;
+import com.fs.huifuPay.domain.HuifuCreateOrderResult;
 import com.fs.huifuPay.dto.*;
 import com.fs.huifuPay.sdk.opps.core.request.V2TradePaymentScanpayRefundRequest;
 import com.fs.huifuPay.service.HuiFuService;
+import com.fs.pay.pay.domain.CreateWxOrderResult;
 import com.fs.pay.pay.domain.RefundResult;
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.pay.pay.service.PayService;
 import com.fs.store.cache.impl.IFsStoreProductCacheServiceImpl;
 import com.fs.store.config.StoreConfig;
@@ -204,6 +207,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
     private IFsStoreProductPackageService fsStoreProductPackageService;
     @Autowired
     private IFsStoreProductCacheServiceImpl fsStoreProductCacheService;
+    @Autowired
+    private FsStorePaymentMapper fsStorePaymentMapper;
 
     /**
      * 查询订单
@@ -217,6 +222,192 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         return fsStoreOrderMapper.selectFsStoreOrderById(id);
     }
 
+    @Override
+    @Transactional(rollbackFor = Throwable.class, propagation = Propagation.REQUIRED)
+    public R pay(FsStoreOrderPayParam param) {
+        FsStoreOrder order=orderService.selectFsStoreOrderById(param.getOrderId());
+        if(order==null){
+            return R.error("订单不存在");
+        }
+        if(order.getStatus()!= OrderInfoEnum.STATUS_0.getValue()){
+            return R.error("订单状态不正确");
+        }
+        String orderId=redisCache.getCacheObject("isPaying:"+order.getId());
+        if(StringUtils.isNotEmpty(orderId)&&orderId.equals(order.getId().toString())){
+            return R.error("正在支付中...");
+        }
+
+        FsUser user=userService.selectFsUserById(order.getUserId());
+        if(user!=null&& StringUtils.isNotEmpty(user.getMaOpenId())){
+            //已改价处理
+            if(order.getIsEditMoney()!=null&&order.getIsEditMoney()==1){
+                //改过价不做处理
+            }
+            else{
+                String config=configService.selectConfigByKey("store.config");
+                StoreConfig storeConfig= JSONUtil.toBean(config,StoreConfig.class);
+                if(param.getPayType().equals(1)){
+                    order.setPayType("1");
+                    order.setPayMoney(order.getPayPrice());
+                    order.setPayDelivery(BigDecimal.ZERO);
+                }
+                else if(param.getPayType().equals(2)){
+                    order.setPayType("2");
+                    BigDecimal payMoney=order.getPayPrice().multiply(new BigDecimal(storeConfig.getPayRate())).divide(new BigDecimal(100));
+                    payMoney=new BigDecimal(payMoney.setScale(0, BigDecimal.ROUND_HALF_UP).longValue());
+                    order.setPayDelivery(order.getPayPrice().subtract(payMoney));
+                    order.setPayMoney(payMoney);
+                }
+                else if(param.getPayType().equals(3)){
+                    //货到付款
+                    order.setPayType("3");
+                    order.setPayDelivery(order.getPayPrice() );
+                    order.setPayMoney(BigDecimal.ZERO);
+                }
+                orderService.updateFsStoreOrder(order);
+            }
+            String payCode = IdUtil.getSnowflake(0, 0).nextIdStr();
+
+            // 台州银行支付
+            if(order.getPayType().equals("1")||order.getPayType().equals("2")){
+                String json = configService.selectConfigByKey("store.pay");
+                FsPayConfig fsPayConfig = JSON.parseObject(json, FsPayConfig.class);
+                FsStorePayment storePayment=new FsStorePayment();
+                storePayment.setCompanyId(order.getCompanyId());
+                storePayment.setCompanyUserId(order.getCompanyUserId());
+                storePayment.setPayMode(fsPayConfig.getType());
+                storePayment.setStatus(0);
+                storePayment.setPayCode(payCode);
+                storePayment.setPayMoney(order.getPayMoney());
+                storePayment.setCreateTime(new Date());
+                storePayment.setPayTypeCode("weixin");
+                storePayment.setBusinessType(2);
+                storePayment.setRemark("商城订单支付");
+                storePayment.setOpenId(user.getRealName());
+                storePayment.setUserId(user.getUserId());
+                storePayment.setBusinessOrderId(order.getId().toString());
+                storePayment.setOrderId(order.getId());
+                fsStorePaymentMapper.insertFsStorePayment(storePayment);
+                if (fsPayConfig.getType().equals("hf")){
+                    HuiFuCreateOrder o = new HuiFuCreateOrder();
+                    o.setTradeType("T_MINIAPP");
+                    o.setOpenid(user.getMaOpenId());
+                    o.setReqSeqId("store-"+ storePayment.getPayCode());
+                    o.setTransAmt(storePayment.getPayMoney().toString());
+                    o.setGoodsDesc("商城订单支付");
+                    HuifuCreateOrderResult result = huiFuService.createOrder(o);
+                    //创建订单
+                    if(result.getResp_code()!=null&&(result.getResp_code().equals("00000000")||result.getResp_code().equals("00000100"))){
+                        FsStorePayment mt=new FsStorePayment();
+                        mt.setPaymentId(storePayment.getPaymentId());
+                        mt.setTradeNo(result.getHf_seq_id());
+                        fsStorePaymentMapper.updateFsStorePayment(mt);
+                        redisCache.setCacheObject("isPaying:"+ order.getId(), order.getId().toString(),1, TimeUnit.MINUTES);
+                        return R.ok().put("payType", param.getPayType()).put("result", result.getPay_info());
+                    }
+                    else{
+                        return R.error(result.getResp_desc());
+                    }
+                } else if(fsPayConfig.getType().equals("tzbk")){
+                    TzConfigInfoDTO tzConfigInfoDTO = JSON.parseObject(json, TzConfigInfoDTO.class);
+
+                    TzPayCreateOrderReqBodyDTO reqBodyDTO = new TzPayCreateOrderReqBodyDTO();
+                    RequestDTO<TzPayCreateOrderReqBodyDTO> requestDTO = new RequestDTO<>();
+                    reqBodyDTO.setOrderNo(payCode);
+                    reqBodyDTO.setOrderSource("02");
+                    reqBodyDTO.setTrxAmt(storePayment.getPayMoney());
+                    reqBodyDTO.setCurrency("CNY");
+                    reqBodyDTO.setTransType("2001");
+                    reqBodyDTO.setTradeMerCstNo(tzConfigInfoDTO.getPlatMerCstNo());
+                    reqBodyDTO.setPlatMerCstNo(tzConfigInfoDTO.getPlatMerCstNo());
+                    reqBodyDTO.setBusinessCstNo(user.getUserId().toString());
+                    reqBodyDTO.setPayNotifyUrl(tzConfigInfoDTO.getPayNotifyUrl());
+                    reqBodyDTO.setPayerName(user.getUsername());
+                    reqBodyDTO.setPayerMobileNo(user.getPhone());
+                    reqBodyDTO.setGoodsInfo("商城订单支付");
+                    // 不需要分账
+                    reqBodyDTO.setNeedLedger("00");
+                    reqBodyDTO.setClientIp(IPUtils.getIpAddr(ServletUtils.getRequest()));
+                    // 获取订单到期时间
+                    String redisKey = String.valueOf(StrUtil.format("{}{}",
+                            StoreConstants.REDIS_ORDER_OUTTIME_UNPAY, order.getId()));
+                    Long expire = redisCache.getExpire(redisKey);
+                    Long currentTimeMillis = System.currentTimeMillis();
+
+                    reqBodyDTO.setExpiredTime(String.valueOf(currentTimeMillis+expire));
+
+
+
+                    requestDTO.setReqHeader(TzReqHeaderDTO.getInstance(payCode));
+                    requestDTO.setReqBody(reqBodyDTO);
+                    try {
+                        // 创建订单
+                        TzReqResultDTO<TzPayCreateOrderRspDTO> payCreateOrder = tzBankService.payCreateOrder(requestDTO);
+                        // 获得小程序请求码
+                        if("00000000".equals(payCreateOrder.getRetCode())){
+                            TzPayCreateOrderRspDTO body = payCreateOrder.getBody();
+
+                            RequestDTO<TzMiniProgramCodeReqDTO> reqDTORequestDTO = new RequestDTO<>();
+                            TzMiniProgramCodeReqDTO tzMiniProgramCodeReqDTO = new TzMiniProgramCodeReqDTO();
+                            tzMiniProgramCodeReqDTO.setOrderNo(body.getOrderFlowNo());
+                            tzMiniProgramCodeReqDTO.setPlatMerCstNo(tzConfigInfoDTO.getPlatMerCstNo());
+                            tzMiniProgramCodeReqDTO.setBusinessCstNo(user.getUserId().toString());
+                            reqDTORequestDTO.setReqHeader(TzReqHeaderDTO.getInstance(payCode));
+                            reqDTORequestDTO.setReqBody(tzMiniProgramCodeReqDTO);
+                            TzReqResultDTO<TzMiniProgramCodeRespDTO> miniProgramCode = tzBankService.miniProgramCode(reqDTORequestDTO);
+                            if("00000000".equals(miniProgramCode.getRetCode())){
+                                FsStorePayment mt=new FsStorePayment();
+                                mt.setPaymentId(storePayment.getPaymentId());
+                                mt.setTradeNo(miniProgramCode.getBody().getOrderNo());
+                                fsStorePaymentMapper.updateFsStorePayment(mt);
+                                redisCache.setCacheObject("isPaying:"+order.getId(),order.getId().toString(),1, TimeUnit.MINUTES);
+                                TzMiniProgramCodeRespDTO result = miniProgramCode.getBody();
+                                result.setPayCode(payCode);
+                                return R.ok().put("payType",param.getPayType()).put("result",result);
+                            } else {
+                                return R.error(miniProgramCode.getRetMsg());
+                            }
+                        }
+                    } catch (Exception e) {
+                        logger.error("系统异常",e);
+                        return R.error("系统异常,请联系管理员!");
+                    }
+                } else if (fsPayConfig.getType().equals("yb")){
+                    WxJspayDTO p = new WxJspayDTO();
+                    p.setPayMoney(order.getPayMoney().toString());
+                    p.setLowOrderId("store-"+payCode);
+                    p.setBody("商城订单支付");
+                    p.setIsMinipg("1");
+                    p.setReturnUrl(fsPayConfig.getYbNotifyUrl());
+                    p.setOpenId(user.getMaOpenId());
+                    p.setAttach("");
+                    p.setStoreid("0");
+                    CreateWxOrderResult wxOrder = ybPayService.createWxOrder(p);
+                    if(wxOrder.getStatus().equals("100")){
+                        FsStorePayment ment=new FsStorePayment();
+                        ment.setPaymentId(storePayment.getPaymentId());
+                        ment.setTradeNo(wxOrder.getUpOrderId());
+                        fsStorePaymentMapper.updateFsStorePayment(ment);
+                        redisCache.setCacheObject("isPaying:"+order.getId(),order.getId().toString(),1, TimeUnit.MINUTES);
+                        return R.ok().put("payType",param.getPayType()).put("result",wxOrder.getPay_info());
+                    }
+                    else{
+                        return R.error(wxOrder.getMessage());
+                    }
+                }
+            }
+            else if(order.getPayType().equals("3")){
+                //货到付款
+                orderService.payConfirm(2,order.getId(),null,null,null,null);
+                return R.ok().put("payType",param.getPayType());
+            }
+            return R.error();
+        }
+        else{
+            return R.error("用户OPENID不存在");
+        }
+    }
+
     /**
      * 查询订单列表
      *
@@ -1455,6 +1646,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                     fsCouponSchedule.setMonth(fsStoreProductPackage.getIcgMonth().longValue());
                     fsCouponSchedule.setCount(0L);
                     fsCouponSchedule.setPage(fsStoreProductPackage.getIcgUrl());
+                    fsCouponSchedule.setCouponIds(StringUtils.join(fsStoreProductPackage.getIcgCouponsId(),","));
                     fsCouponSchedule.setRemark(fsStoreProductPackage.getIcgMark());
                     fsCouponSchedule.setStatus(IcgProcessStatusEnum.PENDING.getCode());
                     fsCouponSchedule.setOrderTime(LocalDateTime.now());

+ 11 - 11
fs-service-system/src/main/java/com/fs/system/service/impl/SysConfigServiceImpl.java

@@ -20,8 +20,8 @@ import com.fs.common.utils.StringUtils;
 
 /**
  * 参数配置 服务层实现
- * 
- 
+ *
+
  */
 @Service
 public class SysConfigServiceImpl implements ISysConfigService
@@ -47,7 +47,7 @@ public class SysConfigServiceImpl implements ISysConfigService
 
     /**
      * 查询参数配置信息
-     * 
+     *
      * @param configId 参数配置ID
      * @return 参数配置信息
      */
@@ -62,12 +62,12 @@ public class SysConfigServiceImpl implements ISysConfigService
 
     /**
      * 根据键名查询参数配置信息
-     * 
+     *
      * @param configKey 参数key
      * @return 参数键值
      */
     @Override
-    public String   selectConfigByKey(String configKey)
+    public String selectConfigByKey(String configKey)
     {
         String configValue = Convert.toStr(redisCache.getCacheObject(getCacheKey(configKey)));
         if (StringUtils.isNotEmpty(configValue))
@@ -87,7 +87,7 @@ public class SysConfigServiceImpl implements ISysConfigService
 
     /**
      * 查询参数配置列表
-     * 
+     *
      * @param config 参数配置信息
      * @return 参数配置集合
      */
@@ -99,7 +99,7 @@ public class SysConfigServiceImpl implements ISysConfigService
 
     /**
      * 新增参数配置
-     * 
+     *
      * @param config 参数配置信息
      * @return 结果
      */
@@ -116,7 +116,7 @@ public class SysConfigServiceImpl implements ISysConfigService
 
     /**
      * 修改参数配置
-     * 
+     *
      * @param config 参数配置信息
      * @return 结果
      */
@@ -134,7 +134,7 @@ public class SysConfigServiceImpl implements ISysConfigService
 
     /**
      * 批量删除参数信息
-     * 
+     *
      * @param configIds 需要删除的参数ID
      * @return 结果
      */
@@ -170,7 +170,7 @@ public class SysConfigServiceImpl implements ISysConfigService
 
     /**
      * 校验参数键名是否唯一
-     * 
+     *
      * @param config 参数配置信息
      * @return 结果
      */
@@ -195,7 +195,7 @@ public class SysConfigServiceImpl implements ISysConfigService
 
     /**
      * 设置cache key
-     * 
+     *
      * @param configKey 参数键
      * @return 缓存键key
      */

+ 13 - 449
fs-user-app/src/main/java/com/fs/app/controller/StoreOrderController.java

@@ -330,308 +330,28 @@ public class StoreOrderController extends  AppBaseController {
     @Login
     @ApiOperation("支付")
     @PostMapping("/pay")
-    @Transactional
     @RepeatSubmit
     //@Synchronized
     public R pay(HttpServletRequest request, @Validated @RequestBody FsStoreOrderPayParam param)
     {
-        logger.info("Rt pay:"+param.getOrderId()+"的订单支付类型为"+param.getPayType());
-        FsStoreOrder order=orderService.selectFsStoreOrderById(param.getOrderId());
-        if(order==null){
-            return R.error("订单不存在");
-        }
-        if(order.getStatus()!= OrderInfoEnum.STATUS_0.getValue()){
-            return R.error("订单状态不正确");
-        }
-        //String userAddress = order.getUserAddress();
-//        String noAdd="南通市,镇江市,淮安市,江阴市,金华市,驻马店市,民权县";
-//        String[] split = noAdd.split(",");
-//        for (String s : split) {
-//            if (userAddress.contains(s)){
-//                return R.error("此地区暂不支持配送");
-//            }
-//        }
-        String orderId=redisCache.getCacheObject("isPaying:"+order.getId());
-        if(StringUtils.isNotEmpty(orderId)&&orderId.equals(order.getId().toString())){
-            return R.error("正在支付中...");
-        }
-
-        FsUser user=userService.selectFsUserById(order.getUserId());
-        if(user!=null&& StringUtils.isNotEmpty(user.getMaOpenId())){
-            //已改价处理
-            if(order.getIsEditMoney()!=null&&order.getIsEditMoney()==1){
-                //改过价不做处理
-            }
-            else{
-                String config=configService.selectConfigByKey("store.config");
-                StoreConfig storeConfig= JSONUtil.toBean(config,StoreConfig.class);
-                if(param.getPayType().equals(1)){
-                    order.setPayType("1");
-                    order.setPayMoney(order.getPayPrice());
-                    order.setPayDelivery(BigDecimal.ZERO);
-                }
-                else if(param.getPayType().equals(2)){
-                    order.setPayType("2");
-                    BigDecimal payMoney=order.getPayPrice().multiply(new BigDecimal(storeConfig.getPayRate())).divide(new BigDecimal(100));
-                    payMoney=new BigDecimal(payMoney.setScale(0, BigDecimal.ROUND_HALF_UP).longValue());
-                    order.setPayDelivery(order.getPayPrice().subtract(payMoney));
-                    order.setPayMoney(payMoney);
-                }
-                else if(param.getPayType().equals(3)){
-                    //货到付款
-                    order.setPayType("3");
-                    order.setPayDelivery(order.getPayPrice() );
-                    order.setPayMoney(BigDecimal.ZERO);
-                }
-                orderService.updateFsStoreOrder(order);
-            }
-            String payCode = IdUtil.getSnowflake(0, 0).nextIdStr();
-//            order.setOrderCode(orderCode);
-
-            // 台州银行支付
-            if(order.getPayType().equals("1")||order.getPayType().equals("2")){
-                String json = configService.selectConfigByKey("store.pay");
-                FsPayConfig fsPayConfig = JSON.parseObject(json, FsPayConfig.class);
-                FsStorePayment storePayment=new FsStorePayment();
-                storePayment.setCompanyId(order.getCompanyId());
-                storePayment.setCompanyUserId(order.getCompanyUserId());
-                storePayment.setPayMode(fsPayConfig.getType());
-                storePayment.setStatus(0);
-                storePayment.setPayCode(payCode);
-                storePayment.setPayMoney(order.getPayMoney());
-                storePayment.setCreateTime(new Date());
-                storePayment.setPayTypeCode("weixin");
-                storePayment.setBusinessType(2);
-                storePayment.setRemark("商城订单支付");
-                storePayment.setOpenId(user.getRealName());
-                storePayment.setUserId(user.getUserId());
-                storePayment.setBusinessOrderId(order.getId().toString());
-                storePayment.setOrderId(order.getId());
-                fsStorePaymentMapper.insertFsStorePayment(storePayment);
-                if (fsPayConfig.getType().equals("hf")){
-                    HuiFuCreateOrder o = new HuiFuCreateOrder();
-                    o.setTradeType("T_MINIAPP");
-                    o.setOpenid(user.getMaOpenId());
-                    o.setReqSeqId("store-"+storePayment.getPayCode());
-                    o.setTransAmt(storePayment.getPayMoney().toString());
-                    o.setGoodsDesc("商城订单支付");
-                    HuifuCreateOrderResult result = huiFuService.createOrder(o);
-                    //创建订单
-                    if(result.getResp_code()!=null&&(result.getResp_code().equals("00000000")||result.getResp_code().equals("00000100"))){
-                        FsStorePayment mt=new FsStorePayment();
-                        mt.setPaymentId(storePayment.getPaymentId());
-                        mt.setTradeNo(result.getHf_seq_id());
-                        fsStorePaymentMapper.updateFsStorePayment(mt);
-                        redisCache.setCacheObject("isPaying:"+order.getId(),order.getId().toString(),1, TimeUnit.MINUTES);
-                        return R.ok().put("payType",param.getPayType()).put("result",result.getPay_info());
-                    }
-                    else{
-                        return R.error(result.getResp_desc());
-                    }
-                } else if(fsPayConfig.getType().equals("tzbk")){
-                    TzConfigInfoDTO tzConfigInfoDTO = JSON.parseObject(json, TzConfigInfoDTO.class);
-
-                    TzPayCreateOrderReqBodyDTO reqBodyDTO = new TzPayCreateOrderReqBodyDTO();
-                    RequestDTO<TzPayCreateOrderReqBodyDTO> requestDTO = new RequestDTO<>();
-                    reqBodyDTO.setOrderNo(payCode);
-                    reqBodyDTO.setOrderSource("02");
-                    reqBodyDTO.setTrxAmt(storePayment.getPayMoney());
-                    reqBodyDTO.setCurrency("CNY");
-                    reqBodyDTO.setTransType("2001");
-                    reqBodyDTO.setTradeMerCstNo(tzConfigInfoDTO.getPlatMerCstNo());
-                    reqBodyDTO.setPlatMerCstNo(tzConfigInfoDTO.getPlatMerCstNo());
-                    reqBodyDTO.setBusinessCstNo(user.getUserId().toString());
-                    reqBodyDTO.setPayNotifyUrl(tzConfigInfoDTO.getPayNotifyUrl());
-                    reqBodyDTO.setPayerName(user.getUsername());
-                    reqBodyDTO.setPayerMobileNo(user.getPhone());
-                    reqBodyDTO.setGoodsInfo("商城订单支付");
-                    // 不需要分账
-                    reqBodyDTO.setNeedLedger("00");
-                    reqBodyDTO.setClientIp(IPUtils.getIpAddr(ServletUtils.getRequest()));
-                    // 获取订单到期时间
-                    String redisKey = String.valueOf(StrUtil.format("{}{}",
-                            StoreConstants.REDIS_ORDER_OUTTIME_UNPAY, order.getId()));
-                    Long expire = redisCache.getExpire(redisKey);
-                    Long currentTimeMillis = System.currentTimeMillis();
-
-                    reqBodyDTO.setExpiredTime(String.valueOf(currentTimeMillis+expire));
-
-
-
-                    requestDTO.setReqHeader(TzReqHeaderDTO.getInstance(payCode));
-                    requestDTO.setReqBody(reqBodyDTO);
-                    try {
-                        // 创建订单
-                        TzReqResultDTO<TzPayCreateOrderRspDTO> payCreateOrder = tzBankService.payCreateOrder(requestDTO);
-                        // 获得小程序请求码
-                        if("00000000".equals(payCreateOrder.getRetCode())){
-                            TzPayCreateOrderRspDTO body = payCreateOrder.getBody();
-
-                            RequestDTO<TzMiniProgramCodeReqDTO> reqDTORequestDTO = new RequestDTO<>();
-                            TzMiniProgramCodeReqDTO tzMiniProgramCodeReqDTO = new TzMiniProgramCodeReqDTO();
-                            tzMiniProgramCodeReqDTO.setOrderNo(body.getOrderFlowNo());
-                            tzMiniProgramCodeReqDTO.setPlatMerCstNo(tzConfigInfoDTO.getPlatMerCstNo());
-                            tzMiniProgramCodeReqDTO.setBusinessCstNo(user.getUserId().toString());
-                            reqDTORequestDTO.setReqHeader(TzReqHeaderDTO.getInstance(payCode));
-                            reqDTORequestDTO.setReqBody(tzMiniProgramCodeReqDTO);
-                            TzReqResultDTO<TzMiniProgramCodeRespDTO> miniProgramCode = tzBankService.miniProgramCode(reqDTORequestDTO);
-                            if("00000000".equals(miniProgramCode.getRetCode())){
-                                FsStorePayment mt=new FsStorePayment();
-                                mt.setPaymentId(storePayment.getPaymentId());
-                                mt.setTradeNo(miniProgramCode.getBody().getOrderNo());
-                                fsStorePaymentMapper.updateFsStorePayment(mt);
-                                redisCache.setCacheObject("isPaying:"+order.getId(),order.getId().toString(),1, TimeUnit.MINUTES);
-                                TzMiniProgramCodeRespDTO result = miniProgramCode.getBody();
-                                result.setPayCode(payCode);
-                                return R.ok().put("payType",param.getPayType()).put("result",result);
-                            } else {
-                                return R.error(miniProgramCode.getRetMsg());
-                            }
-                        }
-                    } catch (Exception e) {
-                        logger.error("系统异常",e);
-                        return R.error("系统异常,请联系管理员!");
-                    }
-                } else if (fsPayConfig.getType().equals("yb")){
-                    WxJspayDTO p = new WxJspayDTO();
-                    p.setPayMoney(order.getPayMoney().toString());
-                    p.setLowOrderId("store-"+payCode);
-                    p.setBody("商城订单支付");
-                    p.setIsMinipg("1");
-                    p.setReturnUrl(fsPayConfig.getYbNotifyUrl());
-                    p.setOpenId(user.getMaOpenId());
-                    p.setAttach("");
-                    p.setStoreid("0");
-                    CreateWxOrderResult wxOrder = ybPayService.createWxOrder(p);
-                if(wxOrder.getStatus().equals("100")){
-                    FsStorePayment ment=new FsStorePayment();
-                    ment.setPaymentId(storePayment.getPaymentId());
-                    ment.setTradeNo(wxOrder.getUpOrderId());
-                    fsStorePaymentMapper.updateFsStorePayment(ment);
-                    redisCache.setCacheObject("isPaying:"+order.getId(),order.getId().toString(),1, TimeUnit.MINUTES);
-                    return R.ok().put("payType",param.getPayType()).put("result",wxOrder.getPay_info());
-                }
-                else{
-                    return R.error(wxOrder.getMessage());
-                }
-                }
-            }
-            //易宝支付
-//            if(order.getPayType().equals("1")||order.getPayType().equals("2")){
-//                FsStorePayment storePayment=new FsStorePayment();
-//                storePayment.setCompanyId(order.getCompanyId());
-//                storePayment.setCompanyUserId(order.getCompanyUserId());
-//                storePayment.setStatus(0);
-//                storePayment.setPayCode(payCode);
-//                storePayment.setPayMoney(order.getPayMoney());
-//                storePayment.setCreateTime(new Date());
-//                storePayment.setPayTypeCode("weixin");
-//                storePayment.setBusinessType(2);
-//                storePayment.setRemark("商城订单支付");
-//                storePayment.setOpenId(user.getRealName());
-//                storePayment.setUserId(user.getUserId());
-//                storePayment.setBusinessOrderId(order.getId().toString());
-//                storePayment.setOrderId(order.getId());
-//                fsStorePaymentMapper.insertFsStorePayment(storePayment);
-//
-//                //创建订单
-//
-//            }
-            else if(order.getPayType().equals("3")){
-                //货到付款
-                orderService.payConfirm(2,order.getId(),null,null,null,null);
-                return R.ok().put("payType",param.getPayType());
+        logger.info("开始处理支付请求, 订单号: {}, 支付类型: {}", param.getOrderId(), param.getPayType());
+        R result = null;
+        try {
+            result = orderService.pay(param);
+        } catch (Exception e) {
+            logger.error("支付过程中发生异常, 订单号: {}", param.getOrderId(), e);
+            throw e;
+        } finally {
+            if (result != null) {
+                logger.info("支付请求处理完成, 订单号: {}, 返回结果: {}", param.getOrderId(), result);
+            } else {
+                logger.info("支付请求处理完成, 订单号: {}, 返回结果为空", param.getOrderId());
             }
-
-            //小雨点支付
-//            if(sysConfig.getPayOpen()==1){
-//                if(order.getPayType().equals("1")||order.getPayType().equals("2")){
-//
-//                    FsStorePayment storePayment=new FsStorePayment();
-//                    storePayment.setCompanyId(order.getCompanyId());
-//                    storePayment.setCompanyUserId(order.getCompanyUserId());
-//                    storePayment.setStatus(0);
-//                    storePayment.setPayCode(payCode);
-//                    storePayment.setPayMoney(order.getPayMoney());
-//                    storePayment.setCreateTime(new Date());
-//                    storePayment.setPayTypeCode("weixin");
-//                    storePayment.setBusinessType(2);
-//                    storePayment.setRemark("商城订单支付");
-//                    storePayment.setOpenId(user.getRealName());
-//                    storePayment.setUserId(user.getUserId());
-//                    storePayment.setBusinessOrderId(order.getId().toString());
-//                    storePayment.setOrderId(order.getId());
-//                    fsStorePaymentMapper.insertFsStorePayment(storePayment);
-//
-//                    //创建订单
-//                    CreatePayDTO createPayDTO=new CreatePayDTO();
-//                    createPayDTO.setMerchOrderNo(payCode);
-//                    List<TradeOrder> orders=new ArrayList<>();
-//                    TradeOrder tradeOrder=new TradeOrder();
-//                    tradeOrder.setAmount(order.getPayMoney().toString());
-//                    tradeOrder.setSubMerchOrderNo("store-"+payCode);
-//                    tradeOrder.setTradeName("商品订单支付");
-//                    tradeOrder.setPayeeOutUserId(sysConfig.getPayPartnerId());
-//                    orders.add(tradeOrder);
-//                    createPayDTO.setOrders(orders);
-//                    payService.createOrder(createPayDTO);
-//                    //支付订单
-//                    PayDTO payDTO=new PayDTO();
-//                    payDTO.setOrigMerchOrderNo(payCode);
-//                    payDTO.setOpenID(user.getMaOpenId());
-//                    payDTO.setAppID(wxPayProperties.getAppId());
-//                    payDTO.setPayerOutUserId(user.getUserId().toString());
-//                    payDTO.setPayerOutUserName(user.getNickname());
-//                    payDTO.setUserIp(IPUtils.getIpAddr(request));
-//                    return R.ok().put("payType",param.getPayType()).put("result",payService.payOrder(payDTO));
-//                }
-//                else if(order.getPayType().equals("3")){
-//                    //货到付款
-//                    orderService.payConfirm(2,order.getId(),null,null,null,null);
-//                    return R.ok().put("payType",param.getPayType());
-//                }
-//            }
-//            else{
-//
-//                //创建微信订单
-//                WxPayConfig payConfig = new WxPayConfig();
-//                payConfig.setAppId(wxPayProperties.getAppId());
-//                payConfig.setMchId(wxPayProperties.getMchId());
-//                payConfig.setMchKey(wxPayProperties.getMchKey());
-//                payConfig.setSubAppId(org.apache.commons.lang3.StringUtils.trimToNull(null));
-//                payConfig.setSubMchId(org.apache.commons.lang3.StringUtils.trimToNull(null));
-//                payConfig.setKeyPath(null);
-//                payConfig.setNotifyUrl(wxPayProperties.getNotifyUrl());
-//                wxPayService.setConfig(payConfig);
-//                WxPayUnifiedOrderRequest orderRequest = new WxPayUnifiedOrderRequest();
-//                orderRequest.setOpenid(user.getMaOpenId());//公众号支付提供用户openid
-//                orderRequest.setBody("商城订单支付");
-//                orderRequest.setOutTradeNo("store-"+order.getOrderCode());
-//                orderRequest.setTotalFee(WxPayUnifiedOrderRequest.yuanToFen(order.getPayMoney().toString()));//测试
-//                //orderRequest.setTotalFee(WxPayUnifiedOrderRequest.yuanToFen(money));//测试
-//                orderRequest.setTradeType("JSAPI");
-//                orderRequest.setSpbillCreateIp(IPUtils.getIpAddr(request));
-//                //调用统一下单接口,获取"预支付交易会话标识"
-//                try {
-//                    WxPayMpOrderResult orderResult = wxPayService.createOrder(orderRequest);
-//                    return R.ok().put("result",orderResult);
-//                } catch (WxPayException e) {
-//                    e.printStackTrace();
-//                    return R.error("下单失败"+e.getMessage());
-//                }
-//            }
-            return R.error();
-        }
-        else{
-            return R.error("用户OPENID不存在");
         }
-
+        return result;
     }
 
 
-
-
-
     @Login
     @ApiOperation("修改支付类型")
     @PostMapping("/editPayType")
@@ -826,79 +546,6 @@ public class StoreOrderController extends  AppBaseController {
                 return R.error(wxOrder.getMessage());
             }
             }
-
-//
-//            //创建订单
-//
-            //小雨点支付
-//            if(sysConfig.getPayOpen()==1){
-//                FsStorePayment storePayment=new FsStorePayment();
-//                storePayment.setCompanyId(order.getCompanyId());
-//                storePayment.setCompanyUserId(order.getCompanyUserId());
-//                storePayment.setStatus(0);
-//                storePayment.setPayCode(payCode);
-//                storePayment.setPayMoney(order.getPayDelivery());
-//                storePayment.setCreateTime(new Date());
-//                storePayment.setPayTypeCode("weixin");
-//                storePayment.setBusinessType(2);
-//                storePayment.setRemark("商城订单尾款支付");
-//                storePayment.setOpenId(user.getRealName());
-//                storePayment.setUserId(user.getUserId());
-//                storePayment.setBusinessOrderId(order.getId().toString());
-//                storePayment.setOrderId(order.getId());
-//                storePayment.setIsPayRemain(1);
-//                fsStorePaymentMapper.insertFsStorePayment(storePayment);
-//                //创建订单
-//                CreatePayDTO createPayDTO=new CreatePayDTO();
-//                createPayDTO.setMerchOrderNo(payCode);
-//                List<TradeOrder> orders=new ArrayList<>();
-//                TradeOrder tradeOrder=new TradeOrder();
-//                tradeOrder.setAmount(order.getPayDelivery().toString());
-//                tradeOrder.setSubMerchOrderNo("store_remain-"+payCode);
-//                tradeOrder.setTradeName("支付订单尾款");
-//                tradeOrder.setPayeeOutUserId(sysConfig.getPayPartnerId());
-//                orders.add(tradeOrder);
-//                createPayDTO.setOrders(orders);
-//                payService.createOrder(createPayDTO);
-//                //支付订单
-//                PayDTO payDTO=new PayDTO();
-//                payDTO.setOrigMerchOrderNo(payCode);
-//                payDTO.setOpenID(user.getMaOpenId());
-//                payDTO.setAppID(wxPayProperties.getAppId());
-//                payDTO.setPayerOutUserId(user.getUserId().toString());
-//                payDTO.setPayerOutUserName(user.getNickname());
-//                payDTO.setUserIp(IPUtils.getIpAddr(request));
-//                return R.ok().put("result",payService.payOrder(payDTO));
-//            }
-//            else{
-////                //创建微信订单
-////                WxPayConfig payConfig = new WxPayConfig();
-////                payConfig.setAppId(wxPayProperties.getAppId());
-////                payConfig.setMchId(wxPayProperties.getMchId());
-////                payConfig.setMchKey(wxPayProperties.getMchKey());
-////                payConfig.setSubAppId(org.apache.commons.lang3.StringUtils.trimToNull(null));
-////                payConfig.setSubMchId(org.apache.commons.lang3.StringUtils.trimToNull(null));
-////                payConfig.setKeyPath(null);
-////                payConfig.setNotifyUrl(wxPayProperties.getNotifyUrl());
-////                wxPayService.setConfig(payConfig);
-////                WxPayUnifiedOrderRequest orderRequest = new WxPayUnifiedOrderRequest();
-////                orderRequest.setOpenid(user.getMaOpenId());//公众号支付提供用户openid
-////                orderRequest.setBody("商城订单支付");
-////                orderRequest.setOutTradeNo("store-"+order.getOrderCode());
-////                orderRequest.setTotalFee(WxPayUnifiedOrderRequest.yuanToFen(order.getPayMoney().toString()));//测试
-////                //orderRequest.setTotalFee(WxPayUnifiedOrderRequest.yuanToFen(money));//测试
-////                orderRequest.setTradeType("JSAPI");
-////                orderRequest.setSpbillCreateIp(IPUtils.getIpAddr(request));
-////                //调用统一下单接口,获取"预支付交易会话标识"
-////                try {
-////                    WxPayMpOrderResult orderResult = wxPayService.createOrder(orderRequest);
-////                    return R.ok().put("result",orderResult);
-////                } catch (WxPayException e) {
-////                    e.printStackTrace();
-////                    return R.error("下单失败"+e.getMessage());
-////                }
-//            }
-//            return R.error();
         }
         else{
             return R.error("用户OPENID不存在");
@@ -1071,48 +718,6 @@ public class StoreOrderController extends  AppBaseController {
                     return R.error("系统异常,请联系管理员!");
                 }
             }
-
-
-            //小雨点支付
-//            if(sysConfig.getPayOpen()==1){
-//                FsStorePayment storePayment=new FsStorePayment();
-//                storePayment.setCompanyId(order.getCompanyId());
-//                storePayment.setCompanyUserId(order.getCompanyUserId());
-//                storePayment.setStatus(0);
-//                storePayment.setPayCode(payCode);
-//                storePayment.setPayMoney(order.getPayMoney());
-//                storePayment.setCreateTime(new Date());
-//                storePayment.setPayTypeCode("weixin");
-//                storePayment.setBusinessType(2);
-//                storePayment.setRemark("商城订单支付");
-//                storePayment.setOpenId(session.getOpenid());
-//                storePayment.setUserId(user.getUserId());
-//                storePayment.setBusinessOrderId(order.getId().toString());
-//                storePayment.setOrderId(order.getId());
-//                fsStorePaymentMapper.insertFsStorePayment(storePayment);
-//
-//                //创建订单
-//                CreatePayDTO createPayDTO=new CreatePayDTO();
-//                createPayDTO.setMerchOrderNo(payCode);
-//                List<TradeOrder> orders=new ArrayList<>();
-//                TradeOrder tradeOrder=new TradeOrder();
-//                tradeOrder.setAmount(order.getPayMoney().toString());
-//                tradeOrder.setSubMerchOrderNo("store-"+payCode);
-//                tradeOrder.setTradeName("商品订单支付");
-//                tradeOrder.setPayeeOutUserId(sysConfig.getPayPartnerId());
-//                orders.add(tradeOrder);
-//                createPayDTO.setOrders(orders);
-//                payService.createOrder(createPayDTO);
-//                //支付订单
-//                PayDTO payDTO=new PayDTO();
-//                payDTO.setOrigMerchOrderNo(payCode);
-//                payDTO.setOpenID(user.getMaOpenId());
-//                payDTO.setAppID(wxPayProperties.getAppId());
-//                payDTO.setPayerOutUserId(user.getUserId().toString());
-//                payDTO.setPayerOutUserName(user.getNickname());
-//                payDTO.setUserIp(IPUtils.getIpAddr(request));
-//                return R.ok().put("result",payService.payOrder(payDTO));
-//            }
         } catch (WxErrorException e) {
             e.printStackTrace();
             return R.error(e.getMessage());
@@ -1223,47 +828,6 @@ public class StoreOrderController extends  AppBaseController {
                     return R.error(wxOrder.getMessage());
                 }
             }
-
-            //小雨点支付
-//            if(sysConfig.getPayOpen()==1){
-//                FsStorePayment storePayment=new FsStorePayment();
-//                storePayment.setCompanyId(order.getCompanyId());
-//                storePayment.setCompanyUserId(order.getCompanyUserId());
-//                storePayment.setStatus(0);
-//                storePayment.setPayCode(payCode);
-//                storePayment.setPayMoney(order.getPayDelivery());
-//                storePayment.setCreateTime(new Date());
-//                storePayment.setPayTypeCode("weixin");
-//                storePayment.setBusinessType(2);
-//                storePayment.setRemark("商城订单尾款支付");
-//                storePayment.setOpenId(user.getRealName());
-//                storePayment.setUserId(user.getUserId());
-//                storePayment.setBusinessOrderId(order.getId().toString());
-//                storePayment.setOrderId(order.getId());
-//                storePayment.setIsPayRemain(1);
-//                fsStorePaymentMapper.insertFsStorePayment(storePayment);
-//                //创建订单
-//                CreatePayDTO createPayDTO=new CreatePayDTO();
-//                createPayDTO.setMerchOrderNo(payCode);
-//                List<TradeOrder> orders=new ArrayList<>();
-//                TradeOrder tradeOrder=new TradeOrder();
-//                tradeOrder.setAmount(order.getPayDelivery().toString());
-//                tradeOrder.setSubMerchOrderNo("store_remain-"+payCode);
-//                tradeOrder.setTradeName("支付订单尾款");
-//                tradeOrder.setPayeeOutUserId(sysConfig.getPayPartnerId());
-//                orders.add(tradeOrder);
-//                createPayDTO.setOrders(orders);
-//                payService.createOrder(createPayDTO);
-//                //支付订单
-//                PayDTO payDTO=new PayDTO();
-//                payDTO.setOrigMerchOrderNo(payCode);
-//                payDTO.setOpenID(user.getMaOpenId());
-//                payDTO.setAppID(wxPayProperties.getAppId());
-//                payDTO.setPayerOutUserId(user.getUserId().toString());
-//                payDTO.setPayerOutUserName(user.getNickname());
-//                payDTO.setUserIp(IPUtils.getIpAddr(request));
-//                return R.ok().put("result",payService.payOrder(payDTO));
-//            }
         } catch (WxErrorException e) {
             e.printStackTrace();
             return R.error(e.getMessage());