From 799622ea4d37aa6bb9fee457967532aa93d18594 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Sun, 21 Mar 2021 20:17:05 +0800 Subject: [PATCH] 扣除用户积分 --- zq-erp/src/main/java/com/matrix/system/score/dao/ScoreVipDetailDao.java | 20 + zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopOrder.java | 12 + zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java | 9 + zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java | 142 +++++++------- zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java | 2 zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java | 45 +++- zq-erp/src/main/java/com/matrix/system/score/entity/ScoreVipDetail.java | 21 ++ zq-erp/src/main/java/com/matrix/system/score/service/ScoreVipDetailService.java | 73 +++++++ zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopScoreAction.java | 85 --------- zq-erp/src/test/java/com/matrix/JyyTests.java | 9 zq-erp/src/main/java/com/matrix/biz/bean/BizUser.java | 10 - zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderDao.xml | 12 + zq-erp/src/main/resources/mybatis/mapper/score/ScoreVipDetailDao.xml | 54 ++---- 13 files changed, 263 insertions(+), 231 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/biz/bean/BizUser.java b/zq-erp/src/main/java/com/matrix/biz/bean/BizUser.java index 0fa5868..8107216 100644 --- a/zq-erp/src/main/java/com/matrix/biz/bean/BizUser.java +++ b/zq-erp/src/main/java/com/matrix/biz/bean/BizUser.java @@ -172,10 +172,6 @@ private Integer userType; - /** - * 用户总积分 - */ - private Integer totalScore; /** @@ -475,13 +471,7 @@ this.endTime = endTime; } - public Integer getTotalScore() { - return totalScore; - } - public void setTotalScore(Integer totalScore) { - this.totalScore = totalScore; - } public Integer getCurrentScore() { return currentScore; diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java index 308720b..63c91e7 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java @@ -230,77 +230,6 @@ private SysOrder sysOrder; - public String getProvince() { - return province; - } - - public void setProvince(String province) { - this.province = province; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getArea() { - return area; - } - - public void setArea(String area) { - this.area = area; - } - - public Long getRecommendId() { - return recommendId; - } - - public void setRecommendId(Long recommendId) { - this.recommendId = recommendId; - } - - public SysOrder getSysOrder() { - return sysOrder; - } - - public void setSysOrder(SysOrder sysOrder) { - this.sysOrder = sysOrder; - } - - public Integer getIsDeal() { - return isDeal; - } - - public void setIsDeal(Integer isDeal) { - this.isDeal = isDeal; - } - - public Long getParentId() { - return parentId; - } - - public void setParentId(Long parentId) { - this.parentId = parentId; - } - - public Date getCreateDistributionTime() { - return createDistributionTime; - } - - public void setCreateDistributionTime(Date createDistributionTime) { - this.createDistributionTime = createDistributionTime; - } - - public Date getHandleTime() { - return handleTime; - } - - public void setHandleTime(Date handleTime) { - this.handleTime = handleTime; - } /** 扩展信息 **/ @@ -452,6 +381,77 @@ this.openId = openId; } + public String getProvince() { + return province; + } + + public void setProvince(String province) { + this.province = province; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public Long getRecommendId() { + return recommendId; + } + + public void setRecommendId(Long recommendId) { + this.recommendId = recommendId; + } + + public SysOrder getSysOrder() { + return sysOrder; + } + + public void setSysOrder(SysOrder sysOrder) { + this.sysOrder = sysOrder; + } + + public Integer getIsDeal() { + return isDeal; + } + + public void setIsDeal(Integer isDeal) { + this.isDeal = isDeal; + } + + public Long getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public Date getCreateDistributionTime() { + return createDistributionTime; + } + + public void setCreateDistributionTime(Date createDistributionTime) { + this.createDistributionTime = createDistributionTime; + } + + public Date getHandleTime() { + return handleTime; + } + + public void setHandleTime(Date handleTime) { + this.handleTime = handleTime; + } public String getPayTotal() { return payTotal; } diff --git a/zq-erp/src/main/java/com/matrix/system/score/dao/ScoreVipDetailDao.java b/zq-erp/src/main/java/com/matrix/system/score/dao/ScoreVipDetailDao.java index dc820d5..6558a8d 100644 --- a/zq-erp/src/main/java/com/matrix/system/score/dao/ScoreVipDetailDao.java +++ b/zq-erp/src/main/java/com/matrix/system/score/dao/ScoreVipDetailDao.java @@ -1,11 +1,9 @@ package com.matrix.system.score.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Param; -import java.util.List; -import java.util.Map; -import com.matrix.core.pojo.PaginationVO; import com.matrix.system.score.entity.ScoreVipDetail; + +import java.util.List; /** * @description 客户积分余额 @@ -14,4 +12,18 @@ */ public interface ScoreVipDetailDao extends BaseMapper<ScoreVipDetail> { + /** + * 查询用户总积分 + * @param openId + * @param vipId + * @return + */ + int selectUserTotalScore(String openId, Long vipId); + + /** + * 查询用户有效的积分,按时间顺序排 + * @param userId + * @return + */ + List<ScoreVipDetail> selectEffectiveScore(String openId); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/score/entity/ScoreVipDetail.java b/zq-erp/src/main/java/com/matrix/system/score/entity/ScoreVipDetail.java index 2526ee5..94d522b 100644 --- a/zq-erp/src/main/java/com/matrix/system/score/entity/ScoreVipDetail.java +++ b/zq-erp/src/main/java/com/matrix/system/score/entity/ScoreVipDetail.java @@ -16,10 +16,27 @@ @TableName("score_vip_detail") public class ScoreVipDetail extends BaseEntity{ @Extend - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - + /** + * 获取类型(1:现金消费) + */ + public static final int SCORE_VIP_TYPE_CASH=1; + /** + * 获取类型(2:赠送等) + */ + public static final int SCORE_VIP_TYPE_CONSUME=2; + + /** + * 用户openId + */ + private String openId; + + /** + * erp用户Id + */ + private String vipId; /** diff --git a/zq-erp/src/main/java/com/matrix/system/score/service/ScoreVipDetailService.java b/zq-erp/src/main/java/com/matrix/system/score/service/ScoreVipDetailService.java index 807819d..1432df4 100644 --- a/zq-erp/src/main/java/com/matrix/system/score/service/ScoreVipDetailService.java +++ b/zq-erp/src/main/java/com/matrix/system/score/service/ScoreVipDetailService.java @@ -1,20 +1,81 @@ package com.matrix.system.score.service; -import com.matrix.system.score.dao.ScoreVipDetailDao; -import com.matrix.system.score.entity.ScoreVipDetail; +import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.matrix.biz.bean.BizUser; +import com.matrix.biz.dao.BizUserDao; +import com.matrix.core.constance.MatrixConstance; +import com.matrix.system.score.dao.ScoreUseRecordDao; +import com.matrix.system.score.dao.ScoreVipDetailDao; +import com.matrix.system.score.entity.ScoreUseRecord; +import com.matrix.system.score.entity.ScoreVipDetail; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** - * @description 客户积分余额 * @author jyy + * @description 客户积分余额 * @date 2021-02-26 15:26 */ @Service -public class ScoreVipDetailService extends ServiceImpl<ScoreVipDetailDao, ScoreVipDetail>{ +public class ScoreVipDetailService extends ServiceImpl<ScoreVipDetailDao, ScoreVipDetail> { + + @Autowired + ScoreVipDetailDao scoreVipDetailDao; + + @Autowired + ScoreUseRecordDao scoreUseRecordDao; + + @Autowired + BizUserDao bizUserDao; + + /** + * 扣除用户积分 + * + * @param openId + * @param score + * @param businessId + * @param type + */ + public void deductionScore(String openId, Integer score, Long businessId, int type) { + BizUser user = bizUserDao.findByOpenId(openId); + List<ScoreVipDetail> effectiveScoreList = scoreVipDetailDao.selectEffectiveScore(openId); + + for (ScoreVipDetail scoreVipDetail : effectiveScoreList) { + + ScoreUseRecord scoreUseRecord = new ScoreUseRecord(); + scoreUseRecord.setPreScore(scoreVipDetail.getRemainScore()); + int surplus = scoreVipDetail.getRemainScore() - score; + int currentDedution = 0; + if (surplus > 0 || surplus == 0) { + //余额充足 + currentDedution = score; + scoreVipDetail.setRemainScore(surplus); + scoreVipDetailDao.updateById(scoreVipDetail); + break; + } else { + currentDedution = scoreVipDetail.getRemainScore(); + scoreVipDetail.setRemainScore(0); + scoreVipDetailDao.updateById(scoreVipDetail); + score=Math.abs(surplus); + } + //新增扣除记录 + scoreUseRecord.setCreateBy(MatrixConstance.SYSTEM_USER); + scoreUseRecord.setUpdateBy(MatrixConstance.SYSTEM_USER); + scoreUseRecord.setCreateTime(DateTime.now()); + scoreUseRecord.setUpdateTime(DateTime.now()); + scoreUseRecord.setNowScore(scoreVipDetail.getRemainScore()); + scoreUseRecord.setCompanyId(user.getCompanyId()); + scoreUseRecord.setScoreVipDetailId(scoreVipDetail.getId()); + scoreUseRecord.setBusinessId(businessId); + scoreUseRecord.setRecNum(currentDedution); + scoreUseRecord.setRecType(type); + scoreUseRecordDao.insert(scoreUseRecord); + } - - + } } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java index 508d4e7..c36b7e6 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java @@ -12,6 +12,8 @@ import com.matrix.system.common.dao.BusParameterSettingsDao; import com.matrix.system.hive.bean.SysVipInfo; import com.matrix.system.hive.dao.SysVipInfoDao; +import com.matrix.system.score.entity.ScoreVipDetail; +import com.matrix.system.score.service.ScoreVipDetailService; import com.matrix.system.shopXcx.bean.ShopActivitiesGroupJoin; import com.matrix.system.shopXcx.bean.ShopActivitiesGroupJoinUser; import com.matrix.system.shopXcx.bean.ShopOrder; @@ -78,6 +80,9 @@ @Autowired BusParameterSettingsDao busParameterSettingsDao; + + @Autowired + ScoreVipDetailService scoreVipDetailService; @@ -195,6 +200,10 @@ // 根据订单类型创建不同的处理任务 rabiitMqTemplate.sendTopicMsg(RabbitMqConfig.MQ_EXCHANGE_TOPIC +evn, MQTaskRouting.CREATE_ORDER+evn, orderId); + //扣除积分 + if(order.getScorePay()!=null){ + scoreVipDetailService.deductionScore(order.getUserId(),order.getScorePay(),Long.parseLong(order.getId()+""), ScoreVipDetail.SCORE_VIP_TYPE_CASH); + } threadResult.putInMap("status", "success"); resXml = AppConstance.RESULT_XML_SUCCESS; diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopScoreAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopScoreAction.java index 5fc88e7..a18df97 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopScoreAction.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopScoreAction.java @@ -1,23 +1,8 @@ package com.matrix.system.shopXcx.api.action; -import com.matrix.biz.bean.BizUser; -import com.matrix.biz.service.BizUserService; -import com.matrix.component.redis.RedisUserLoginUtils; -import com.matrix.core.pojo.AjaxResult; -import com.matrix.core.pojo.PaginationVO; -import com.matrix.component.redis.RedisUserLoginUtils; -import com.matrix.system.shopXcx.bean.ShopScoreExchange; -import com.matrix.system.shopXcx.bean.ShopScoreRecord; -import com.matrix.system.shopXcx.dao.ShopScoreExchangeDao; -import com.matrix.system.shopXcx.dao.ShopScoreRecordDao; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; - -import java.util.List; /** * @description 用户积分控制器 @@ -29,76 +14,6 @@ @CrossOrigin(origins = "*", maxAge = 3600) public class WxShopScoreAction { - @Autowired - private ShopScoreRecordDao shopScoreRecordDao; - @Autowired - private ShopScoreExchangeDao shopScoreExchangeDao; - @Autowired - private RedisUserLoginUtils redisUserLoginUtils; - @Autowired - private BizUserService bizUserService; - - /** - * 查询我的获得积分列表 - * @return - */ - @RequestMapping(value = "/getRecordList") - @ResponseBody - public AjaxResult getRecordList(@RequestBody PaginationVO pageVo) { - - pageVo.setSort("create_time"); - pageVo.setOrder("desc"); - BizUser loginBizUser = redisUserLoginUtils.getLoginUser(BizUser.class); - ShopScoreRecord params = new ShopScoreRecord(); - params.setBeneficiaryId(loginBizUser.getOpenId()); - List<ShopScoreRecord> dataList = shopScoreRecordDao.selectInPage(params, pageVo); - int total = shopScoreRecordDao.selectTotalRecord(params); - AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, total); - //查询用户总积分 - BizUser user = bizUserService.findById(loginBizUser.getUserId()); - Integer totalScore = 0; - if (user != null && user.getTotalScore() != null) { - totalScore = user.getTotalScore(); - } - result.putInMap("totalScore", totalScore); - //查询下级总人数 - BizUser peopleSumParams = new BizUser(); - peopleSumParams.setParentOpenId(loginBizUser.getOpenId()); - int peopleSum = bizUserService.findTotal(peopleSumParams); - result.putInMap("peopleSum", peopleSum); - return result; - } - - - /** - * 查询我的积分兑换列表 - * @return - */ - @RequestMapping(value = "/getChangeRecordList") - @ResponseBody - public AjaxResult getChangeRecordList(@RequestBody PaginationVO pageVo) { - - //不分页 - pageVo.setOffset(null); - pageVo.setLimit(null); - //按生成时间倒序排列 - pageVo.setSort("create_time"); - pageVo.setOrder("desc"); - BizUser loginBizUser = redisUserLoginUtils.getLoginUser(BizUser.class); - ShopScoreExchange params = new ShopScoreExchange(); - params.setUserId(loginBizUser.getOpenId()); - List<ShopScoreExchange> dataList = shopScoreExchangeDao.selectInPage(params, pageVo); - int total = shopScoreExchangeDao.selectTotalRecord(params); - AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, total); - //查询用户当前积分 - BizUser user = bizUserService.findById(loginBizUser.getUserId()); - Integer currentScore = 0; - if (user != null && user.getCurrentScore() != null) { - currentScore = user.getCurrentScore(); - } - result.putInMap("currentScore", currentScore); - return result; - } } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java index 3125fe1..e34da97 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java @@ -175,6 +175,8 @@ return new AjaxResult(AjaxResult.STATUS_SUCCESS, Collections.singletonList(bizUser)); } + + void checkNeedToBeSalesman(BizUser bizUser, BizUser loginUser) { //查询是否需要自动成为分销员 if ((loginUser.getIsSales() == null || loginUser.getIsSales() == 2) diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java index d4a5664..70bb8d6 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java @@ -18,6 +18,7 @@ import com.matrix.system.common.dao.CustomerDataDictionaryDao; import com.matrix.system.common.interceptor.HostInterceptor; import com.matrix.system.hive.dao.ShoppingGoodsDao; +import com.matrix.system.score.dao.ScoreVipDetailDao; import com.matrix.system.shopXcx.api.action.PayThreadPool; import com.matrix.system.shopXcx.api.pojo.OrderCouponGroup; import com.matrix.system.shopXcx.api.pojo.OrderInfoQueryPOJO; @@ -100,6 +101,9 @@ @Autowired private BusParameterSettingsDao busParameterSettingsDao; + @Autowired + private ScoreVipDetailDao scoreVipDetailDao; + @Override public BigDecimal calculationPostage(BigDecimal payPrice, Long companyId) { BigDecimal postage = BigDecimal.ZERO; @@ -133,19 +137,17 @@ return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择正确的收获地址"); } - AjaxResult caculateResult= buildDiscountExplain(shopOrderDto); - - //计算订单优惠信息 + AjaxResult caculateResult= buildDiscountExplain(shopOrderDto); DiscountExplain discountExplain= (DiscountExplain) caculateResult.getMapInfo().get("discountExplain"); - - - //取出购物车中选中的产品 - List<ShopShoppingCart> buyCart = new ArrayList<>(); - //取出购物车中没有参加店铺活动的产品,和参加了店铺活动但是活动没有达到标准的产品,用来计算是否可以使用优惠券 - List<ShopShoppingCart> notCouponuyCart = new ArrayList<>(); - + if(discountExplain.getScorePay()!=null){ + //校验用户积分是否够用 + int score=scoreVipDetailDao.selectUserTotalScore(bizUser.getOpenId(),null); + if(score<discountExplain.getScorePay()){ + return AjaxResult.buildFailInstance("积分不足"); + } + } ShopOrder shopOrder = new ShopOrder(); shopOrder.setCompanyId(bizUser.getCompanyId()); @@ -154,7 +156,7 @@ shopOrder.setOrderType(ShopOrder.ORDER_TYPE_GOODS); List<ShopOrderDetails> details = new ArrayList<>(); - Integer cartCount = 0; + Integer orderCount = 0; for (OrderItemDto orderItemDto : shopOrderDto.getOrderItemList()) { ShopOrderDetails shopOrderDetails = new ShopOrderDetails(); shopOrderDetails.setCreateBy(AppConstance.SYSTEM_USER); @@ -178,7 +180,12 @@ shopOrderDetails.setDiscountAmount(BigDecimal.ZERO); details.add(shopOrderDetails); - cartCount += shopOrderDetails.getCount(); + orderCount += shopOrderDetails.getCount(); + if(orderItemDto.getCartId()!=null){ + //删除用户购物车选中的产品 + shoppingCartDao.deleteById(orderItemDto.getCartId()); + } + } //校验商品是否限购 @@ -190,7 +197,7 @@ shopOrder.setCreateBy("微信小程序生成"); shopOrder.setUpdateBy("微信小程序生成"); shopOrder.setCommodityPrice(discountExplain.getBillPrice()); - shopOrder.setPurchaseQuantity(cartCount); + shopOrder.setPurchaseQuantity(orderCount); shopOrder.setOrderType(ShopOrder.ORDER_TYPE_GOODS); //购买方式 shopOrder.setShippingMethod(shopOrderDto.getDeliverySelect()); @@ -219,6 +226,7 @@ //获取邮费 shopOrder.setPostage(discountExplain.getPostage()); shopOrder.setOrderMoney(discountExplain.getPayPrice()); + shopOrder.setScorePay(discountExplain.getScorePay()); Gson g = new GsonBuilder().create(); shopOrder.setDiscountExplain(g.toJson(discountExplain)); shopOrder.setDiscountAmount(discountExplain.getActivityPrice().add(discountExplain.getCouponPrice())); @@ -242,8 +250,6 @@ shopCouponRecordDao.updateByModel(record); } - //删除用户购物车选中的产品 - shoppingCartDao.deleteUserSelectCart(bizUser.getOpenId()); BrandWCPayRequestData payData = startPayment(shopOrder); @@ -388,6 +394,15 @@ if (!shopOrder.getPayResult().equals(ShopOrder.ORDER_PAY_STATUS_WAIT)) { throw new GlobleException("该订单不是待支付状态!"); } + + if(shopOrder.getScorePay()!=null){ + //校验用户积分是否够用 + int score=scoreVipDetailDao.selectUserTotalScore(shopOrder.getUserId(),null); + if(score<shopOrder.getScorePay()){ + return AjaxResult.buildFailInstance("积分不足"); + } + } + BrandWCPayRequestData payData = startPayment(shopOrder); AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, Arrays.asList(payData)); result.putInMap("orderId", shopOrder.getId()); diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopOrder.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopOrder.java index 46da7f2..4ae3a9a 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopOrder.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopOrder.java @@ -141,7 +141,10 @@ * 用户ID */ private String userId; - + /** + * 支付积分 + */ + private Integer scorePay; /** * 下单时间 @@ -336,6 +339,13 @@ return orderNo; } + public Integer getScorePay() { + return scorePay; + } + + public void setScorePay(Integer scorePay) { + this.scorePay = scorePay; + } public void setOrderNo(String orderNo) { this.orderNo = orderNo; diff --git a/zq-erp/src/main/resources/mybatis/mapper/score/ScoreVipDetailDao.xml b/zq-erp/src/main/resources/mybatis/mapper/score/ScoreVipDetailDao.xml index f7fe0c0..df8f53f 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/score/ScoreVipDetailDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/score/ScoreVipDetailDao.xml @@ -3,41 +3,23 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.matrix.system.score.dao.ScoreVipDetailDao"> - <!-- 定义ScoreVipDetail 的复杂关联map --> - <resultMap type="com.matrix.system.score.entity.ScoreVipDetail" id="ScoreVipDetailMap"> - <id property="id" column="id" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - <result property="type" column="type" /> - <result property="allScore" column="all_score" /> - <result property="usedScore" column="used_score" /> - <result property="remainScore" column="remain_score" /> - <result property="gainTime" column="gain_time" /> - <result property="validiteTime" column="validite_time" /> - <result property="state" column="state" /> - <result property="businessId" column="business_id" /> - <result property="companyId" column="company_id" /> - </resultMap> - - - <!-- 定义ScoreVipDetail 的简单map ,本map不添加其他的关联属性 --> - <resultMap type="com.matrix.system.score.entity.ScoreVipDetail" id="ScoreVipDetailSimpleMap"> - <id property="id" column="id" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - <result property="type" column="type" /> - <result property="allScore" column="all_score" /> - <result property="usedScore" column="used_score" /> - <result property="remainScore" column="remain_score" /> - <result property="gainTime" column="gain_time" /> - <result property="validiteTime" column="validite_time" /> - <result property="state" column="state" /> - <result property="businessId" column="business_id" /> - <result property="companyId" column="company_id" /> - </resultMap> + + <select id="selectUserTotalScore" resultType="java.lang.Integer"> + select IFNULL(sum(IFNULL( remain_score, 0 )),0) from score_vip_detail + <where> + and state=1 + <if test="openId !=null"> + and open_id=#{openId} + </if> + <if test="vipId !=null"> + and vip_id=#{vipId} + </if> + </where> + </select> + + <select id="selectEffectiveScore" resultType="com.matrix.system.score.entity.ScoreVipDetail"> + select * from score_vip_detail where open_id=#{openId} and state=1 order by create_time + + </select> </mapper> \ No newline at end of file diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderDao.xml index 8ec31fb..c699faf 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderDao.xml @@ -33,6 +33,7 @@ <result property="storeName" column="shop_name" /> <result property="orderType" column="order_type" /> <result property="applyStatus" column="apply_status" /> + <result property="scorePay" column="score_pay" /> <result property="companyId" column="company_id" /> </resultMap> @@ -66,6 +67,7 @@ <result property="postage" column="postage" /> <result property="orderType" column="order_type" /> <result property="storeName" column="shop_name" /> + <result property="scorePay" column="score_pay" /> <result property="companyId" column="company_id" /> <result property="activityType" column="activity_type" /> <!--支付时间--> @@ -127,6 +129,7 @@ postage, order_type, activity_type, +score_pay, company_id </sql> @@ -159,6 +162,7 @@ #{item.postage}, #{item.orderType}, #{item.activityType}, + #{item.scorePay}, #{item.companyId} </sql> @@ -337,6 +341,9 @@ <if test="_parameter.containsKey('orderType')"> order_type = #{orderType}, </if> + <if test="_parameter.containsKey('scorePay')"> + score_pay = #{scorePay}, + </if> </set> WHERE id=#{id} </update> @@ -405,6 +412,9 @@ </if> <if test="record.postage != null and record.postage != '' "> postage = #{record.postage}, + </if> + <if test="record.scorePay != null and record.scorePay != '' "> + score_pay = #{record.scorePay}, </if> <if test="true"> update_time = now(), @@ -558,6 +568,7 @@ o.postage, s.shop_name, o.order_type, + o.score_pay, o.apply_status from shop_order o INNER JOIN sys_shop_info s on o.store_id = s.ID @@ -629,6 +640,7 @@ o.pay_result, o.postage, s.store_name, + s.score_pay, o.order_type from shop_order o LEFT JOIN shop_store s on o.store_id = s.store_id diff --git a/zq-erp/src/test/java/com/matrix/JyyTests.java b/zq-erp/src/test/java/com/matrix/JyyTests.java index b2b3243..3d26abb 100644 --- a/zq-erp/src/test/java/com/matrix/JyyTests.java +++ b/zq-erp/src/test/java/com/matrix/JyyTests.java @@ -1,5 +1,6 @@ package com.matrix; +import com.matrix.system.score.dao.ScoreVipDetailDao; import com.matrix.system.shopXcx.dao.ShopOrderV2Dao; import org.junit.Test; import org.junit.runner.RunWith; @@ -22,12 +23,18 @@ @Autowired private ShopOrderV2Dao shopOrderV2Dao; - + @Autowired + ScoreVipDetailDao scoreVipDetailDao; /** * */ @Test + public void scoreVipDetailDao() throws InterruptedException { + System.out.println( scoreVipDetailDao.selectUserTotalScore("oJkRK4yelehsY4S7I6Ee1ydWtQMI",null)); + } + + @Test public void testSelectReceivedOrderCount() throws InterruptedException { System.out.println( shopOrderV2Dao.selectReceivedOrderCount("oJkRK4yelehsY4S7I6Ee1ydWtQMI")); } -- Gitblit v1.9.1