server/dmmall_service/src/main/java/com/doumee/dao/web/request/DealIntegralRequest.java
@@ -35,6 +35,8 @@ @ApiModelProperty(value = "收支类型 0收入 1支出") private Integer dealType; @ApiModelProperty(value = "消息参数") private String param1; } server/dmmall_service/src/main/java/com/doumee/service/business/NoticeService.java
@@ -2,9 +2,11 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.dao.business.model.Notice; import com.doumee.dao.web.dto.NoticeCardDTO; import java.math.BigDecimal; import java.util.List; /** @@ -104,4 +106,17 @@ * @return */ PageData<NoticeCardDTO> findNoticeCardDTOPage(PageWrap<Notice> pageWrap); /** * 积分变动消息类型 * @param integralObjType 积分变动类型 * @param memberId 用户主键/商户主键 * @param integral 变动积分/现金值 * @param objId 关联对象主键 - 积分流水变动记录主键 * @param param1 param2 */ void saveMemberIntegralNotice(Constants.IntegralObjType integralObjType, Integer type, Integer memberId, BigDecimal integral, Integer objId, String param1); } server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -1919,6 +1919,7 @@ dealIntegralRequest.setObjId(goodsorder.getId()); dealIntegralRequest.setOrderCode(goodsorder.getCode().toString()); dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.ORDER_DONE_AMOUNT); dealIntegralRequest.setParam1(goodsorder.getCode().toString()); integralService.dealShopAmount(dealIntegralRequest); } } server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
@@ -27,6 +27,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.service.business.NoticeService; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; @@ -66,6 +67,9 @@ @Autowired private ShopMapper shopMapper; @Autowired private NoticeService noticeService; @Transactional(rollbackFor = {Exception.class, BusinessException.class}) @Override @@ -166,6 +170,14 @@ }else{ memberMapper.subtractIntegral(member.getId(),dealIntegralRequest.getIntegralNum()); } //站内信 noticeService.saveMemberIntegralNotice( dealIntegralRequest.getIntegralObjType(),Constants.ZERO,member.getId(),dealIntegralRequest.getIntegralNum(), integral.getId(), dealIntegralRequest.getParam1() ); return integral.getId(); } server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -364,6 +364,7 @@ member.setRecId(Constants.getInviteCode(wxPhoneRequest.getRecId())); } member.setOpenId(wxPhoneRequest.getOpenid()); member.setIntegral(BigDecimal.ZERO); } member.setPhone(phone); member.setEditDate(new Date()); @@ -463,6 +464,20 @@ platformConfigDTO.getShareIntegralReward():BigDecimal.ZERO); inviteRecord.setFirstOrderStatus(Constants.ZERO); inviteRecordMapper.insert(inviteRecord); //赠送邀请积分 //开启邀请注册送积分 if(Constants.equalsInteger(platformConfigDTO.getShareIntegralRewardStatus(),Constants.ZERO)){ DealIntegralRequest dealIntegralRequest = new DealIntegralRequest(); dealIntegralRequest.setIntegralNum(platformConfigDTO.getShareIntegralReward()); dealIntegralRequest.setDealType(Constants.ZERO); dealIntegralRequest.setMemberId(member.getRecId()); dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.INVITENEWUSER); dealIntegralRequest.setParam1(member.getNickname()); integralService.dealIntegral(dealIntegralRequest); } } server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
@@ -11,10 +11,7 @@ import com.doumee.dao.business.NoticeMapper; import com.doumee.dao.business.join.MemberJoinMapper; import com.doumee.dao.business.join.NoticeJoinMapper; import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.MemberCoupon; import com.doumee.dao.business.model.Notice; import com.doumee.dao.business.model.Shop; import com.doumee.dao.business.model.*; import com.doumee.dao.web.dto.NoticeCardDTO; import com.doumee.dao.system.model.SystemUser; import com.doumee.dao.web.request.CouponNoticeRequest; @@ -32,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Objects; @@ -247,7 +245,7 @@ /** * * @param type 0消费者;1=经销商积分;2=经销商结算金额 * @param type 0消费者;1=经销商; * @param objType 0商城订单 1积分流水 2互动评价 3优惠券 * */ @@ -263,6 +261,7 @@ notice.setObjType(objType); notice.setObjId(objId); notice.setMemberId(memberId); notice.setStatus(Constants.ZERO); noticeMapper.insert(notice); } @@ -275,7 +274,11 @@ * @param objId 关联对象主键 - 积分流水变动记录主键 * @param param1 param2 */ public void saveMemberIntegralNotice(Constants.IntegralObjType integralObjType,Integer type, Integer memberId, Integer integral, Integer objId,String param1){ @Override public void saveMemberIntegralNotice(Constants.IntegralObjType integralObjType,Integer type, Integer memberId, BigDecimal integral, Integer objId,String param1){ String title = integralObjType.getName(); String info = integralObjType.getNoteinfo(); info = info.replace("${param}",integral.toString()).replace("${param1}",param1); @@ -289,31 +292,103 @@ ); } /** * 发放优惠券 * @param memberId * @param couponList */ public void couponNotice(Integer memberId,List<CouponNoticeRequest> couponList){ String info = "恭喜您获得【优惠规则】【优惠券类型】"; String noticeInfo = "恭喜您获得${param}"; //恭喜您获得 满50减10抵扣券 String replaceInfo = ""; for (CouponNoticeRequest c:couponList) { MemberCoupon mc = c.getMemberCoupon(); Constants.equalsInteger(mc.getCouponType(),Constants.ZERO)? String info = Constants.equalsInteger(mc.getCouponType(),Constants.ZERO)? "满"+mc.getLimitPrice()+"元减"+mc.getPrice()+"元抵扣券*"+c.getNum(): "满"+mc.getLimitPrice()+"元享"+mc.getPrice()+"折券"; replaceInfo = replaceInfo + (StringUtils.isBlank(replaceInfo)? info:","+info); } noticeInfo.replace("${param}",replaceInfo); this.saveNoticeInfo( Constants.ZERO, Constants.ONE, memberId, "获得系统发放的优惠券", noticeInfo, null ); } // this.saveNoticeInfo( // type, // Constants.ONE, // memberId, // "获得系统发放的优惠券", // info, // objId // ); // public void expireNotice(Integer memberId, BigDecimal integral,Integer expireDateNum){ //您有1000积分30天后过期,请尽快使用 String noticeInfo = "您有${param}积分即将过期,请尽快使用"; if(integral.compareTo(BigDecimal.ZERO)<=Constants.ZERO){ return; } noticeInfo.replace("${param}",integral.toString()); this.saveNoticeInfo( Constants.ZERO, Constants.ONE, memberId, "您的积分将在"+expireDateNum+"天后清空,请尽快使用", noticeInfo, null ); } public void commonNotice(Integer memberId, Integer objId,String memberName ){ //您有1000积分30天后过期,请尽快使用 String noticeInfo = "${param}回复了您的评论"; noticeInfo.replace("${param}",memberName); this.saveNoticeInfo( Constants.ZERO, Constants.TWO, memberId, noticeInfo, noticeInfo, null ); } public void orderPayNotice(Integer shopId, Integer objId,Integer receiveType){ if(Constants.equalsInteger(receiveType,Constants.ZERO)){ return; } //您有新的【发货方式】订单待处理 String noticeInfo = "您有新的${param}订单待处理"; noticeInfo.replace("${param}",Constants.equalsInteger(receiveType,Constants.ZERO)?"物流发货":"门店自提"); this.saveNoticeInfo( Constants.ONE, Constants.ZERO, shopId, noticeInfo, noticeInfo, objId ); } public void orderCancelNotice(Integer shopId, Integer objId,String orderNo){ // 您的订单{订单号},已由客户手动取消,请知悉 String noticeInfo = " 您的订单${param},已由客户手动取消,请知悉"; noticeInfo.replace("${param}",orderNo); this.saveNoticeInfo( Constants.ONE, Constants.ZERO, shopId, noticeInfo, noticeInfo, objId ); } server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java
@@ -46,12 +46,8 @@ return ApiResponse.success(memberService.wxLogin(code)); } @LoginRequired @ApiOperation(value = "绑定手机号", notes = "小程序端") @PostMapping("/wxPhone") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) }) public ApiResponse<AccountResponse> wxPhone(@Valid @RequestBody WxPhoneRequest wxPhoneRequest) { return ApiResponse.success(memberService.wxPhone(wxPhoneRequest)); }