package com.dsh.guns.modular.system.controller.general;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.dsh.course.feignClient.activity.UserActivityClient;
|
import com.dsh.course.feignClient.activity.model.LargeCouponUpdateReq;
|
import com.dsh.course.feignClient.activity.model.UserLargeCouponReq;
|
import com.dsh.course.feignClient.order.OrderPrivateCarClient;
|
import com.dsh.course.feignClient.order.model.LargeListReq;
|
import com.dsh.course.feignClient.order.model.LargerAllReq;
|
import com.dsh.course.mapper.SysCouponRecordMapper;
|
import com.dsh.guns.config.UserExt;
|
import com.dsh.guns.core.base.controller.BaseController;
|
import com.dsh.guns.core.support.HttpKit;
|
import com.dsh.guns.core.util.SinataUtil;
|
import com.dsh.guns.modular.system.model.*;
|
import com.dsh.guns.modular.system.service.ITAuditRecordService;
|
import com.dsh.guns.modular.system.service.ITUserLargeService;
|
import com.dsh.guns.modular.system.util.DateUtil;
|
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 javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* 大额优惠券
|
*
|
* @author fengshuonan
|
* @Date 2020-06-05 14:31:28
|
*/
|
@Controller
|
@RequestMapping("/tUserLarge")
|
public class TUserLargeController extends BaseController {
|
|
private String PREFIX = "/system/tUserLargeCoupon/";
|
|
@Autowired
|
private ITUserLargeService userLargeService;
|
|
@Autowired
|
private UserActivityClient activityClient;
|
|
@Resource
|
private SysCouponRecordMapper sysCouponRecordMapper;
|
|
@Autowired
|
private OrderPrivateCarClient orderPrivateCarClient;
|
|
@Autowired
|
private ITAuditRecordService recordService;
|
|
/**
|
* 跳转到车辆类型管理首页
|
*/
|
@RequestMapping("")
|
public String index(Model model) {
|
model.addAttribute("language", UserExt.getLanguage());
|
model.addAttribute("companyId", UserExt.getUser().getObjectId());
|
return PREFIX + "tUserLargeCoupon.html";
|
}
|
|
/**
|
* 跳转到添加车辆类型管理
|
*/
|
@RequestMapping("/tUserLarge_add")
|
public String tCarModelAdd(Model model) {
|
model.addAttribute("language", UserExt.getLanguage());
|
return PREFIX + "tUserLargeCoupon_add.html";
|
}
|
@RequestMapping("/tUserLarge_audit/{tCarModelId}")
|
public String tCarModelAudit(@PathVariable Integer tCarModelId,Model model) {
|
model.addAttribute("language", UserExt.getLanguage());
|
model.addAttribute("id", tCarModelId);
|
return PREFIX + "immediately.html";
|
}
|
|
/**
|
* 跳转到修改车辆类型管理
|
*/
|
@RequestMapping("/tUserLarge_update/{tCarModelId}")
|
public String tCarModelUpdate(@PathVariable Integer tCarModelId, Model model) {
|
TUserLargeCoupon tUserLargeCoupon = activityClient.getUserLargeCouponFromId(tCarModelId);
|
model.addAttribute("item",tUserLargeCoupon);
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
model.addAttribute("language",UserExt.getLanguage());
|
model.addAttribute("sTime",format.format(tUserLargeCoupon.getStartTime()));
|
model.addAttribute("eTime",format.format(tUserLargeCoupon.getEndTime()));
|
return PREFIX + "tUserLargeCoupon_edit.html";
|
}
|
|
@RequestMapping("/tUserLarge_all")
|
public String tUserLargeAll(Model model) {
|
model.addAttribute("language",UserExt.getLanguage());
|
// List<Integer> collect = sysCouponRecordMapper.selectList(new LambdaQueryWrapper<SysCouponRecord>().eq(SysCouponRecord::getCouponType, 3)).stream().map(SysCouponRecord::getId).collect(Collectors.toList());
|
List<Integer> ids =activityClient.getLargeCouponIds();
|
Map<String,Object> map = new HashMap<>();
|
if(ids.size()>0){
|
map = orderPrivateCarClient.tUserLargeAll(new LargerAllReq(ids,null,null));
|
}else {
|
map.put("allMoney",0);
|
map.put("num",0);
|
map.put("userNum",0);
|
map.put("money",0);
|
}
|
model.addAttribute("map",map);
|
return PREFIX + "tUserLargeCoupon_all.html";
|
}
|
|
/**
|
* 获取车辆类型管理列表
|
*/
|
@RequestMapping(value = "/list")
|
@ResponseBody
|
public Object list(String createTime,
|
String name,Integer status) {
|
String beginTime = null;
|
String endTime = null;
|
if (SinataUtil.isNotEmpty(createTime)){
|
String[] timeArray = createTime.split(" - ");
|
beginTime = timeArray[0];
|
endTime = timeArray[1];
|
}
|
HttpServletRequest request = HttpKit.getRequest();
|
int limit = Integer.valueOf(request.getParameter("limit")); //每页多少条数据
|
int offset = Integer.valueOf(request.getParameter("offset"));
|
|
// 远程activity
|
Page<Map<String, Object>> userLargeCoupons = activityClient.getUserLargeCoupon(new UserLargeCouponReq(limit,offset, beginTime, endTime, name, status,UserExt.getUser().getObjectId()));
|
return super.packForBT(userLargeCoupons);
|
}
|
/**
|
* 获取车辆类型管理列表
|
*/
|
@RequestMapping(value = "/largeList")
|
@ResponseBody
|
public Object list(String useTime,
|
String user,String phone,String couponName ,String number) {
|
String beginTime = null;
|
String endTime = null;
|
if (SinataUtil.isNotEmpty(useTime)){
|
String[] timeArray = useTime.split(" - ");
|
beginTime = timeArray[0];
|
endTime = timeArray[1];
|
}
|
HttpServletRequest request = HttpKit.getRequest();
|
int limit = Integer.valueOf(request.getParameter("limit")); //每页多少条数据
|
int offset = Integer.valueOf(request.getParameter("offset"));
|
LambdaQueryWrapper<SysCouponRecord> like = new LambdaQueryWrapper<SysCouponRecord>().eq(SysCouponRecord::getCouponType, 3);
|
if(Objects.nonNull(couponName)){
|
like.like(SysCouponRecord::getName, couponName);
|
}
|
List<SysCouponRecord> sysCouponRecords = sysCouponRecordMapper.selectList(like);
|
|
|
Page<Map<String, Object>> userLargeCoupons =new Page<>();
|
if(sysCouponRecords.size()>0) {
|
List<Integer> ids = sysCouponRecords.stream().map(SysCouponRecord::getId).collect(Collectors.toList());
|
// 远程activity
|
userLargeCoupons = orderPrivateCarClient.largeList(new LargeListReq(limit, offset, beginTime, endTime, user, phone, number,ids));
|
List<Map<String, Object>> records = userLargeCoupons.getRecords();
|
for (Map<String, Object> record : records) {
|
for (SysCouponRecord sysCouponRecord : sysCouponRecords) {
|
if(record.get("cId")!=null) {
|
String couponId = record.get("cId").toString();
|
if (couponId.equals(sysCouponRecord.getId().toString())) {
|
record.put("couponName", sysCouponRecord.getName());
|
}
|
}
|
}
|
}
|
}
|
return super.packForBT(userLargeCoupons);
|
}
|
|
/**
|
* 新增车辆类型管理
|
*/
|
@RequestMapping(value = "/add")
|
@ResponseBody
|
public Object add(TUserLargeCoupon tUserLargeCoupon,Integer type,String time) {
|
String[] split = time.split(" - ");
|
tUserLargeCoupon.setStartTime(DateUtil.parseDateOne(split[0]+" 00:00:00"));
|
tUserLargeCoupon.setEndTime(DateUtil.parseDateOne(split[1]+" 23:59:59"));
|
tUserLargeCoupon.setType(type);
|
tUserLargeCoupon.setCompanyId(UserExt.getUser().getObjectId());
|
activityClient.addLargeCoupon(tUserLargeCoupon);
|
return SUCCESS_TIP;
|
}
|
|
|
@RequestMapping(value = "/immediately")
|
@ResponseBody
|
public Object immediately(Integer id,String remark,Integer state) {
|
TUserLargeCoupon tUserLargeCoupon = activityClient.updateLargeCounpon(new LargeCouponUpdateReq(id,state,remark));
|
TAuditRecord tAuditRecord = new TAuditRecord();
|
if(state==3){
|
tAuditRecord.setAuditStatus(2);
|
}else {
|
tAuditRecord.setAuditStatus(3);
|
}
|
tAuditRecord.setActivityId(tUserLargeCoupon.getId());
|
tAuditRecord.setActivityName(tUserLargeCoupon.getName());
|
tAuditRecord.setActivityType(4);
|
tAuditRecord.setAuditTime(new Date());
|
tAuditRecord.setAuditUserId(UserExt.getUser().getId());
|
tAuditRecord.setRemark(remark);
|
recordService.save(tAuditRecord);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 删除车辆类型管理
|
*/
|
@RequestMapping(value = "/updateStatus")
|
@ResponseBody
|
public Object updateStatus(@RequestParam Integer tCarModelId) {
|
activityClient.updateStatusFromId(tCarModelId);
|
return SUCCESS_TIP;
|
}
|
|
@RequestMapping(value = "/updateTime")
|
@ResponseBody
|
public Object updateTime(@RequestParam String time) {
|
String sTime=null;
|
String eTime=null;
|
if(time!=null && time !=""){
|
sTime =time.split(" - ")[0];
|
eTime =time.split(" - ")[1];
|
}
|
// List<Integer> collect = sysCouponRecordMapper.selectList(new LambdaQueryWrapper<SysCouponRecord>().eq(SysCouponRecord::getCouponType, 3)).stream().map(SysCouponRecord::getId).collect(Collectors.toList());
|
List<Integer> ids =activityClient.getLargeCouponIds();
|
Map<String,Object> map = new HashMap<>();
|
if(ids.size()>0){
|
map = orderPrivateCarClient.tUserLargeAll(new LargerAllReq(ids,sTime,eTime));
|
}else {
|
map.put("allMoney",0);
|
map.put("num",0);
|
map.put("userNum",0);
|
map.put("money",0);
|
}
|
return map;
|
}
|
|
/**
|
* 修改车辆类型管理
|
*/
|
@RequestMapping(value = "/update")
|
@ResponseBody
|
public Object update(TCarModel tCarModel,Integer language) {
|
tCarModel.setLanguage(language);
|
return SUCCESS_TIP;
|
}
|
|
}
|