|
|
@@ -0,0 +1,52 @@
|
|
|
+package com.ytpm.service.impl;
|
|
|
+
|
|
|
+import cn.hutool.core.util.IdUtil;
|
|
|
+import com.ytpm.app.model.YtDyzAdRecord;
|
|
|
+import com.ytpm.app.model.YtDyzUser;
|
|
|
+import com.ytpm.app.param.DyzAdRecordParam;
|
|
|
+import com.ytpm.dao.AdRecordMapper;
|
|
|
+import com.ytpm.dao.AppUserMapper;
|
|
|
+import com.ytpm.general.RepMessage;
|
|
|
+import com.ytpm.general.Result;
|
|
|
+import com.ytpm.service.AdService;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class AdServiceImpl implements AdService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private AdRecordMapper adRecordMapper;
|
|
|
+ @Autowired
|
|
|
+ private AppUserMapper appUserMapper;
|
|
|
+ /**
|
|
|
+ * 保存广告记录
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Result<?> saveRecord(DyzAdRecordParam param) {
|
|
|
+ YtDyzUser user = appUserMapper.selectPrimaryKey(param.getUserId());
|
|
|
+ if(Objects.isNull(user)){
|
|
|
+ return Result.resultOk(RepMessage.SAVE_SUCCESS);
|
|
|
+ }
|
|
|
+ //增加广告记录
|
|
|
+ YtDyzAdRecord adRecord = new YtDyzAdRecord();
|
|
|
+ BeanUtils.copyProperties(param, adRecord);
|
|
|
+ adRecord.setRecordId(IdUtil.fastSimpleUUID());
|
|
|
+ adRecord.setFinishTime(new Date());
|
|
|
+ adRecordMapper.addOne(adRecord);
|
|
|
+ //修改用户信息, 广告次数+1 总收益 + revenue
|
|
|
+ YtDyzUser dyzUser = new YtDyzUser();
|
|
|
+ dyzUser.setUserId(user.getUserId());
|
|
|
+ dyzUser.setTotalVideo(Objects.isNull(user.getTotalVideo())?1:(user.getTotalVideo()+1));
|
|
|
+ dyzUser.setTotalIncome(user.getTotalIncome().add(param.getRevenue()));
|
|
|
+ appUserMapper.updateUser(dyzUser);
|
|
|
+ return Result.resultOk(RepMessage.SAVE_SUCCESS);
|
|
|
+ }
|
|
|
+}
|