package com.stylefeng.guns.modular.system.controller.general;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
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.log.LogObjectHolder;
|
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.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import java.math.BigDecimal;
|
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<UserActivityRegistered>().eq("userActivityId", activityId));
|
UserActivityInvite userActivityInvite = userActivityInviteService.selectOne(new EntityWrapper<UserActivityInvite>().eq("userActivityId", activityId));
|
UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectOne(new EntityWrapper<UserActivityDiscount1>().eq("userActivityId", activityId));
|
UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeService.selectOne(new EntityWrapper<UserActivityRedenvelope>().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<String, Object> map = new HashMap<>();
|
Double totalMOney = 0d;
|
UserActivityRegistered userActivityRegistered = userActivityRegisteredService.selectOne(new EntityWrapper<UserActivityRegistered>().eq("userActivityId", activityId));
|
UserActivityInvite userActivityInvite = userActivityInviteService.selectOne(new EntityWrapper<UserActivityInvite>().eq("userActivityId", activityId));
|
UserActivityDiscount1 userActivityDiscount1 = userActivityDiscount1Service.selectOne(new EntityWrapper<UserActivityDiscount1>().eq("userActivityId", activityId));
|
UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeService.selectOne(new EntityWrapper<UserActivityRedenvelope>().eq("userActivityId", activityId));
|
if (SinataUtil.isNotEmpty(userActivityRegistered)) {
|
Map<String, Object> resultMap = userCouponRecordService.getCouponStatic(startTimes, endTimes, userActivityRegistered.getId(), 2);
|
if (null != resultMap) {
|
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);
|
}
|
} else {
|
map.put("userActivityRegisteredMoney", 0);
|
map.put("userActivityRegisteredNumber", 0);
|
map.put("userActivityRegisteredUseMoney", 0);
|
}
|
if (SinataUtil.isNotEmpty(userActivityInvite)) {
|
Map<String, Object> resultMap = userCouponRecordService.getCouponStatic(startTimes, endTimes, userActivityInvite.getId(), 3);
|
if (null != resultMap) {
|
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);
|
}
|
} else {
|
map.put("userActivityInviteMoney", 0);
|
map.put("userActivityInviteNumber", 0);
|
map.put("userActivityInviteUseMoney", 0);
|
}
|
if (SinataUtil.isNotEmpty(userActivityDiscount1)) {
|
// 专车
|
Map<String, Object> resultMap = userCouponRecordService.getDiscountStatic(startTimes, endTimes, userActivityDiscount1.getId());
|
BigDecimal bigDecimal = new BigDecimal(resultMap.get("money").toString());
|
String string = resultMap.get("number").toString();
|
Integer i = Integer.valueOf(string);
|
// 小件物流
|
Map<String, Object> resultMap1 = userCouponRecordService.getDiscountStatic1(startTimes, endTimes, userActivityDiscount1.getId());
|
if (null != resultMap1) {
|
BigDecimal bigDecimal1 = new BigDecimal(resultMap1.get("money").toString());
|
String string1 = resultMap1.get("number").toString();
|
Integer i1 = Integer.valueOf(string1);
|
BigDecimal add = bigDecimal.add(bigDecimal1);
|
i += i1;
|
map.put("userActivityDiscount1Money", add);
|
map.put("userActivityDiscount1Number", i);
|
} else {
|
map.put("userActivityDiscount1Money", 0);
|
map.put("userActivityDiscount1Number", 0);
|
}
|
} else {
|
map.put("userActivityDiscount1Money", 0);
|
map.put("userActivityDiscount1Number", 0);
|
}
|
if (SinataUtil.isNotEmpty(userActivityRedenvelope)) {
|
Map<String, Object> resultMap = userCouponRecordService.getRedStatic(startTimes, endTimes, userActivityRedenvelope.getId());
|
if (null != resultMap) {
|
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);
|
}
|
} else {
|
map.put("userActivityRedenvelopeMoney", 0);
|
map.put("userActivityRedenvelopeNumber", 0);
|
map.put("userActivityRedenvelopeUseMoney", 0);
|
}
|
Map<String, Object> resultMap = userCouponRecordService.getRegStatic(startTimes, endTimes, activityId);
|
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<UserActivityRegistered>().eq("userActivityId", userActivity.getId()));
|
model.addAttribute("item1", userActivityRegistered);
|
if (userActivityRegistered != null) {
|
model.addAttribute("item1Coupon", sysCouponRecordService.selectById(userActivityRegistered.getCouponId()));
|
}
|
UserActivityInvite userActivityInvite = userActivityInviteService.selectOne(new EntityWrapper<UserActivityInvite>().eq("userActivityId", userActivity.getId()));
|
model.addAttribute("item2", userActivityInvite);
|
if (userActivityInvite != null) {
|
model.addAttribute("item2Coupon", sysCouponRecordService.selectById(userActivityInvite.getCouponId()));
|
}
|
List<UserActivityBalance> balanceInfoList = userActivityBalanceService.selectList(new EntityWrapper<UserActivityBalance>().eq("userActivityId", userActivity.getId()));
|
model.addAttribute("balanceInfoList", balanceInfoList);
|
model.addAttribute("item4", userActivityDiscount1Service.selectOne(new EntityWrapper<UserActivityDiscount1>().eq("userActivityId", userActivity.getId())));
|
UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeService.selectOne(new EntityWrapper<UserActivityRedenvelope>().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<Map<String, Object>> page = new PageFactory<Map<String, Object>>().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();
|
Map<String, Object> map = userActivityService.queryUserActivityList(uid, startTimes, endTimes, name, status, offset, limit);
|
return map;
|
}
|
|
/**
|
* @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, Double discountDistance, Integer discountOrderNum) {
|
userActivityService.insertOrUpdate(null, name, startTime, registCouponId,
|
registEnable, registNumber, registEffective,
|
inviteCouponId, inviteEnable, inviteNumber, inviteEffective,
|
balanceEnable, balanceInfo,
|
discountEnable, discountSpecial, discountTaxi, discountLogistics,
|
redenvelopeId, redenvelopeEnable, registerPrice, invitationPrice, redPrice, discountDistance, discountOrderNum);
|
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, Double discountDistance, Integer discountOrderNum) {
|
userActivityService.insertOrUpdate(id, name, startTime, registCouponId,
|
registEnable, registNumber, registEffective,
|
inviteCouponId, inviteEnable, inviteNumber, inviteEffective,
|
balanceEnable, balanceInfo,
|
discountEnable, discountSpecial, discountTaxi, discountLogistics,
|
redenvelopeId, redenvelopeEnable, registerPrice, invitationPrice, redPrice, discountDistance, discountOrderNum);
|
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<UserActivityRegistered>().eq("userActivityId", userActivity.getId()));
|
model.addAttribute("item1", userActivityRegistered);
|
if (userActivityRegistered != null) {
|
model.addAttribute("item1Coupon", sysCouponRecordService.selectById(userActivityRegistered.getCouponId()));
|
}
|
UserActivityInvite userActivityInvite = userActivityInviteService.selectOne(new EntityWrapper<UserActivityInvite>().eq("userActivityId", userActivity.getId()));
|
model.addAttribute("item2", userActivityInvite);
|
if (userActivityInvite != null) {
|
model.addAttribute("item2Coupon", sysCouponRecordService.selectById(userActivityInvite.getCouponId()));
|
}
|
List<UserActivityBalance> balanceInfoList = userActivityBalanceService.selectList(new EntityWrapper<UserActivityBalance>().eq("userActivityId", userActivity.getId()));
|
model.addAttribute("balanceInfoList", balanceInfoList);
|
model.addAttribute("item4", userActivityDiscount1Service.selectOne(new EntityWrapper<UserActivityDiscount1>().eq("userActivityId", userActivity.getId())));
|
UserActivityRedenvelope userActivityRedenvelope = userActivityRedenvelopeService.selectOne(new EntityWrapper<UserActivityRedenvelope>().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;
|
}
|
}
|