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.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);
|
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<String,Object> 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<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());
|
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);
|
}
|
if(SinataUtil.isNotEmpty(userActivityRedenvelope)){
|
Map<String,Object> 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<String,Object> 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<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;
|
}
|
}
|