| | |
| | | import com.dsh.activity.feignclient.other.RegionClient; |
| | | import com.dsh.activity.feignclient.other.SiteClient; |
| | | import com.dsh.activity.feignclient.other.StoreClient; |
| | | import com.dsh.activity.feignclient.other.model.CityDataAndProvinceDataVo; |
| | | import com.dsh.activity.feignclient.other.model.Store; |
| | | import com.dsh.activity.feignclient.other.model.StoreInfoDto; |
| | | import com.dsh.activity.feignclient.other.model.TOperatorCity; |
| | | import com.dsh.activity.feignclient.other.model.*; |
| | | import com.dsh.activity.model.CouponListVo; |
| | | import com.dsh.activity.model.CouponRecordQuery; |
| | | import com.dsh.activity.model.request.CommodityRequest; |
| | |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | THuiminCard huiminCard = huiminCardService.getById(id); |
| | | if (huiminCard.getEndTime()!=null && huiminCard.getEndTime().before(new Date())){ |
| | | return ResultUtil.error("该惠民卡已过期"); |
| | | } |
| | | if (huiminCard.getGrantCount()!=null){ |
| | | if (huiminCard.getGrantCount()<=payHuiminService.lambdaQuery().eq(TPayHuimin::getCardId, huiminCard.getId()) |
| | | .eq(TPayHuimin::getStatus,2).count()){ |
| | | return ResultUtil.error("该惠民卡已售完"); |
| | | } |
| | | } |
| | | if (huiminCard.getLimitCount()!=null){ |
| | | if (huiminCard.getLimitCount()<=payHuiminService.lambdaQuery().eq(TPayHuimin::getCardId, huiminCard.getId()) |
| | | .eq(TPayHuimin::getStatus,2) |
| | | .eq(TPayHuimin::getAppUserId, uid) |
| | | .count()){ |
| | | return ResultUtil.error("该惠民卡购买次数已达上限"); |
| | | } |
| | | } |
| | | TPayHuimin tPayHuimin = new TPayHuimin(); |
| | | tPayHuimin.setSalesMoney(huiminCard.getSalesMoney()); |
| | | tPayHuimin.setAppUserId(uid); |
| | |
| | | tPayHuimin.setCode(sdf.format(new Date()) + UUIDUtil.getNumberRandom(5)); |
| | | System.err.println("支付数据"+tPayHuimin); |
| | | payHuiminService.save(tPayHuimin); |
| | | BigDecimal bigDecimal = new BigDecimal(studentIds.split(",").length); |
| | | switch (payType){ |
| | | case 1: |
| | | return payMoneyUtil.weixinpay("购买惠民卡"+"-"+0, "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().toString(), |
| | | return payMoneyUtil.weixinpay("购买惠民卡"+"-"+0, "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().multiply(bigDecimal).toString(), |
| | | "/base/huimin/callBack/weixinPayHuiminCallback", "APP", ""); |
| | | case 2: |
| | | return payMoneyUtil.alipay(smid,"购买惠民卡", "购买惠民卡", "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().toString(), |
| | | String string = tPayHuimin.getSalesMoney().multiply(bigDecimal).setScale(2).toString(); |
| | | return payMoneyUtil.alipay(smid,"购买惠民卡", "购买惠民卡", "", tPayHuimin.getCode(), string, |
| | | "/base/huimin/callBack/aliPayHuiminCallback"); |
| | | } |
| | | |
| | |
| | | pageNo = (pageNo - 1) * pageSize; |
| | | HuiminAgreementVO huiminAgreementVO = new HuiminAgreementVO(); |
| | | List<THuiminCard> cardList = huiminCardService.getHuiminAgreementAndList(pageNo,pageSize,storeId); |
| | | if (cardList.isEmpty()){ |
| | | List<THuiminCard> cardListNolimit = huiminCardService.getHuiminAgreementAndListNolimit(storeId); |
| | | if (cardListNolimit.isEmpty()){ |
| | | // 没有配置惠民卡 展示富文本内容 |
| | | huiminAgreementVO.setShowType(1); |
| | | }else{ |
| | |
| | | List<THuiminCard> list = huiminCardService.list(); |
| | | for (MyHuiminCardVO myHuiminCardVO : cardList) { |
| | | TPayHuimin byId = payHuiminService.getById(myHuiminCardVO.getId()); |
| | | myHuiminCardVO.setEndTime(byId.getEndTime()); |
| | | |
| | | myHuiminCardVO.setSalesMoney(byId.getSalesMoney()); |
| | | if (myHuiminCardVO.getEndTime().before(new Date())){ |
| | | // 已过期 |
| | | myHuiminCardVO.setIsExpire(1); |
| | | }else{ |
| | | myHuiminCardVO.setIsExpire(0); |
| | | } |
| | | |
| | | int count = huiminRecordService.count(new LambdaQueryWrapper<THuiminRecord>() |
| | | .eq(THuiminRecord::getHuiminCardId, myHuiminCardVO.getCardId())); |
| | | // 购卡7日内没有使用记录可退款。超过7日不管有没有使用记录都不能退款 |
| | |
| | | THuiminCard huiminCard = list.stream().filter(e -> e.getId().equals(myHuiminCardVO.getCardId())).findFirst().orElse(null); |
| | | if (null!=huiminCard){ |
| | | myHuiminCardVO.setCover(huiminCard.getBuyCover()); |
| | | } |
| | | if (myHuiminCardVO.getEndTime().before(new Date())){ |
| | | // 已过期 |
| | | myHuiminCardVO.setIsExpire(1); |
| | | if (null!=huiminCard){ |
| | | myHuiminCardVO.setCover(huiminCard.getUnBuyCover()); |
| | | } |
| | | }else{ |
| | | myHuiminCardVO.setIsExpire(0); |
| | | } |
| | | // 查询绑定人员列表 |
| | | List<TStudent> studentByIds = studentClient.getStudentByIds(myHuiminCardVO.getStudentId()); |
| | |
| | | } |
| | | if (tPayHuimin.getStatus()==3 && tPayHuimin.getRefundStatus()!=1){ |
| | | return ResultUtil.error("不可重复退款"); |
| | | |
| | | } |
| | | if (tPayHuimin.getEndTime().before(new Date())){ |
| | | // 已过期 |
| | | return ResultUtil.error("惠民卡已过期,不可退款"); |
| | | } |
| | | int count = huiminRecordService.count(new LambdaQueryWrapper<THuiminRecord>() |
| | | .eq(THuiminRecord::getHuiminCardId, tPayHuimin.getCardId())); |
| | | // 购卡7日内没有使用记录可退款。超过7日不管有没有使用记录都不能退款 |
| | | if (new Date().after(DateUtil.addDay(tPayHuimin.getPaymentTime(),7))){ |
| | | // 超过七天不可退款 |
| | | return ResultUtil.error("惠民卡购买超过七天,不可退款"); |
| | | }else if (count>=7){ |
| | | // 使用记录大于等于7次不可退款 |
| | | return ResultUtil.error("惠民卡使用记录大于等于7次,不可退款"); |
| | | } |
| | | if (tPayHuimin.getPaymentType()==1){ |
| | | Map<String, String> map = payMoneyUtil.wxRefund(tPayHuimin.getOrderNumber(), tPayHuimin.getCode(), |
| | |
| | | } |
| | | THuiminCard byId = huiminCardService.getById(tPayHuimin.getCardId()); |
| | | MyHuiminCardDetailVO myHuiminCardDetailVO = new MyHuiminCardDetailVO(); |
| | | String storeIds = byId.getStoreIds(); |
| | | String temp ="{\"storeIds\":\"" +storeIds+"\","+"\"useWeeks:\"\""+byId.getUseWeeks()+"\","+"\"useTimes:\""+byId.getUseTimes()+"\","+"\"unUseTimes:\""+byId.getUnUseTimes()+"\"}"; |
| | | String siteIds = ""; |
| | | if (byId.getUseScope()==2){ |
| | | siteIds = byId.getUseIds(); |
| | | }else{ |
| | | siteIds = siteClient.querySiteByStoreIds(byId.getStoreIds()) |
| | | .stream() |
| | | .map(Site::getId) |
| | | .map(String::valueOf) |
| | | .collect(Collectors.joining(",")); |
| | | } |
| | | String temp ="{\"siteIds\":\"" +siteIds+"\","+"\"useTimes:\"\""+byId.getUseWeeks()+"\","+"\"unUseTimes:\""+byId.getUnUseTimes()+"\"}"; |
| | | myHuiminCardDetailVO.setQrCode(temp); |
| | | myHuiminCardDetailVO.setCardId(tPayHuimin.getCardId()); |
| | | myHuiminCardDetailVO.setHuiminCard(byId); |
| | |
| | | return ResultUtil.success(new MyHuiminCardDetailVO()); |
| | | } |
| | | } |
| | | /** |
| | | * 获取添加人员、选择人员说明文案 |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/getContentForStudent") |
| | | @ApiOperation(value = "获取添加人员、选择人员说明文案") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<THuiminAgreement> getContentForStudent() { |
| | | try { |
| | | Integer uid = tokenUtil.getUserIdFormRedis(); |
| | | if (null == uid) { |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | THuiminAgreement one = huiminAgreementService.lambdaQuery() |
| | | .isNull(THuiminAgreement::getOperatorId).last("limit 1").one(); |
| | | return ResultUtil.success(one); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return ResultUtil.success(new THuiminAgreement()); |
| | | } |
| | | } |
| | | |
| | | } |