Commit 0939a3b6 by 吴博

feat: [1003878] 书币商城

parent 2d52f788
...@@ -2,7 +2,10 @@ package com.pcloud.book.consumer.reader; ...@@ -2,7 +2,10 @@ package com.pcloud.book.consumer.reader;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.pcloud.book.applet.dto.SpecialBookDTO; import com.pcloud.book.applet.dto.SpecialBookDTO;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.channelcenter.base.exceptions.ChannelBizException; import com.pcloud.channelcenter.base.exceptions.ChannelBizException;
import com.pcloud.readercenter.rmall.entity.RmallBookMoneyRecord;
import com.pcloud.readercenter.rmall.service.RmallBookMoneyRecordService;
import com.pcloud.readercenter.wechat.dto.NickNameAndOpenIdDto; import com.pcloud.readercenter.wechat.dto.NickNameAndOpenIdDto;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
...@@ -51,6 +54,8 @@ public class ReaderConsr { ...@@ -51,6 +54,8 @@ public class ReaderConsr {
private AppUserService appUserService; private AppUserService appUserService;
@Autowired @Autowired
private AgentService agentService; private AgentService agentService;
@Autowired
private RmallBookMoneyRecordService rmallBookMoneyRecordService;
public WechatUser getWechatUser(Long wechatUserId) throws BizException { public WechatUser getWechatUser(Long wechatUserId) throws BizException {
if (wechatUserId == null) { if (wechatUserId == null) {
...@@ -308,6 +313,16 @@ public class ReaderConsr { ...@@ -308,6 +313,16 @@ public class ReaderConsr {
} }
return wechatUserIds; return wechatUserIds;
} }
public void insertBookMoneyRecord(RmallBookMoneyRecord rmallBookMoneyRecord) {
LOGGER.info("书币获取记录:{}", rmallBookMoneyRecord);
try {
rmallBookMoneyRecordService.insert(rmallBookMoneyRecord);
} catch (Exception e) {
throw new BookBizException(BookBizException.ERROR, "insertBookMoneyRecord新增书币获取记录失败");
}
}
} }
...@@ -18,6 +18,7 @@ import com.pcloud.book.consumer.app.AppConsr; ...@@ -18,6 +18,7 @@ import com.pcloud.book.consumer.app.AppConsr;
import com.pcloud.book.consumer.app.AssistTempletConsr; import com.pcloud.book.consumer.app.AssistTempletConsr;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr; import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.consumer.label.LabelConsr; import com.pcloud.book.consumer.label.LabelConsr;
import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.book.consumer.resource.ProductConsr; import com.pcloud.book.consumer.resource.ProductConsr;
import com.pcloud.book.giftcoupon.biz.GiftCouponPackageBiz; import com.pcloud.book.giftcoupon.biz.GiftCouponPackageBiz;
import com.pcloud.book.giftcoupon.check.GiftParamCheck; import com.pcloud.book.giftcoupon.check.GiftParamCheck;
...@@ -46,6 +47,8 @@ import com.pcloud.common.page.PageBeanNew; ...@@ -46,6 +47,8 @@ import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam; import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.readercenter.rmall.entity.RmallBookMoneyRecord;
import com.pcloud.readercenter.rmall.enums.MoneyReceiveTypeEnum;
import com.pcloud.resourcecenter.product.dto.ProductDto; import com.pcloud.resourcecenter.product.dto.ProductDto;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -64,6 +67,8 @@ import java.util.Random; ...@@ -64,6 +67,8 @@ import java.util.Random;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.pcloud.book.util.common.ThreadPoolUtils.RMALL_SIGN_IN;
@Component("giftCouponPackageBiz") @Component("giftCouponPackageBiz")
public class GiftCouponPackageBizImpl implements GiftCouponPackageBiz { public class GiftCouponPackageBizImpl implements GiftCouponPackageBiz {
...@@ -99,6 +104,10 @@ public class GiftCouponPackageBizImpl implements GiftCouponPackageBiz { ...@@ -99,6 +104,10 @@ public class GiftCouponPackageBizImpl implements GiftCouponPackageBiz {
private AppletUserBookcaseDao appletUserBookcaseDao; private AppletUserBookcaseDao appletUserBookcaseDao;
@Autowired @Autowired
private AppletThirdResourcesDao appletThirdResourcesDao; private AppletThirdResourcesDao appletThirdResourcesDao;
@Autowired
private ReaderConsr readerConsr;
//将券库最大容量 //将券库最大容量
private final Integer COUPON_MAX_ALL_RECEIVE=10; private final Integer COUPON_MAX_ALL_RECEIVE=10;
...@@ -398,6 +407,18 @@ public class GiftCouponPackageBizImpl implements GiftCouponPackageBiz { ...@@ -398,6 +407,18 @@ public class GiftCouponPackageBizImpl implements GiftCouponPackageBiz {
} }
//todo 可能有其他操作,如果点击不跳转页面,需要控制重复点击 //todo 可能有其他操作,如果点击不跳转页面,需要控制重复点击
giftReceiveDao.useGiftCoupon(receiveId); giftReceiveDao.useGiftCoupon(receiveId);
//如果是书币券则更新书币记录及书币总量
if (CouponTypeEnum.BOOK_COIN_COUPON.value.equals(giftCouponPackage.getCouponType()) && null != giftCouponPackage.getDenomination()) {
RMALL_SIGN_IN.execute(()->{
//书币兑换券
RmallBookMoneyRecord rmallBookMoneyRecord = new RmallBookMoneyRecord();
rmallBookMoneyRecord.setWechatUserId(wechatUserId);
rmallBookMoneyRecord.setRecordType(MoneyReceiveTypeEnum.GIFT_COUPON.key);
rmallBookMoneyRecord.setBookMoneyCount(giftCouponPackage.getDenomination() * 10);
readerConsr.insertBookMoneyRecord(rmallBookMoneyRecord);
});
}
} }
@Override @Override
......
...@@ -145,7 +145,9 @@ ...@@ -145,7 +145,9 @@
a.price price, a.price price,
a.crossed_price crossedPrice, a.crossed_price crossedPrice,
a.exchange_address exchangeAddress, a.exchange_address exchangeAddress,
if(b.use_time>0,1,2) failureState, <if test="state!=null and state==2">
if(b.use_time>0,1,2) failureState,
</if>
a.serve_id serveId, a.serve_id serveId,
a.serve_type serveType, a.serve_type serveType,
a.link_url linkUrl, a.link_url linkUrl,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment