Pārlūkot izejas kodu

联合丽格v1_0_2

kaick 1 gadu atpakaļ
vecāks
revīzija
a67fc133ff

+ 2 - 1
src/main/java/com/caimei/modules/club/dao/CmUserDao.java

@@ -17,4 +17,5 @@ public interface CmUserDao {
     void update(CmUser cmUser);
 
     CmUser findUserById(Integer userId);
-}
+    CmUser get(Integer userId);
+}

+ 24 - 0
src/main/java/com/caimei/modules/order/controller/CmReturnedPurchaseController.java

@@ -17,7 +17,10 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -44,6 +47,27 @@ public class CmReturnedPurchaseController {
         return JsonModel.newInstance().success(purchasePage);
     }
 
+    /**
+     * 接口参数:
+     * 用户撤销退款id
+     * 组织organizeId
+     * 主订单orderId
+     * 子订单shopOrderId
+     * @param cmReturnedPurchase
+     * @return
+     */
+    @ApiOperation("用户撤销退款")
+    @GetMapping(value = "revokeApply")
+    public ResponseJson<String> revokeApply(CmReturnedPurchase cmReturnedPurchase) {
+            cmReturnedPurchase = cmReturnedPurchaseService.get(cmReturnedPurchase.getId());
+            if (!"2".equals(cmReturnedPurchase.getStatus())) {
+               return ResponseJson.error("该退款单状态已发生改变,不可撤销");
+            }
+            cmReturnedPurchaseService.revokeApply(cmReturnedPurchase);
+
+        return ResponseJson.success("已撤销退款");
+    }
+
 
     @ApiOperation("用户退款单详情")
     @GetMapping(value = "/toReturnRecord/{id}")

+ 4 - 0
src/main/java/com/caimei/modules/order/dao/CmReturnedPurchaseDao.java

@@ -26,4 +26,8 @@ public interface CmReturnedPurchaseDao {
     List<Integer> findReturnIds(Integer orderId);
 
     List<ReturnRecord> findRecordByShopOrder(Integer shopOrderId);
+
+    int updateRevokeApply(CmReturnedPurchase cmReturnedPurchase);
+
+    List<CmReturnedPurchase> findReturnedPurchaseRecord(CmReturnedPurchase item);
 }

+ 80 - 0
src/main/java/com/caimei/modules/order/dao/CmUserBalanceRecordMapper.java

