package com.stylefeng.guns.modular.system.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.core.util.DateUtil; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.dao.UserActivityMapper; import com.stylefeng.guns.modular.system.service.*; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** *

* 用户活动主表 服务实现类 *

* * @author stylefeng * @since 2020-06-19 */ @Service public class UserActivityServiceImpl extends ServiceImpl implements IUserActivityService { @Resource private UserActivityMapper userActivityMapper; @Autowired private ISysRedPacketRecordService redPacketRecordService; @Autowired private IUserActivityBalanceService userActivityBalanceService; @Autowired private IUserActivityDiscount1Service userActivityDiscount1Service; @Autowired private IUserActivityInviteService userActivityInviteService; @Autowired private IUserActivityRedenvelopeService userActivityRedenvelopeService; @Autowired private IUserActivityRegisteredService userActivityRegisteredService; @Autowired private IUserService userService; @Override public void insertOrUpdate(Integer id, String name, String startTime, Integer registCouponId, Integer registEnable, Integer registNumber, Integer registEffective, Integer inviteCouponId, Integer inviteEnable, Integer inviteNumber, Integer inviteEffective, Integer balanceEnable, String balanceInfo, Integer discountEnable, Double discountSpecial, Double discountTaxi, Double discountLogistics, Integer redenvelopeId, Integer redenvelopeEnable, Double registerPrice, Double invitationPrice, Double redPrice,Double discountDistance,Integer discountOrderNum) { if(id==null){ String[] timeArray = startTime.split(" - "); Date startTimes = DateUtil.getDate_str3(timeArray[0]); Date endTimes = DateUtil.getDate_str3(timeArray[1]); ShiroUser user = ShiroKit.getUser(); Date nowDay = new Date(); UserActivity userActivity = new UserActivity(); userActivity.setInsertTime(nowDay); userActivity.setCompanyId(ShiroKit.getUser().getObjectId()); userActivity.setCompanyType(ShiroKit.getUser().getRoleType()); userActivity.setStatus(userActivity.getCompanyType()==1?3:1); userActivity.setName(name); userActivity.setStartTime(startTimes); userActivity.setEndTime(endTimes); userActivity.insertOrUpdate(); //添加注册奖励 if(registCouponId!=null){ UserActivityRegistered userActivityRegistered = new UserActivityRegistered(); userActivityRegistered.setCouponId(registCouponId); userActivityRegistered.setEnable(registEnable); userActivityRegistered.setEndTime(endTimes); userActivityRegistered.setStartTime(startTimes); userActivityRegistered.setTotalNum(registNumber); userActivityRegistered.setLaveNum(registNumber); userActivityRegistered.setUserActivityId(userActivity.getId()); userActivityRegistered.setEffective(registEffective); userActivityRegistered.setTotalPrice(registerPrice); userActivityRegistered.setLavePrice(registerPrice); userActivityRegistered.insertOrUpdate(); } //添加邀请奖励 if(inviteCouponId!=null){ UserActivityInvite userActivityInvite = new UserActivityInvite(); userActivityInvite.setCouponId(inviteCouponId); userActivityInvite.setEnable(inviteEnable); userActivityInvite.setEndTime(endTimes); userActivityInvite.setStartTime(startTimes); userActivityInvite.setTotalNum(inviteNumber); userActivityInvite.setLaveNum(inviteNumber); userActivityInvite.setUserActivityId(userActivity.getId()); userActivityInvite.setEffective(inviteEffective); userActivityInvite.setTotalPrice(invitationPrice); userActivityInvite.setLavePrice(invitationPrice); userActivityInvite.insertOrUpdate(); } //添加充值赠送 JSONArray jsonArray = JSON.parseArray(balanceInfo); if(jsonArray.size()>0){ for(int i=0;i().eq("userActivityId",id)); userActivityDiscount1Service.delete(new EntityWrapper().eq("userActivityId",id)); userActivityInviteService.delete(new EntityWrapper().eq("userActivityId",id)); userActivityRedenvelopeService.delete(new EntityWrapper().eq("userActivityId",id)); userActivityRegisteredService.delete(new EntityWrapper().eq("userActivityId",id)); //添加注册奖励 if(registCouponId!=null){ UserActivityRegistered userActivityRegistered = new UserActivityRegistered(); userActivityRegistered.setCouponId(registCouponId); userActivityRegistered.setEnable(registEnable); userActivityRegistered.setEndTime(endTimes); userActivityRegistered.setStartTime(startTimes); userActivityRegistered.setTotalNum(registNumber); userActivityRegistered.setLaveNum(registNumber); userActivityRegistered.setUserActivityId(userActivity.getId()); userActivityRegistered.setEffective(registEffective); userActivityRegistered.setTotalPrice(registerPrice); userActivityRegistered.setLavePrice(registerPrice); userActivityRegistered.insertOrUpdate(); } //添加邀请奖励 if(inviteCouponId!=null){ UserActivityInvite userActivityInvite = new UserActivityInvite(); userActivityInvite.setCouponId(inviteCouponId); userActivityInvite.setEnable(inviteEnable); userActivityInvite.setEndTime(endTimes); userActivityInvite.setStartTime(startTimes); userActivityInvite.setTotalNum(inviteNumber); userActivityInvite.setLaveNum(inviteNumber); userActivityInvite.setUserActivityId(userActivity.getId()); userActivityInvite.setEffective(inviteEffective); userActivityInvite.setTotalPrice(invitationPrice); userActivityInvite.setLavePrice(invitationPrice); userActivityInvite.insertOrUpdate(); } //添加充值赠送 JSONArray jsonArray = JSON.parseArray(balanceInfo); if(jsonArray.size()>0){ for(int i=0;i queryUserActivityList(Integer uid, Date start, Date end, String name, Integer status, Integer offset, Integer limit) { Map map = new HashMap<>(); Integer objectId = userService.selectById(uid).getObjectId(); List> list = userActivityMapper.queryUserActivityList(objectId, start, end, name, status, offset, limit); int i = userActivityMapper.queryUserActivityListCount(objectId, start, end, name, status); map.put("rows", list); map.put("total", i); return map; } }