package com.stylefeng.guns.modular.system.controller.general; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.common.constant.factory.PageFactory; import com.stylefeng.guns.core.page.PageInfoBT; 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.service.*; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.beans.factory.annotation.Autowired; import com.stylefeng.guns.core.log.LogObjectHolder; import org.springframework.web.bind.annotation.RequestParam; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 控制器 * * @author fengshuonan * @Date 2020-06-19 14:32:29 */ @Controller @RequestMapping("/userActivity") public class UserActivityController extends BaseController { private String PREFIX = "/system/userActivity/"; @Autowired private IUserActivityService userActivityService; @Autowired private IUserActivityBalanceService userActivityBalanceService; @Autowired private IUserActivityDiscount1Service userActivityDiscount1Service; @Autowired private IUserActivityInviteService userActivityInviteService; @Autowired private IUserActivityRedenvelopeService userActivityRedenvelopeService; @Autowired private IUserActivityRegisteredService userActivityRegisteredService; @Autowired private ISysCouponRecordService sysCouponRecordService; @Autowired private ISysRedPacketRecordService sysRedPacketRecordService; @Autowired private IUserCouponRecordService userCouponRecordService; @Autowired private ITUserRedPacketRecordService redPacketRecordService; /** * 跳转领取统计 * @return */ @RequestMapping("/receiveRecord") public String receiveRecord(Model model,Integer activityId){ model.addAttribute("activityId",activityId); UserActivity userActivity = userActivityService.selectById(activityId); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); model.addAttribute("startTime", sdf.format(userActivity.getStartTime())); model.addAttribute("endTime", sdf.format(userActivity.getEndTime())); UserActivityRegistered userActivityRegistered = userActivityRegisteredService.selectOne(new EntityWrapper().eq("userActivityId",activityId)); UserActivityInvite userActivityInvite = userActivityInviteService.selectOne(new EntityWrapper().eq("userActivityId",activityId)); UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectOne(new EntityWrapper().eq("userActivityId",activityId)); UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeService.selectOne(new EntityWrapper().eq("userActivityId",activityId)); if(SinataUtil.isNotEmpty(userActivityRegistered)){ model.addAttribute("userActivityRegisteredId",userActivityRegistered.getId()); }else{ model.addAttribute("userActivityRegisteredId",0); } if(SinataUtil.isNotEmpty(userActivityInvite)){ model.addAttribute("userActivityInviteId",userActivityInvite.getId()); }else{ model.addAttribute("userActivityInviteId",0); } if(SinataUtil.isNotEmpty(userActivityDiscount1)){ model.addAttribute("userActivityDiscount1Id",userActivityDiscount1.getId()); }else{ model.addAttribute("userActivityDiscount1Id",0); } if(SinataUtil.isNotEmpty(userActivityRedenvelope)){ model.addAttribute("userActivityRedenvelopeId",userActivityRedenvelope.getId()); }else{ model.addAttribute("userActivityRedenvelopeId",0); } return PREFIX + "receiveRecord.html"; } @RequestMapping(value = "/receiveRecordDetail") @ResponseBody public Object receiveRecordDetail(String createTime,Integer activityId) { String startTimes = null; String endTimes = null; if (SinataUtil.isNotEmpty(createTime)){ String[] timeArray = createTime.split(" - "); startTimes = timeArray[0]; endTimes = timeArray[1]; }else{ UserActivity userActivity = userActivityService.selectById(activityId); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); startTimes=sdf.format(userActivity.getStartTime()); endTimes=sdf.format(userActivity.getEndTime()); } Map map = new HashMap<>(); Double totalMOney=0d; UserActivityRegistered userActivityRegistered = userActivityRegisteredService.selectOne(new EntityWrapper().eq("userActivityId",activityId)); UserActivityInvite userActivityInvite = userActivityInviteService.selectOne(new EntityWrapper().eq("userActivityId",activityId)); UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectOne(new EntityWrapper().eq("userActivityId",activityId)); UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeService.selectOne(new EntityWrapper().eq("userActivityId",activityId)); if(SinataUtil.isNotEmpty(userActivityRegistered)){ Map resultMap = userCouponRecordService.getCouponStatic(startTimes,endTimes,userActivityRegistered.getId(),2); totalMOney+=Double.parseDouble(resultMap.get("money").toString()); map.put("userActivityRegisteredMoney",resultMap.get("money")); map.put("userActivityRegisteredNumber",resultMap.get("number")); map.put("userActivityRegisteredUseMoney",resultMap.get("useMoney")); }else{ map.put("userActivityRegisteredMoney",0); map.put("userActivityRegisteredNumber",0); map.put("userActivityRegisteredUseMoney",0); } if(SinataUtil.isNotEmpty(userActivityInvite)){ Map resultMap = userCouponRecordService.getCouponStatic(startTimes,endTimes,userActivityInvite.getId(),3); totalMOney+=Double.parseDouble(resultMap.get("money").toString()); map.put("userActivityInviteMoney",resultMap.get("money")); map.put("userActivityInviteNumber",resultMap.get("number")); map.put("userActivityInviteUseMoney",resultMap.get("useMoney")); }else{ map.put("userActivityInviteMoney",0); map.put("userActivityInviteNumber",0); map.put("userActivityInviteUseMoney",0); } if(SinataUtil.isNotEmpty(userActivityDiscount1)){ Map resultMap = userCouponRecordService.getDiscountStatic(startTimes,endTimes,userActivityDiscount1.getId()); map.put("userActivityDiscount1Money",resultMap.get("money")); map.put("userActivityDiscount1Number",resultMap.get("number")); }else{ map.put("userActivityDiscount1Money",0); map.put("userActivityDiscount1Number",0); } if(SinataUtil.isNotEmpty(userActivityRedenvelope)){ Map resultMap = userCouponRecordService.getRedStatic(startTimes,endTimes,userActivityRedenvelope.getId()); totalMOney+=Double.parseDouble(resultMap.get("money").toString()); map.put("userActivityRedenvelopeMoney",resultMap.get("money")); map.put("userActivityRedenvelopeNumber",resultMap.get("number")); map.put("userActivityRedenvelopeUseMoney",resultMap.get("useMoney")); }else{ map.put("userActivityRedenvelopeMoney",0); map.put("userActivityRedenvelopeNumber",0); map.put("userActivityRedenvelopeUseMoney",0); } Map resultMap = userCouponRecordService.getRegStatic(startTimes,endTimes,activityId); totalMOney+=Double.parseDouble(resultMap.get("money").toString()); map.put("totalMOney",totalMOney); return map; } /** * 跳转到首页 */ @RequestMapping("") public String index() { return PREFIX + "userActivity.html"; } /** * 跳转添加注册送优惠券页面 * @return */ @RequestMapping("addRegist") public String addRegist() { return PREFIX + "addRegist.html"; } /** * 跳转红包选择页面 * @return */ @RequestMapping("/sysRedPacketRecord") public String sysRedPacketRecord() { return PREFIX + "sysRedPacketRecord.html"; } /** * 跳转到选择优惠券页面 * @return */ @RequestMapping("/sysCouponRecord") public String sysCouponRecord() { return PREFIX + "sysCouponRecord.html"; } @RequestMapping("/sysCouponRecord1") public String sysCouponRecord1() { return PREFIX + "sysCouponRecord1.html"; } @RequestMapping("/sysCouponRecord2") public String sysCouponRecord2(Model model,Integer type) { model.addAttribute("type",type); return PREFIX + "sysCouponRecord2.html"; } /** * 跳转到添加 */ @RequestMapping("/userActivity_add") public String userActivityAdd() { return PREFIX + "userActivity_add.html"; } /** * 跳转到修改 */ @RequestMapping("/userActivity_update/{userActivityId}") public String userActivityUpdate(@PathVariable Integer userActivityId, Model model) { UserActivity userActivity = userActivityService.selectById(userActivityId); model.addAttribute("item",userActivity); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); model.addAttribute("startTime", sdf.format(userActivity.getStartTime())); model.addAttribute("endTime", sdf.format(userActivity.getEndTime())); UserActivityRegistered userActivityRegistered = userActivityRegisteredService.selectOne(new EntityWrapper().eq("userActivityId",userActivity.getId())); model.addAttribute("item1",userActivityRegistered); if(userActivityRegistered!=null){ model.addAttribute("item1Coupon",sysCouponRecordService.selectById(userActivityRegistered.getCouponId())); } UserActivityInvite userActivityInvite = userActivityInviteService.selectOne(new EntityWrapper().eq("userActivityId",userActivity.getId())); model.addAttribute("item2",userActivityInvite); if(userActivityInvite!=null){ model.addAttribute("item2Coupon",sysCouponRecordService.selectById(userActivityInvite.getCouponId())); } List balanceInfoList = userActivityBalanceService.selectList(new EntityWrapper().eq("userActivityId",userActivity.getId())); model.addAttribute("balanceInfoList",balanceInfoList); model.addAttribute("item4",userActivityDiscount1Service.selectOne(new EntityWrapper().eq("userActivityId",userActivity.getId()))); UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeService.selectOne(new EntityWrapper().eq("userActivityId",userActivity.getId())); model.addAttribute("item5",userActivityRedenvelope); if(userActivityRedenvelope!=null){ model.addAttribute("item5Red",sysRedPacketRecordService.selectById(userActivityRedenvelope.getRedEnvelopeId())); } LogObjectHolder.me().set(userActivity); return PREFIX + "userActivity_edit.html"; } /** * 获取列表 */ @RequestMapping(value = "/blanceList") @ResponseBody public Object blanceList(String createTime,Integer activityId) { ShiroUser user = ShiroKit.getUser(); String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(createTime)){ String[] timeArray = createTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } Page> page = new PageFactory>().defaultPage(); page.setRecords(userCouponRecordService.getBlanceList(page,beginTime,endTime,activityId)); return super.packForBT(page); } /** * 获取列表 */ @RequestMapping(value = "/list") @ResponseBody public Object list(String createTime,String name,Integer status, Integer offset, Integer limit) { Date startTimes = null; Date endTimes = null; if (SinataUtil.isNotEmpty(createTime)){ String[] timeArray = createTime.split(" - "); startTimes = DateUtil.getDate_str3(timeArray[0]+" 00:00:00"); endTimes = DateUtil.getDate_str3(timeArray[1]+" 23:59:59"); } Integer uid = ShiroKit.getUser().getId(); return userActivityService.queryUserActivityList(uid, startTimes, endTimes, name, status, offset, limit); } /** * * @param name 活动时间 * @param startTime 时间区间 * @param registCouponId 注册活动-优惠券id * @param registEnable 注册活动-是否启动(1=不启动,2=启动) * @param registNumber 注册活动-优惠券数量 * @param registEffective 注册活动-优惠券有效期 * @param inviteCouponId 邀请活动-优惠券id * @param inviteEnable 邀请活动-是否启动(1=不启动,2=启动) * @param inviteNumber 邀请活动-优惠券数量 * @param inviteEffective 邀请活动-优惠券有效期 * @param balanceEnable 充值活动-是否启动(1=不启动,2=启动) * @param balanceInfo 充值活动-详情 * @param discountEnable 折扣活动-是否启动(1=不启动,2=启动) * @param discountSpecial 折扣活动-专车 * @param discountTaxi 折扣活动-出租车 * @param discountLogistics 折扣活动-小件物流 * @param redenvelopeId -红包活动-红包id * @param redenvelopeEnable 红包活动-是否启动(1=不启动,2=启动) * @return */ @RequestMapping(value = "/add") @ResponseBody public Object add(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) { userActivityService.insertOrUpdate(null,name,startTime, registCouponId, registEnable, registNumber, registEffective, inviteCouponId, inviteEnable, inviteNumber, inviteEffective, balanceEnable, balanceInfo, discountEnable, discountSpecial, discountTaxi, discountLogistics, redenvelopeId, redenvelopeEnable, registerPrice, invitationPrice, redPrice); return SUCCESS_TIP; } /** * 删除 */ @RequestMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam Integer userActivityId) { userActivityService.deleteById(userActivityId); return SUCCESS_TIP; } /** * * @param name 活动时间 * @param startTime 时间区间 * @param registCouponId 注册活动-优惠券id * @param registEnable 注册活动-是否启动(1=不启动,2=启动) * @param registNumber 注册活动-优惠券数量 * @param registEffective 注册活动-优惠券有效期 * @param inviteCouponId 邀请活动-优惠券id * @param inviteEnable 邀请活动-是否启动(1=不启动,2=启动) * @param inviteNumber 邀请活动-优惠券数量 * @param inviteEffective 邀请活动-优惠券有效期 * @param balanceEnable 充值活动-是否启动(1=不启动,2=启动) * @param balanceInfo 充值活动-详情 * @param discountEnable 折扣活动-是否启动(1=不启动,2=启动) * @param discountSpecial 折扣活动-专车 * @param discountTaxi 折扣活动-出租车 * @param discountLogistics 折扣活动-小件物流 * @param redenvelopeId -红包活动-红包id * @param redenvelopeEnable 红包活动-是否启动(1=不启动,2=启动) * @return */ @RequestMapping(value = "/update") @ResponseBody public Object update(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) { userActivityService.insertOrUpdate(id,name,startTime, registCouponId, registEnable, registNumber, registEffective, inviteCouponId, inviteEnable, inviteNumber, inviteEffective, balanceEnable, balanceInfo, discountEnable, discountSpecial, discountTaxi, discountLogistics, redenvelopeId, redenvelopeEnable, registerPrice, invitationPrice, redPrice); return SUCCESS_TIP; } /** * 修改状态 * @param driverActivity * @return */ @RequestMapping(value = "/updateStatus") @ResponseBody public Object updateStatus(UserActivity driverActivity) { userActivityService.updateById(driverActivity); return SUCCESS_TIP; } /** * 详情 */ @RequestMapping(value = "/userActivity_detail/{userActivityId}") public Object detail(@PathVariable("userActivityId") Integer userActivityId,Model model) { UserActivity userActivity = userActivityService.selectById(userActivityId); model.addAttribute("item",userActivity); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); model.addAttribute("startTime", sdf.format(userActivity.getStartTime())); model.addAttribute("endTime", sdf.format(userActivity.getEndTime())); UserActivityRegistered userActivityRegistered = userActivityRegisteredService.selectOne(new EntityWrapper().eq("userActivityId",userActivity.getId())); model.addAttribute("item1",userActivityRegistered); if(userActivityRegistered!=null){ model.addAttribute("item1Coupon",sysCouponRecordService.selectById(userActivityRegistered.getCouponId())); } UserActivityInvite userActivityInvite = userActivityInviteService.selectOne(new EntityWrapper().eq("userActivityId",userActivity.getId())); model.addAttribute("item2",userActivityInvite); if(userActivityInvite!=null){ model.addAttribute("item2Coupon",sysCouponRecordService.selectById(userActivityInvite.getCouponId())); } List balanceInfoList = userActivityBalanceService.selectList(new EntityWrapper().eq("userActivityId",userActivity.getId())); model.addAttribute("balanceInfoList",balanceInfoList); model.addAttribute("item4",userActivityDiscount1Service.selectOne(new EntityWrapper().eq("userActivityId",userActivity.getId()))); UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeService.selectOne(new EntityWrapper().eq("userActivityId",userActivity.getId())); model.addAttribute("item5",userActivityRedenvelope); if(userActivityRedenvelope!=null){ model.addAttribute("item5Red",sysRedPacketRecordService.selectById(userActivityRedenvelope.getRedEnvelopeId())); } return PREFIX + "userActivity_detail.html"; } /** * 跳转到立即处理页面 */ @RequestMapping("/userActivity_immediately/{id}") public String userActivityImmediately(@PathVariable Integer id, Model model) { model.addAttribute("id",id); return PREFIX + "userActivity_immediately.html"; } /** * 立即处理操作 */ @RequestMapping(value = "/immediately") @ResponseBody public Object immediately(@RequestParam Integer id,@RequestParam Integer state,@RequestParam String remark) { UserActivity userActivity = userActivityService.selectById(id); if (SinataUtil.isNotEmpty(userActivity)){ userActivity.setStatus(state); userActivity.setRemark(remark); userActivityService.updateById(userActivity); } return SUCCESS_TIP; } }