@@ -0,0 +1,80 @@
+package com.caimei.modules.order.dao;
+
+import java.util.List;
+
+import com.caimei.modules.order.entity.CmUserBalanceRecord;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 用户余额收支记录Mapper接口
+ *
+ * @author Kaick
+ * @date 2023-06-18
+ */
+@Mapper
+public interface CmUserBalanceRecordMapper
+{
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param id 用户余额收支记录主键
+     * @return 用户余额收支记录
+     */
+    public CmUserBalanceRecord getCmUserBalanceRecordById(Integer id);
+
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录集合
+     */
+    public CmUserBalanceRecord getByCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 查询用户余额收支记录列表
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录集合
+     */
+    public List<CmUserBalanceRecord> getCmUserBalanceRecordList(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    public int addCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    public int updateCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 删除用户余额收支记录
+     *
+     * @param id 用户余额收支记录主键
+     * @return 结果
+     */
+    public int delCmUserBalanceRecordById(Integer id);
+
+    /**
+     * 批量删除用户余额收支记录
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int delCmUserBalanceRecordByIds(Integer[] ids);
+
+    /**
+     * 修改批量删除用户余额收支记录
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int updateDelCmUserBalanceRecordByIds(Integer[] ids);
+}

+ 4 - 1
src/main/java/com/caimei/modules/order/dao/NewOrderProductDao.java

@@ -2,15 +2,18 @@ package com.caimei.modules.order.dao;
 
 import com.caimei.modules.order.entity.NewOrderProduct;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 @Mapper
 public interface NewOrderProductDao {
-    
+
     NewOrderProduct get(Integer orderProductId);
 
     List<NewOrderProduct> findListByShopOrderId(Integer shopOrderId);
+    
+    Integer CountReturnedPurchaseProduct(@Param("shopOrderID") Integer shopOrderID, @Param("orderProductID") Integer orderProductID);
 
     Integer getReturningNum(Integer orderProductId);
 

+ 66 - 0
src/main/java/com/caimei/modules/order/entity/CmUserBalanceRecord.java

@@ -0,0 +1,66 @@
+package com.caimei.modules.order.entity;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.apache.ibatis.type.Alias;
+
+/**
+ * 用户余额收支记录对象 cm_user_balance_record
+ *
+ * @author Kaick
+ * @date 2023-06-18
+ */
+@Accessors(chain  = true )
+@Data
+@Alias("CmUserBalanceRecord")
+public class CmUserBalanceRecord implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Integer id;
+
+    /** 用户ID */
+    private Integer userId;
+
+    /** 收支类型:1收入,2支出 */
+    private String type;
+
+    /** 余额类型:1线下余额抵扣,2多收退款到余额,3申请退款到线下余额,4余额充值,5余额提现,6线下订金订单充值,7线下余额订单充值,8线下订金订单退款,9线下余额订单退款,10线上余额抵扣,13申请退款到线上余额,16线上订金订单充值,17线上余额订单充值,18线上订金订单退款,19线上余额订单退款 */
+    private String balanceType;
+
+    /** 添加时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date addDate;
+
+    /** 金额 */
+    private BigDecimal amount;
+
+    /** 主订单ID(适用余额类型1,3[类型为3多次退款存在相同记录ID则需通过退款ID唯一区分]) */
+    private Integer orderId;
+
+    /** 子订单Id */
+    private Integer shopOrderId;
+
+    /** 收款ID(适用余额类型2) */
+    private Integer receiptId;
+
+    /** 退货退款ID(适用余额类型3) */
+    private Integer returnedId;
+
+    /** 用户提现ID对应表(cm_user_balance_withdrawals) */
+    private Integer withdrawalsId;
+
+    /** 备注 */
+    private String remark;
+
+    /** 删除标记 0 否,其余是 */
+    private String delFlag;
+
+}

+ 92 - 0
src/main/java/com/caimei/modules/order/entity/NewOrder.java

@@ -19,6 +19,9 @@ public class NewOrder implements Serializable {
 
     private String orderNo;
 
+    @ApiModelProperty("订单可见度")
+    private Integer orderSeen;
+
     @ApiModelProperty("结算状态")
     private Integer settleStatus;
 
@@ -144,6 +147,9 @@ public class NewOrder implements Serializable {
     @ApiModelProperty("退货退款类型:0无退款、1部分退、2全部退")
     private String refundType;
 
+    private String orderType;//    订单类型 0协销订单、 1普通订单、 2呵呵订单
+
+
     @ApiModelProperty("邮费订单标识 1是邮费订单  0不是邮费订单")
     private String postageOrderFlag = "0";
 
@@ -227,5 +233,91 @@ public class NewOrder implements Serializable {
 
     @ApiModelProperty("退款信息")
     private CmReturnedPurchase cmReturnedPurchase;
+
+
+    private Integer organizeStoreId;    // 组织门店id
+    private Integer shopOrderId;        // varchar(100) comment '子订单Id',
+    private String shopOrderIds;        // varchar(100) comment '子订单Id',
+    private Double promotionFullReduction;             //DECIMAL(20,2) DEFAULT 0.00  NULL   COMMENT '促销满减优惠' AFTER `discountFee`,
+    private Integer mainSpId;            // bigint(6),
+    private String clubScanTime;        // varchar(19),
+    private String payWay;              // 支付方式,(协销订单可能会存在多种进账方式用,隔开),
+    private Integer payTypeId;           // int(11) comment '支付类型',
+    private String cooFreeFlag;          // char(1) comment '库分期免息状态',
+    private Integer cooFreeRate;         // int(3) comment '库分期分期费率',
+    private Double cooFreeAmount;       // decimal(20,2) comment '库分期免息金额',
+    private Integer promotionalGiftsCount; // INT(11) NULL   COMMENT '促销赠品总数' AFTER `presentCount
+    private String splitFlag; // 订单能否拆分 1 为可拆分, 0为不可拆分
+    private String closeTime;   // 订单关闭时间
+    private Double discountAmount;  // 优惠金额:经理折扣+促销优惠+优惠券抵扣金额
+    // ---------------- v5.0.0 新加
+    private Double totalDiscount;//订单退款已退的经理折扣金额
+    private Integer zeroCostFlag;//订单0成本标识
+    private Integer userBeans;//采美豆抵扣运费数量(100:1)
+    // -----------------  v5.0.0 end
+    private Integer returnGoodsStutas;//能否退货  1 能 2 不能
+    //-------------        虚拟字段   ----------------------------
+    private Integer settleRecordNum;   //佣金结算数量
+    private String unReceipt;//未收金额(需要包含运费,目前只存在普通订单存在运费)
+    private String paid;//已付金额(不需要包含运费,等同于订单商品金额)
+    private String unpaid;//未付金额(不需要包含运费,等同于订单商品金额)
+    private String startConfirmTime;
+    private String endConfirmTime;
+    private String startRefundTime;
+    private String endRefundTime;
+    private String shopNameInfo;//
+    private String spName;
+    private Integer serviceProviderId;  //协销Id
+    private Double settleAmount;   // 已结算金额
+    private Integer splitCount;  //分账记录数
+
+    // 促销
+    private String searchflag;//0搜索,1导出
+    private String[] shopNote;  //子订单备注   修改时用来记录一下的
+    private String rebateOrder;  //是不是返佣订单 是的1,  不是的0
+    private String[] ps;    //付款状态集合
+    private Double shouldPayShopAmount; //付供应商总金额
+    private Double returnValue;  //退款总金额
+    private Boolean returnedFreightFlag;//机构运费退货标识
+    private List<NewOrderProduct> newOrderProducts;  // 订单商品列表
+
+    // 收款确认类型(1小额抹平确认,2大额抹平确认,3大额退款余额,4确认关联)
+    private String confirmType;
+    private Double orderReceivedAmount;//订单已收金额(此收款只计算线上线下收款记录payableAmount表金额)
+    private Double returnBalanceAmount;// 退款余额金额
+    private String secondHandOrderFlag;//二手商品订单标识  0非二手商品订单、 1二手商品订单
+    private boolean receiptOrderFlag;// 判断订单中抹平的订单是否是和多个订单一起支付的,
+    private Integer rechargeGoods; //1,缴纳订金;2,充值余额
+    private String affirmPaymentFlag;// 二手订单确认付款供应商标识 0未确认,1已确认
+    private String rebateFlag;//返佣订单标识,0非返佣订单,1返佣订单,2普通订单有返佣服务费
+    private String rebateFee; // 返佣服务费
+    private String associationType;//订单关联方式: 1手动 2自动
+    private Double ableUserMoney; //当前下单用户可用余额
+    private String organizeStoreName;//组织机构名称
+    /**
+     * 优惠券机构关联Id
+     */
+    private Integer clubCouponId;
+    private Double couponAmount;    //优惠券抵扣金额
+    private Double svipFullReduction;   //超级会员优惠
+    private Integer collageFlag;    // 拼团订单标识:1拼团订单,0不是
+    private Integer collageStatus;  // 拼团状态:1拼团中,2已拼成
+    private Double reductionAmount;    //分享减免金额
+    private Double reductionTouchPrice; //分享减免条件
+    private Integer onlinfePayFlag;  //线上支付标记
+
+    private Integer productCategory;//商品订单状态 1.普通订单 2.二手订单
+
+    private Integer productCode;//订单商品是否是采美信息分帐号收款的线上支付子订单
+
+    private Integer numbers;    // 总数
+    private Double totalMoney;  // 总金额
+
+
+    /**
+     * 呵呵商城优惠券
+     */
+    private Integer receiveCouponId;
+    private Integer delFlag;
 }
 

+ 3 - 0
src/main/java/com/caimei/modules/order/service/CmReturnedPurchaseService.java

@@ -14,6 +14,9 @@ public interface CmReturnedPurchaseService {
 
     CmReturnedPurchase get(Integer id);
 
+     void revokeApply(CmReturnedPurchase cmReturnedPurchase);
+
+
     void toReturnRecord(NewOrder newOrder,CmReturnedPurchase cmReturnedPurchase);
 
     List<NewOrder> getReturnDetailList(Integer orderId);

+ 86 - 0
src/main/java/com/caimei/modules/order/service/CmUserBalanceRecordService.java

@@ -0,0 +1,86 @@
+package com.caimei.modules.order.service;
+
+import com.caimei.modules.order.entity.CmUserBalanceRecord;
+
+import java.util.List;
+
+/**
+ * 用户余额收支记录Service接口
+ *
+ * @author Kaick
+ * @date 2023-06-18
+ */
+public interface CmUserBalanceRecordService
+{
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param id 用户余额收支记录主键
+     * @return 用户余额收支记录
+     */
+    public CmUserBalanceRecord getCmUserBalanceRecordById(Integer id);
+
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录
+     */
+    public CmUserBalanceRecord getByCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 查询用户余额收支记录列表
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录集合
+     */
+    public List<CmUserBalanceRecord> getCmUserBalanceRecordList(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    public int addCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    public int updateCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 批量删除用户余额收支记录
+     *
+     * @param ids 需要删除的用户余额收支记录主键集合
+     * @return 结果
+     */
+    public int delCmUserBalanceRecordByIds(Integer[] ids);
+
+    /**
+     * 删除用户余额收支记录信息
+     *
+     * @param id 用户余额收支记录主键
+     * @return 结果
+     */
+    public int delCmUserBalanceRecordById(Integer id);
+
+    /**
+     * 批量新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecordList 用户余额收支记录列表
+     * @return 结果
+     */
+    public void batchAddCmUserBalanceRecord(List<CmUserBalanceRecord> cmUserBalanceRecordList);
+
+    /**
+     * 批量修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecordList 用户余额收支记录列表
+     * @return 结果
+     */
+    public void batchUpdateCmUserBalanceRecord(List<CmUserBalanceRecord> cmUserBalanceRecordList);
+}

+ 153 - 0
src/main/java/com/caimei/modules/order/service/impl/CmReturnedPurchaseServiceImpl.java

@@ -1,17 +1,27 @@
 package com.caimei.modules.order.service.impl;
 
+import com.caimei.modules.club.dao.CmUserDao;
+import com.caimei.modules.club.entity.CmUser;
 import com.caimei.modules.order.dao.*;
 import com.caimei.modules.order.entity.*;
 import com.caimei.modules.order.service.CmReturnedPurchaseService;
+import com.caimei.modules.order.service.CmUserBalanceRecordService;
 import com.caimei.modules.order.service.NewOrderService;
 import com.caimei.modules.order.service.NewShopOrderService;
 import com.caimei.modules.order.util.OrderUtils;
 import com.caimei.utils.AppUtils;
+import com.caimei.utils.MathUtil;
+import com.caimei.utils.NewOrderStatus;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
 import java.util.*;
 
 @Slf4j
@@ -30,11 +40,19 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
     @Resource
     private NewOrderService orderService;
     @Resource
+    private NewOrderDao orderDao;
+    @Resource
+    private CmUserBalanceRecordService cmUserBalanceRecordService;
+    @Resource
     private OrderUtils orderUtil;
     @Resource
     private PayShopDao payShopDao;
     @Resource
     private NewShopOrderDao shopOrderDao;
+    @Resource
+    private CmUserDao cmUserDao;
+    @Resource
+    private NewOrderProductDao newOrderProductDao;
 
 
     @Override
@@ -165,4 +183,139 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
         map.put("returns", returns);
         return map;
     }
+
+    @Transactional(readOnly = false)
+    @Override
+    public void revokeApply(CmReturnedPurchase cmReturnedPurchase) {
+        try {
+            //1.撤销退款退货表审核通过信息
+            cmReturnedPurchase.setConfirmReturnTime(null);
+            cmReturnedPurchase.setReviewImage1(null);
+            cmReturnedPurchase.setReviewImage2(null);
+            cmReturnedPurchase.setReviewImage3(null);
+            cmReturnedPurchase.setReviewImage4(null);
+            cmReturnedPurchase.setReviewImage5(null);
+            cmReturnedPurchase.setStatus("1");
+            cmReturnedPurchase.setReviewUserId(null);
+            cmReturnedPurchase.setReviewRemarks(null);
+            cmReturnedPurchaseDao.updateRevokeApply(cmReturnedPurchase);
+            NewOrder newOrder = orderService.get(cmReturnedPurchase.getOrderId().toString());
+            //2.查询除本次撤销记录外存在的其他的有效记录
+            CmReturnedPurchase item = new CmReturnedPurchase();
+            item.setStatus("2");
+            item.setOrderId(cmReturnedPurchase.getOrderId());
+            List<CmReturnedPurchase> returnedPurchaseRecord = cmReturnedPurchaseDao.findReturnedPurchaseRecord(item);
+            if (CollectionUtils.isNotEmpty(returnedPurchaseRecord)) {
+                //存在退款记录则本次撤销后订单状态为部分退款
+                //部分退货
+                newOrder.setRefundType("1");
+                String status = newOrder.getStatus();
+                if (StringUtils.equals("7", status)) {//如果之前为交易全退,撤销后则变为
+                    if (StringUtils.equals("1", newOrder.getReceiptStatus())) {//(收款买家)收款状态:1待收款、2部分收款、3已收款
+                        newOrder.setStatus(NewOrderStatus.DAISHOU_BUFA.getCode());//待收部发
+                    }
+                    if (StringUtils.equals("2", newOrder.getReceiptStatus())) {
+                        newOrder.setStatus(NewOrderStatus.BUSHOU_BUFA.getCode());//部收部发
+                    }
+                    if (StringUtils.equals("3", newOrder.getReceiptStatus())) {
+                        newOrder.setStatus(NewOrderStatus.YISHOU_BUFA.getCode());//已收部发
+                    }
+                }
+            } else {
+                //不存在退款记录则本次退款为未退款
+                String status = newOrder.getStatus();
+                newOrder.setRefundType("");
+                if (StringUtils.equals("7", status)) {//如果之前为交易全退,撤销后则变为
+                    if (StringUtils.equals("1", newOrder.getReceiptStatus())) {//(收款买家)收款状态:1待收款、2部分收款、3已收款
+                        newOrder.setStatus(NewOrderStatus.DAISHOU_DAIFA.getCode());//待收待发
+                    }
+                    if (StringUtils.equals("2", newOrder.getReceiptStatus())) {
+                        newOrder.setStatus(NewOrderStatus.BUSHOU_DAIFA.getCode());//部收待发
+                    }
+                    if (StringUtils.equals("3", newOrder.getReceiptStatus())) {
+                        newOrder.setStatus(NewOrderStatus.YISHOU_DAIFA.getCode());//已收待发
+                    }
+                }
+            }
+            //更新订单信息
+            orderDao.update(newOrder);
+
+            //更新用户余额总金额
+            Integer userID = newOrder.getUserId();
+            CmUser cmUser = cmUserDao.get(userID);
+            Double refundBalanceFee = cmReturnedPurchase.getRefundBalanceFee();
+            cmUser.setUserId(userID);
+
+            CmUserBalanceRecord balanceRecord = cmUserBalanceRecordService.getByCmUserBalanceRecord(new CmUserBalanceRecord().setReturnedId(cmReturnedPurchase.getId()));
+            //充值或缴纳订金订单
+            if (balanceRecord != null) {
+                balanceRecord.setRemark("已撤销退款");
+                cmUser.setUserMoney(cmUser.getUserMoney() + cmReturnedPurchase.getRefundFee());
+            } else {
+                cmUser.setAbleUserMoney(cmUser.getAbleUserMoney() - refundBalanceFee);
+                cmUser.setUserMoney(cmUser.getUserMoney() - refundBalanceFee);
+            }
+
+            //撤销审核通过的余额记录
+            if (refundBalanceFee > 0) {//存在余额退款
+                //撤销余额收支记录
+                balanceRecord.setUserId(newOrder.getUserId());
+                balanceRecord.setOrderId(newOrder.getOrderId());
+                balanceRecord.setReturnedId(cmReturnedPurchase.getId());
+                balanceRecord.setRemark("撤销退款,余额记录无效-后台");
+                balanceRecord.setDelFlag("1");
+            }
+            cmUserDao.update(cmUser);
+            if(balanceRecord!=null){
+                cmUserBalanceRecordService.updateCmUserBalanceRecord(balanceRecord);
+            }
+//            //撤销退款采美豆
+//            Integer userBeans = Integer.valueOf(cmUser.getUserBeans());
+//            Integer num = cmUserbeanshistoryDao.findByBeansType(newOrder.getOrderID());
+//            if (num != null && num > 0) {
+//                userBeans = userBeans + num;
+//            }
+//            if (newOrder.getUserBeans() != null && newOrder.getUserBeans() > 0) {
+//                userBeans = userBeans - newOrder.getUserBeans();
+//            }
+//            cmUserbeanshistoryDao.updateBeansHistoryByReturned(newOrder.getOrderID());
+//            cmUserDao.updateUserBeans(newOrder.getUserID(), userBeans);
+//            //撤销优惠券退款
+//            if (newOrder.getCouponAmount() > 0) {
+//                cmCouponClubDao.deleteByReturnedId(cmReturnedPurchase.getId());
+//            }
+            //修改子订单信息
+            updateShopOrderAmount(newOrder.getOrderId());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    public void updateShopOrderAmount(Integer orderId) {
+        //修改子订单付供应商金额
+        List<NewShopOrder> shopOrders = shopOrderDao.findListByOrderId(orderId);
+        shopOrders.removeIf(s -> 998 == s.getShopId());
+        for (NewShopOrder shopOrder : shopOrders) {
+            List<NewOrderProduct> orderProducts = newOrderProductDao.findListByShopOrderId(shopOrder.getShopOrderId());
+            BigDecimal totalCostFee = BigDecimal.ZERO;
+            BigDecimal shopTaxFee = BigDecimal.ZERO;
+            for (NewOrderProduct orderProduct : orderProducts) {
+                Integer count = newOrderProductDao.CountReturnedPurchaseProduct(shopOrder.getShopOrderId(), orderProduct.getOrderProductId());
+                count = count == null ? 0 : count;
+                Integer number = orderProduct.getNum() + orderProduct.getPresentNum() - count;
+                totalCostFee = totalCostFee.add(MathUtil.mul(number, orderProduct.getCostPrice()));
+                shopTaxFee = shopTaxFee.add(MathUtil.mul(number, orderProduct.getSingleShouldPayTotalTax()));
+            }
+            // 商品费
+            shopOrder.setShopProductAmount(totalCostFee.doubleValue());
+            // 应付税费
+            shopOrder.setTotalAddedValueTax(shopTaxFee.doubleValue());
+            if (null == shopOrder.getShopPostFee()) {
+                shopOrder.setShopPostFee(0D);
+            }
+            // 付供应商
+            double shouldPayShopAmount = shopOrder.getShopProductAmount() + shopOrder.getShopPostFee() + shopOrder.getTotalAddedValueTax();
+            shopOrder.setShouldPayShopAmount(shouldPayShopAmount);
+            shopOrderDao.update(shopOrder);
+        }
+    }
 }

+ 141 - 0
src/main/java/com/caimei/modules/order/service/impl/CmUserBalanceRecordServiceImpl.java

@@ -0,0 +1,141 @@
+package com.caimei.modules.order.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import com.aliyun.oss.common.utils.StringUtils;
+import com.caimei.modules.order.dao.CmUserBalanceRecordMapper;
+import com.caimei.modules.order.entity.CmUserBalanceRecord;
+import com.caimei.modules.order.service.CmUserBalanceRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 用户余额收支记录Service业务层处理
+ *
+ * @author Kaick
+ * @date 2023-06-18
+ */
+@Service
+public class CmUserBalanceRecordServiceImpl implements CmUserBalanceRecordService {
+    @Autowired
+    private CmUserBalanceRecordMapper cmUserBalanceRecordMapper;
+
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param id 用户余额收支记录主键
+     * @return 用户余额收支记录
+     */
+    @Override
+    public CmUserBalanceRecord getCmUserBalanceRecordById(Integer id) {
+        return cmUserBalanceRecordMapper.getCmUserBalanceRecordById(id);
+    }
+
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录
+     */
+    @Override
+    public CmUserBalanceRecord getByCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord) {
+        return cmUserBalanceRecordMapper.getByCmUserBalanceRecord(cmUserBalanceRecord);
+    }
+
+    /**
+     * 查询用户余额收支记录列表
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录
+     */
+    @Override
+    public List<CmUserBalanceRecord> getCmUserBalanceRecordList(CmUserBalanceRecord cmUserBalanceRecord) {
+        return cmUserBalanceRecordMapper.getCmUserBalanceRecordList(cmUserBalanceRecord);
+    }
+
+    /**
+     * 新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    @Override
+    public int addCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord) {
+        return cmUserBalanceRecordMapper.addCmUserBalanceRecord(cmUserBalanceRecord);
+    }
+
+    /**
+     * 修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    @Override
+    public int updateCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord) {
+        return cmUserBalanceRecordMapper.updateCmUserBalanceRecord(cmUserBalanceRecord);
+    }
+
+    /**
+     * 批量删除用户余额收支记录
+     *
+     * @param ids 需要删除的用户余额收支记录主键
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public int delCmUserBalanceRecordByIds(Integer[] ids) {
+        return cmUserBalanceRecordMapper.updateDelCmUserBalanceRecordByIds(ids);
+        //return cmUserBalanceRecordMapper.delCmUserBalanceRecordByIds(ids);
+    }
+
+    /**
+     * 删除用户余额收支记录信息
+     *
+     * @param id 用户余额收支记录主键
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public int delCmUserBalanceRecordById(Integer id) {
+        return cmUserBalanceRecordMapper.updateCmUserBalanceRecord(new CmUserBalanceRecord().setId(id).setDelFlag("1"));
+        //return cmUserBalanceRecordMapper.delCmUserBalanceRecordById(id);
+    }
+
+    /**
+     * 批量新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecordList 用户余额收支记录列表
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public void batchAddCmUserBalanceRecord(List<CmUserBalanceRecord> cmUserBalanceRecordList) {
+        if (null != cmUserBalanceRecordList) {
+            for (CmUserBalanceRecord cmUserBalanceRecord : cmUserBalanceRecordList) {
+                if (null != cmUserBalanceRecord) {
+                    cmUserBalanceRecordMapper.addCmUserBalanceRecord(cmUserBalanceRecord);
+                }
+            }
+        }
+    }
+
+    /**
+     * 批量修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecordList 用户余额收支记录列表
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public void batchUpdateCmUserBalanceRecord(List<CmUserBalanceRecord> cmUserBalanceRecordList) {
+        if (null != cmUserBalanceRecordList) {
+            for (CmUserBalanceRecord cmUserBalanceRecord : cmUserBalanceRecordList) {
+                if (null != cmUserBalanceRecord) {
+                    cmUserBalanceRecordMapper.updateCmUserBalanceRecord(cmUserBalanceRecord);
+                }
+            }
+        }
+    }
+}

+ 1 - 0
src/main/resources/application.yml

@@ -10,3 +10,4 @@ spring:
 logging:
   level:
     com.caimei.modules.products.dao: debug
+    com.caimei.modules.order.dao: debug

+ 5 - 5
src/main/resources/config/dev/application-dev.yml

@@ -12,12 +12,12 @@ spring:
     #数据源连接--start
   datasource:
     driverClassName: com.mysql.jdbc.Driver
-    url: jdbc:mysql://192.168.2.100:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
-    username: developer
-    password: 05bZ/OxTB:X+yd%1
-#    url: jdbc:mysql://120.79.25.27:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
+#    url: jdbc:mysql://192.168.2.100:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
 #    username: developer
-#    password: J5p3tgOVazNl4ydf
+#    password: 05bZ/OxTB:X+yd%1
+    url: jdbc:mysql://120.79.25.27:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
+    username: developer
+    password: J5p3tgOVazNl4ydf
   data:
     #mongo数据源配置
     mongodb:

+ 36 - 0
src/main/resources/mapper/CmReturnedPurchaseMapper.xml

@@ -206,4 +206,40 @@
         from cm_returned_purchase
         where id = #{id}
     </select>
+
+    <update id="updateRevokeApply">
+        UPDATE cm_returned_purchase
+        <set>
+            status = #{status},
+            reviewImage1 = #{reviewImage1},
+            reviewImage1 = #{reviewImage2},
+            reviewImage1 = #{reviewImage3},
+            reviewImage1 = #{reviewImage4},
+            reviewImage1 = #{reviewImage5},
+            reviewRemarks = #{reviewRemarks},
+            applicationUserID = #{applicationUserId},
+            confirmReturnTime = #{confirmReturnTime},
+            reviewUserID = #{reviewUserId},
+        </set>
+        WHERE id = #{id}
+    </update>
+
+    <!--查询排除当前撤销的退货退款记录-->
+    <select id="findReturnedPurchaseRecord" resultType="com.caimei.modules.order.entity.CmReturnedPurchase">
+        SELECT
+        a.*
+        FROM cm_returned_purchase a
+        <where>
+            <if test="id != null and id != ''">
+                AND a.id != #{id}
+            </if>
+            <if test="orderId != null and orderId != ''">
+                AND a.orderID = #{orderId}
+            </if>
+            <if test="status != null and status != ''">
+                AND a.status = #{status}
+            </if>
+            and a.delFlag = 0
+        </where>
+    </select>
 </mapper>

+ 146 - 0
src/main/resources/mapper/CmUserBalanceRecordMapper.xml

@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.caimei.modules.order.dao.CmUserBalanceRecordMapper">
+
+    <resultMap type="com.caimei.modules.order.entity.CmUserBalanceRecord" id="CmUserBalanceRecordResult">
+        <result property="id"    column="id"    />
+        <result property="userId"    column="userId"    />
+        <result property="type"    column="type"    />
+        <result property="balanceType"    column="balanceType"    />
+        <result property="addDate"    column="addDate"    />
+        <result property="amount"    column="amount"    />
+        <result property="orderId"    column="orderId"    />
+        <result property="shopOrderId"    column="shopOrderId"    />
+        <result property="receiptId"    column="receiptId"    />
+        <result property="returnedId"    column="returnedId"    />
+        <result property="withdrawalsId"    column="withdrawalsId"    />
+        <result property="remark"    column="remark"    />
+        <result property="delFlag"    column="delFlag"    />
+    </resultMap>
+
+    <sql id="selectCmUserBalanceRecordVo">
+        select cm_user_balance_record.id,cm_user_balance_record.userId,cm_user_balance_record.type,cm_user_balance_record.balanceType,cm_user_balance_record.addDate,cm_user_balance_record.amount,cm_user_balance_record.orderId,cm_user_balance_record.shopOrderId,cm_user_balance_record.receiptId,cm_user_balance_record.returnedId,cm_user_balance_record.withdrawalsId,cm_user_balance_record.remark
+    </sql>
+
+    <select id="getByCmUserBalanceRecord" parameterType="com.caimei.modules.order.entity.CmUserBalanceRecord" resultMap="CmUserBalanceRecordResult">
+        <include refid="selectCmUserBalanceRecordVo"/>
+        from cm_user_balance_record AS cm_user_balance_record
+        <where>  cm_user_balance_record.delFlag = 0
+            <if test="id != null "> and cm_user_balance_record.id = #{id}</if>
+            <if test="userId != null "> and cm_user_balance_record.userId = #{userId}</if>
+            <if test="type != null  and type != ''"> and cm_user_balance_record.type = #{type}</if>
+            <if test="balanceType != null  and balanceType != ''"> and cm_user_balance_record.balanceType = #{balanceType}</if>
+            <if test="addDate != null "> and cm_user_balance_record.addDate = #{addDate}</if>
+            <if test="amount != null "> and cm_user_balance_record.amount = #{amount}</if>
+            <if test="orderId != null "> and cm_user_balance_record.orderId = #{orderId}</if>
+            <if test="shopOrderId != null "> and cm_user_balance_record.shopOrderId = #{shopOrderId}</if>
+            <if test="receiptId != null "> and cm_user_balance_record.receiptId = #{receiptId}</if>
+            <if test="returnedId != null "> and cm_user_balance_record.returnedId = #{returnedId}</if>
+            <if test="withdrawalsId != null "> and cm_user_balance_record.withdrawalsId = #{withdrawalsId}</if>
+            <if test="delFlag != null  and delFlag != ''"> and cm_user_balance_record.delFlag = #{delFlag}</if>
+        </where>
+      limit 0,1
+    </select>
+
+    <select id="getCmUserBalanceRecordList" parameterType="com.caimei.modules.order.entity.CmUserBalanceRecord" resultMap="CmUserBalanceRecordResult">
+        <include refid="selectCmUserBalanceRecordVo"/>
+        from cm_user_balance_record AS cm_user_balance_record
+        <where>  cm_user_balance_record.delFlag = 0
+            <if test="id != null "> and cm_user_balance_record.id = #{id}</if>
+            <if test="userId != null "> and cm_user_balance_record.userId = #{userId}</if>
+            <if test="type != null  and type != ''">
+                and cm_user_balance_record.type  = #{type}
+            </if>
+            <if test="balanceType != null  and balanceType != ''"> and cm_user_balance_record.balanceType = #{balanceType}</if>
+            <if test="addDate != null "> and cm_user_balance_record.addDate = #{addDate}</if>
+            <if test="amount != null "> and cm_user_balance_record.amount = #{amount}</if>
+            <if test="orderId != null "> and cm_user_balance_record.orderId = #{orderId}</if>
+            <if test="shopOrderId != null "> and cm_user_balance_record.shopOrderId = #{shopOrderId}</if>
+            <if test="receiptId != null "> and cm_user_balance_record.receiptId = #{receiptId}</if>
+            <if test="returnedId != null "> and cm_user_balance_record.returnedId = #{returnedId}</if>
+            <if test="withdrawalsId != null "> and cm_user_balance_record.withdrawalsId = #{withdrawalsId}</if>
+            <if test="delFlag != null  and delFlag != ''"> and cm_user_balance_record.delFlag = #{delFlag}</if>
+        </where>
+    </select>
+
+    <select id="getCmUserBalanceRecordById" parameterType="Integer" resultMap="CmUserBalanceRecordResult">
+        <include refid="selectCmUserBalanceRecordVo"/>
+        from cm_user_balance_record AS cm_user_balance_record
+        where  cm_user_balance_record.delFlag = 0 and cm_user_balance_record.id = #{id}
+    </select>
+
+    <insert id="addCmUserBalanceRecord" parameterType="com.caimei.modules.order.entity.CmUserBalanceRecord" useGeneratedKeys="true" keyProperty="id">
+        insert into cm_user_balance_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null ">id,</if>
+            <if test="userId != null">userId,</if>
+            <if test="type != null and type != ''">type,</if>
+            <if test="balanceType != null and balanceType != ''">balanceType,</if>
+            <if test="addDate != null">addDate,</if>
+            <if test="amount != null">amount,</if>
+            <if test="orderId != null">orderId,</if>
+            <if test="shopOrderId != null">shopOrderId,</if>
+            <if test="receiptId != null">receiptId,</if>
+            <if test="returnedId != null">returnedId,</if>
+            <if test="withdrawalsId != null">withdrawalsId,</if>
+            <if test="remark != null and remark != ''">remark,</if>
+            <if test="delFlag != null and delFlag != ''">delFlag,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null ">#{id},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="type != null and type != ''">#{type},</if>
+            <if test="balanceType != null and balanceType != ''">#{balanceType},</if>
+            <if test="addDate != null">#{addDate},</if>
+            <if test="amount != null">#{amount},</if>
+            <if test="orderId != null">#{orderId},</if>
+            <if test="shopOrderId != null">#{shopOrderId},</if>
+            <if test="receiptId != null">#{receiptId},</if>
+            <if test="returnedId != null">#{returnedId},</if>
+            <if test="withdrawalsId != null">#{withdrawalsId},</if>
+            <if test="remark != null and remark != ''">#{remark},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+        </trim>
+    </insert>
+
+    <update id="updateCmUserBalanceRecord" parameterType="com.caimei.modules.order.entity.CmUserBalanceRecord">
+        update cm_user_balance_record
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="userId != null">userId = #{userId},</if>
+            <if test="type != null and type != ''">type = #{type},</if>
+            <if test="balanceType != null and balanceType != ''">balanceType = #{balanceType},</if>
+            <if test="addDate != null">addDate = #{addDate},</if>
+            <if test="amount != null">amount = #{amount},</if>
+            <if test="orderId != null">orderId = #{orderId},</if>
+            <if test="shopOrderId != null">shopOrderId = #{shopOrderId},</if>
+            <if test="receiptId != null">receiptId = #{receiptId},</if>
+            <if test="returnedId != null">returnedId = #{returnedId},</if>
+            <if test="withdrawalsId != null">withdrawalsId = #{withdrawalsId},</if>
+            <if test="remark != null and remark != ''">remark = #{remark},</if>
+            <if test="delFlag != null and delFlag != ''">delFlag = #{delFlag},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="updateDelCmUserBalanceRecordByIds" parameterType="String">
+        update cm_user_balance_record set delFlag=1 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+    <delete id="delCmUserBalanceRecordById" parameterType="Integer">
+        delete
+        from cm_user_balance_record where id = #{id}
+    </delete>
+
+    <delete id="delCmUserBalanceRecordByIds" parameterType="String">
+        delete from cm_user_balance_record where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+</mapper>

+ 51 - 1
src/main/resources/mapper/CmUserMapper.xml

@@ -69,6 +69,53 @@
         where c.userId = #{userId}
     </select>
 
+
+    <select id="get" resultType="com.caimei.modules.club.entity.CmUser">
+            SELECT
+            a.userID AS "userID",
+            a.mobile AS "mobile",
+            a.userOrganizeID AS "userOrganizeID",
+            a.bindMobile AS "bindMobile",
+            a.email AS "email",
+            a.account AS "account",
+            a.realName AS "realName",
+            a.userIdentity AS "userIdentity",
+            a.userName AS "userName",
+            a.source AS "source",
+            a.image AS "image",
+            a.password AS "password",
+            a.name AS "name",
+            a.registerUserTypeID AS "registerUserTypeID",
+            a.manufacturerStatus AS "manufacturerStatus",
+            a.shopID AS "shopID",
+            a.auditStatus AS "auditStatus",
+            a.auditTime AS "auditTime",
+            a.auditNote AS "auditNote",
+            a.registerTime AS "registerTime",
+            a.registerIP AS "registerIP",
+            a.loginTime AS "loginTime",
+            a.loginFailTime AS "loginFailTime",
+            a.loginIP AS "loginIP",
+            a.validFlag AS "validFlag",
+            a.clubStatus AS "clubStatus",
+            a.clubID AS "clubID",
+            a.agreeFlag AS "agreeFlag",
+            a.serviceProviderStatus AS "serviceProviderStatus",
+            a.serviceProviderID AS "serviceProviderID",
+            a.userMoney AS "userMoney",
+            a.ableUserMoney as "ableUserMoney",
+            a.logoffTime AS "logoffTime",
+            a.appKey AS "appKey",
+            a.appSecret AS "appSecret",
+            a.scanFlag AS "scanFlag",
+            a.userBeans AS "userBeans",
+            a.guideFlag AS "guideFlag",
+            a.userPermission AS "userPermission"
+        FROM user a
+        WHERE a.userID = #{id}
+    </select>
+
+
     <insert id="insert" parameterType="com.caimei.modules.club.entity.CmUser" keyProperty="userId"
             useGeneratedKeys="true">
         INSERT INTO user(
@@ -235,10 +282,13 @@
             <if test="userMoney != null and userMoney != ''">
                 userMoney = #{userMoney},
             </if>
+            <if test="ableUserMoney != null and ableUserMoney != ''">
+                ableUserMoney = #{ableUserMoney} ,
+            </if>
             <if test="userBeans != null and userBeans != ''">
                 userBeans = #{userBeans},
             </if>
         </set>
         WHERE userId = #{userId}
     </update>
-</mapper>
+</mapper>

+ 53 - 53
src/main/resources/mapper/NewOrderMapper.xml

@@ -61,18 +61,18 @@
             <if test="orderNo != null">
                 orderNo = #{orderNo,jdbcType=VARCHAR},
             </if>
-            <if test="userID != null">
-                userID = #{userID,jdbcType=BIGINT},
+            <if test="userId != null">
+                userId = #{userId,jdbcType=BIGINT},
             </if>
-            <if test="organizeID != null">
-                organizeID = #{organizeID,jdbcType=INTEGER},
+            <if test="organizeId != null">
+                organizeId = #{organizeId,jdbcType=INTEGER},
             </if>
-            <if test="buyUserID != null">
-                buyUserID = #{buyUserID,jdbcType=INTEGER},
-            </if>
-            <if test="shopOrderIDs != null">
-                shopOrderIDs = #{shopOrderIDs,jdbcType=VARCHAR},
+            <if test="buyUserId != null">
+                buyUserId = #{buyUserId,jdbcType=INTEGER},
             </if>
+<!--            <if test="shopOrderIds != null">-->
+<!--                shopOrderIds = #{shopOrderIds,jdbcType=VARCHAR},-->
+<!--            </if>-->
             <if test="orderSubmitType != null">
                 orderSubmitType = #{orderSubmitType,jdbcType=CHAR},
             </if>
@@ -103,14 +103,14 @@
             <if test="discountFee != null">
                 discountFee = #{discountFee,jdbcType=DECIMAL},
             </if>
-            <if test="spID != null">
-                spID = #{spID,jdbcType=BIGINT},
+            <if test="spId != null">
+                spId = #{spId,jdbcType=BIGINT},
             </if>
-            <if test="mainSpID != null">
-                mainSpID = #{mainSpID,jdbcType=BIGINT},
+            <if test="mainSpId != null">
+                mainSpId = #{mainSpId,jdbcType=BIGINT},
             </if>
-            <if test="clubID != null">
-                clubID = #{clubID,jdbcType=BIGINT},
+            <if test="clubId != null">
+                clubId = #{clubId,jdbcType=BIGINT},
             </if>
             <if test="clubScanTime != null">
                 clubScanTime = #{clubScanTime,jdbcType=VARCHAR},
@@ -130,8 +130,8 @@
             <if test="confirmFlag != null">
                 confirmFlag = #{confirmFlag,jdbcType=CHAR},
             </if>
-            <if test="clauseID != null">
-                clauseID = #{clauseID,jdbcType=BIGINT},
+            <if test="clauseId != null">
+                clauseId = #{clauseId,jdbcType=BIGINT},
             </if>
             <if test="clauseName != null">
                 clauseName = #{clauseName,jdbcType=VARCHAR},
@@ -218,20 +218,20 @@
                 svipFullReduction = #{svipFullReduction}
             </if>
         </set>
-        where orderID = #{orderId}
+        where orderId = #{orderId}
     </update>
 
     <update id="updatePayStatus">
         update cm_order
         set payStatus = #{status}
-        where orderID = #{orderId}
+        where orderId = #{orderId}
     </update>
 
     <update id="updateShopOrderByPayStatus">
         UPDATE cm_shop_order
         SET payStatus       = #{payStatus},
             payedShopAmount = #{paidShop}
-        WHERE shopOrderID = #{shopOrderId}
+        WHERE shopOrderId = #{shopOrderId}
     </update>
 
     <update id="updateBySplitStatus">
@@ -299,7 +299,7 @@
         AND orderId = co.orderId)AS returnedPurchaseStatus
         FROM cm_order co
         LEFT JOIN bp_order_userinfo bou ON bou.orderId = co.orderId
-        left join cm_order_product cop on co.orderID = cop.orderID
+        left join cm_order_product cop on co.orderId = cop.orderId
         left join club c on co.userId = c.userId
         <where>
              co.organizeId = #{organizeId}
@@ -445,11 +445,11 @@
                cror.shopOrderId,
                cdr.payType
         FROM cm_receipt_order_relation cror
-                 LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
-                 LEFT JOIN cm_order co ON cror.orderID = co.orderID
-                 left join cm_shop_order cso on cso.orderId = cror.orderID
-                 LEFT JOIN cm_order_product cop ON co.shopOrderIDs = cop.shopOrderID
-                 LEFT JOIN product p ON cop.productID = p.productID
+                 LEFT JOIN cm_discern_receipt cdr ON cror.receiptId = cdr.id
+                 LEFT JOIN cm_order co ON cror.orderId = co.orderId
+                 left join cm_shop_order cso on cso.orderId = cror.orderId
+                 LEFT JOIN cm_order_product cop ON co.shopOrderIds = cop.shopOrderId
+                 LEFT JOIN product p ON cop.productId = p.productId
         WHERE cror.relationType = 2
           and cror.shopOrderId = #{shopOrderId}
           AND cso.receiptStatus = 3
@@ -464,15 +464,15 @@
     </select>
 
     <select id="getShopOrderListByOrderId" resultType="com.caimei.modules.order.entity.NewShopOrder">
-        SELECT shopOrderID AS shopOrderId,
+        SELECT shopOrderId AS shopOrderId,
                shopOrderNo,
-               orderID     AS orderId,
+               orderId     AS orderId,
                orderNo,
-               shopID      AS shopId,
+               shopId      AS shopId,
                note,
-               userID      AS userId,
-               clubID      AS clubId,
-               spID        AS spId,
+               userId      AS userId,
+               clubId      AS clubId,
+               spId        AS spId,
                brokerage,
                itemCount,
                totalAmount,
@@ -486,7 +486,7 @@
                splitCode
         FROM cm_shop_order
         WHERE delFlag = 0
-          AND shopOrderID = #{shopOrderId}
+          AND shopOrderId = #{shopOrderId}
     </select>
 
     <select id="getSplitAccountList" resultType="com.caimei.modules.order.entity.SplitAccountPo">
@@ -511,15 +511,15 @@
     </select>
 
     <select id="getShopOrderByOrderId" resultType="com.caimei.modules.order.entity.NewShopOrder">
-        SELECT shopOrderID AS shopOrderId,
+        SELECT shopOrderId AS shopOrderId,
                shopOrderNo,
-               orderID     AS orderId,
+               orderId     AS orderId,
                orderNo,
-               shopID      AS shopId,
+               shopId      AS shopId,
                note,
-               userID      AS userId,
-               clubID      AS clubId,
-               spID        AS spId,
+               userId      AS userId,
+               clubId      AS clubId,
+               spId        AS spId,
                orderPromotionsId,
                promotionFullReduction,
                brokerage,
@@ -540,7 +540,7 @@
                splitCode
         FROM cm_shop_order
         WHERE delFlag = 0
-          AND orderID = #{orderId}
+          AND orderId = #{orderId}
     </select>
 
     <select id="getPaidShopAmount" resultType="java.lang.Double">
@@ -548,14 +548,14 @@
         FROM cm_pay_shop_record
         WHERE STATUS = 1
           AND delFlag = 0
-          AND shopOrderID = #{shopOrderId}
+          AND shopOrderId = #{shopOrderId}
     </select>
 
     <select id="getOrderProductByShopOrderId" resultType="com.caimei.modules.order.entity.NewOrderProduct">
-        SELECT cop.orderProductID                                                 AS orderProductId,
-               cop.orderID                                                        AS orderId,
+        SELECT cop.orderProductId                                                 AS orderProductId,
+               cop.orderId                                                        AS orderId,
                cop.orderNo,
-               cop.shopOrderID                                                    AS shopOrderId,
+               cop.shopOrderId                                                    AS shopOrderId,
                cop.shopOrderNo,
                cop.productId,
                cop.shopId,
@@ -583,9 +583,9 @@
                cop.organizePercent,
                cop.shopPercent
         FROM cm_order_product cop
-                 LEFT JOIN product p ON cop.productID = p.productID
-                 left join cm_order co on co.orderID = cop.orderID
-        WHERE cop.shopOrderID = #{shopOrderId}
+                 LEFT JOIN product p ON cop.productId = p.productId
+                 left join cm_order co on co.orderId = cop.orderId
+        WHERE cop.shopOrderId = #{shopOrderId}
           AND IF(co.userBeans = 0, 1 = 1, cop.shopId != 998)
         ORDER BY cop.discountPrice DESC
     </select>
@@ -629,8 +629,8 @@
         co.postageOrderFlag AS postageOrderFlag,
         c.name AS clubName
         FROM cm_order co
-        LEFT JOIN cm_shop_order cso ON co.orderID = cso.orderID
-        LEFT JOIN club c ON c.userID = co.userID
+        LEFT JOIN cm_shop_order cso ON co.orderId = cso.orderId
+        LEFT JOIN club c ON c.userId = co.userId
         <where>
             co.organizeId = #{organizeId}
             <if test="clubName != null and clubName != ''">
@@ -643,7 +643,7 @@
                 AND co.orderNo = #{orderNo}
             </if>
             <if test="shopOrderId != null">
-                AND cso.shopOrderID = #{shopOrderId}
+                AND cso.shopOrderId = #{shopOrderId}
             </if>
             <if test="shopOrderNo != null and shopOrderNo != ''">
                 AND cso.shopOrderNo like concat('%', #{shopOrderNo} ,'%')
@@ -686,7 +686,7 @@
     <select id="findOnlinePay" resultType="java.lang.Integer">
         SELECT COUNT(receiptId)
         FROM cm_receipt_order_relation cror
-        LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
+        LEFT JOIN cm_discern_receipt cdr ON cror.receiptId = cdr.id
         WHERE cror.orderid = #{orderId}
           AND cdr.payway = 1
           AND cdr.delFlag = 0
@@ -704,7 +704,7 @@
     <select id="findVoucher" resultType="com.caimei.modules.order.entity.Voucher">
         select id,shopOrderId,remarks,addTime
         from cm_order_payment_voucher
-        where shopOrderId = #{shopOrderID}
+        where shopOrderId = #{shopOrderId}
     </select>
 
     <select id="findVocherImage" resultType="java.lang.String">
@@ -724,7 +724,7 @@
     <select id="findWaitPay" resultType="java.lang.Double">
         SELECT ifnull((SELECT payTotalFee FROM cm_order WHERE orderId = #{orderId}) - ifnull(SUM(receiptAmount),0),0)
         FROM cm_discern_receipt cdr
-        LEFT JOIN cm_receipt_order_relation cror ON cdr.id = cror.receiptID
+        LEFT JOIN cm_receipt_order_relation cror ON cdr.id = cror.receiptId
         WHERE cror.orderId = #{orderId}
     </select>
 

+ 12 - 1
src/main/resources/mapper/NewOrderProductMapper.xml

@@ -47,6 +47,7 @@
 		  a.`payStatus` AS `payStatus`,
 		  a.`name` AS `name`,
 		  cs.`unit` AS `unit`,
+		  cs.`organizeId` AS `organizeId`,
 		  a.`actType` AS `actType`,
 		  a.`actPreferential` AS `actPreferential`,
 		  a.`preferential` AS `preferential`,
@@ -66,7 +67,7 @@
 
     <sql id="orderProductJoins">
 		LEFT JOIN product p ON p.productId = a.productId
-		left join cm_sku cs on a.skuId = cs.skuId
+		left join cm_sku cs on a.skuId = cs.skuId and cs.organizeId= 4
     </sql>
 
     <select id="get" resultType="com.caimei.modules.order.entity.NewOrderProduct">
@@ -85,6 +86,16 @@
 		WHERE a.shopOrderId = #{shopOrderId}
 	</select>
 
+	<select id="CountReturnedPurchaseProduct" resultType="java.lang.Integer">
+		select SUM(crpp.actualReturnedNum) + SUM(crpp.actualCancelNum)
+		from cm_returned_purchase_product crpp
+				 left join cm_returned_purchase rp on rp.id = crpp.returnedID
+		where crpp.shopOrderID = #{shopOrderID}
+		  and crpp.orderProductID = #{orderProductID}
+		  and rp.status = '2'
+		  and rp.delFlag = '0'
+	</select>
+
 	<select id="getReturningNum" resultType="Integer">
 		SELECT
 		  IFNULL(sum(a.actualReturnedNum+a.actualCancelNum),0)

+ 2 - 2
src/main/resources/mapper/PayShopDao.xml

@@ -416,7 +416,7 @@
                          AND rp.delFlag = '0'),
                       0)                                   AS returnedNum
         from cm_order_product cop
-                 left join cm_sku cs on cop.skuId = cs.skuId
+                 left join cm_sku cs on cop.skuId = cs.skuId and cs.organizeId= 4
                  left join product p on p.productID = cop.productID
                  left join cm_order co on co.orderID = cop.orderID
                  left join user u on u.userID = co.userID
@@ -715,4 +715,4 @@
         WHERE shopOrderId=#{shopOrderId}
         AND DATE_ADD(splitTime,INTERVAL 1 DAY) <![CDATA[  <  ]]> now()
     </select>
-</mapper>
+</mapper>