| | |
| | | package com.matrix.system.activity.service; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | |
| | | import com.matrix.system.activity.vo.ZjrVo; |
| | | import com.matrix.system.common.bean.SysUsers; |
| | | import com.matrix.system.common.bean.SystemDictionary; |
| | | import com.matrix.system.common.constance.AppConstance; |
| | | import com.matrix.system.common.dao.SystemDictionaryDao; |
| | | import com.matrix.system.hive.action.util.QueryUtil; |
| | | import com.matrix.system.hive.dao.SysVipInfoDao; |
| | |
| | | Integer logisticsId = activitySignWriteoffLogistics.getLogisticsId(); |
| | | ShopDeliveryInfo shopDeliveryInfo = shopDeliveryInfoDao.selectById(logisticsId); |
| | | if(ObjectUtil.isNotEmpty(shopDeliveryInfo)){ |
| | | signWriteoffVo.setLogisticsNum(shopDeliveryInfo.getWaybillNo()); |
| | | signWriteoffVo.setLogisticsCompany(shopDeliveryInfo.getLogisticsCompany()); |
| | | //查看物流信息 |
| | | wxShopLogisticsQueryService.selectLogisticsInfo(shopDeliveryInfo); |
| | | List<ShopLogisticsInfo> shopLogisticsInfos = shopLogisticsInfoDao.selectByDelieryId(shopDeliveryInfo.getId()); |
| | |
| | | String writeOffCode = writeoffCodeSubmitDto.getWriteOffCode(); |
| | | /** |
| | | * 验证核销码是不是匹配 |
| | | * 只能核销一次 |
| | | * 更新核销记录 |
| | | * 更新领取记录 |
| | | */ |
| | | //验证核销码是不是匹配 |
| | | ActivitySignWriteoff activitySignWriteoff = activitySignWriteoffDao.selectById(writeoffId); |
| | | if(ActivitySignWriteoff.STATE_ONE != activitySignWriteoff.getState()){ |
| | | return new AjaxResult(AjaxResult.STATUS_FAIL, "兑奖码已失效"); |
| | | } |
| | | if(ObjectUtil.isNotEmpty(activitySignWriteoff)) { |
| | | String writeoffCodeReal = activitySignWriteoff.getWriteoffCode(); |
| | | if(!writeoffCodeReal.equals(writeOffCode)) { |
| | | return new AjaxResult(AjaxResult.STATUS_FAIL, "兑奖码无效"); |
| | | } |
| | | } |
| | | //更新核销记录 |
| | | //线下兑换失效 |
| | | Long awardId = activitySignWriteoff.getAwardId(); |
| | | ActivitySignAwardSet activitySignAwardSet = activitySignAwardSetDao.selectById(awardId); |
| | | if(ActivitySignAwardSet.AWARDWAY_ONE == activitySignAwardSet.getAwardWay() |
| | | || ActivitySignAwardSet.AWARDWAY_THREE == activitySignAwardSet.getAwardWay()){ |
| | | Date prizeStartTime = activitySignAwardSet.getPrizeStartTime(); |
| | | if(DateUtil.date().getTime() < prizeStartTime.getTime()){ |
| | | return new AjaxResult(AjaxResult.STATUS_FAIL, "兑奖还没开始呢!"); |
| | | } |
| | | Date prizeEndTime = activitySignAwardSet.getPrizeEndTime(); |
| | | if(DateUtil.date().getTime() > prizeEndTime.getTime()){ |
| | | Long receiveId = activitySignWriteoff.getReceiveId(); |
| | | ActivitySignReceiveRecord activitySignReceiveRecord = activitySignReceiveRecordDao.selectById(receiveId); |
| | | if(ObjectUtil.isNotEmpty(activitySignReceiveRecord)){ |
| | | activitySignReceiveRecord.setState(ActivitySignReceiveRecord.STATE_FIVE); |
| | | } |
| | | activitySignReceiveRecordDao.updateById(activitySignReceiveRecord); |
| | | |
| | | activitySignWriteoff.setState(ActivitySignWriteoff.STATE_FOUR); |
| | | activitySignWriteoffDao.updateById(activitySignWriteoff); |
| | | return new AjaxResult(AjaxResult.STATUS_FAIL, "已超出兑奖结束时间!"); |
| | | } |
| | | } |
| | | //更新核销记录 |
| | | activitySignWriteoff.setState(ActivitySignWriteoff.STATE_THREE); |
| | | activitySignWriteoff.setWriteoffTime(new Date()); |
| | | activitySignWriteoff.setWriteoffUser(sysUsers.getSuName()); |
| | |
| | | shopDeliveryInfo.setLogisticsCompany(systemDictionary.getName()); |
| | | shopDeliveryInfo.setLogisticsCompanyCode(systemDictionary.getCode()); |
| | | shopDeliveryInfo.setDeliveryWay("物流配送"); |
| | | shopDeliveryInfo.setLogisticsStatus(AppConstance.LOGISTICS_STATUS_OF_RECEIVE); |
| | | |
| | | shopDeliveryInfo.setWaybillNo(logisticsSubmitDto.getKddh()); |
| | | shopDeliveryInfo.setUpdateBy(sysUsers.getSuName()); |
| | |
| | | activitySignWriteoffDao.updateById(activitySignWriteoff); |
| | | //更新领取记录 |
| | | ActivitySignReceiveRecord activitySignReceiveRecord = activitySignReceiveRecordDao.selectById(receiveId); |
| | | activitySignReceiveRecord.setState(ActivitySignReceiveRecord.STATE_THREE); |
| | | activitySignReceiveRecord.setState(ActivitySignReceiveRecord.STATE_FOUR); |
| | | activitySignReceiveRecord.setConsignee(logisticsSubmitDto.getShr()); |
| | | activitySignReceiveRecord.setConsigneeAddress(logisticsSubmitDto.getShdz()); |
| | | activitySignReceiveRecord.setConsigneePhone(logisticsSubmitDto.getLxdh()); |