package com.sinata.modular.mall.controller;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.baomidou.mybatisplus.mapper.Wrapper;
|
import com.baomidou.mybatisplus.plugins.Page;
|
import com.sinata.core.base.controller.BaseController;
|
import com.sinata.core.common.annotion.BussinessLog;
|
import com.sinata.core.common.annotion.Permission;
|
import com.sinata.core.common.constant.factory.PageFactory;
|
import com.sinata.core.log.LogObjectHolder;
|
import com.sinata.modular.mall.model.MallGoods;
|
import com.sinata.modular.mall.model.MallUserReport;
|
import com.sinata.modular.mall.service.IMallGoodsService;
|
import com.sinata.modular.mall.service.IMallUserReportService;
|
import com.sinata.modular.member.model.MemMerchant;
|
import com.sinata.modular.member.model.MemUser;
|
import com.sinata.modular.member.service.IMemMerchantService;
|
import com.sinata.modular.member.service.IMemUserBankDetailService;
|
import com.sinata.modular.member.service.IMemUserService;
|
import com.sinata.modular.system.service.ITNoticeMessageService;
|
import org.apache.commons.collections.CollectionUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.ui.Model;
|
import org.springframework.util.StringUtils;
|
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.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
|
/**
|
* 用户举报控制器
|
*
|
* @author goku
|
*/
|
@Controller
|
@RequestMapping("/mallUserReport")
|
public class MallUserReportController extends BaseController {
|
|
private String PREFIX = "/mall/mallUserReport/";
|
|
@Autowired
|
private IMallUserReportService mallUserReportService;
|
|
@Autowired
|
private IMemUserService memUserService;
|
|
@Autowired
|
private IMemMerchantService memMerchantService;
|
|
@Autowired
|
private IMallGoodsService mallGoodsService;
|
|
@Autowired
|
private IMemUserBankDetailService memUserBankDetailService;
|
|
@Autowired
|
private ITNoticeMessageService itNoticeMessageService;
|
|
/**
|
* 跳转到用户举报首页
|
*/
|
@RequestMapping("")
|
public String index() {
|
return PREFIX + "mallUserReport.html";
|
}
|
|
/**
|
* 跳转到添加用户举报
|
*/
|
@RequestMapping("/mallUserReport_add")
|
public String mallUserReportAdd() {
|
return PREFIX + "mallUserReport_add.html";
|
}
|
|
|
/**
|
* 跳转到添加用户举报
|
*/
|
@RequestMapping("/handler/{id}")
|
public String handler(@PathVariable String id, Model model) {
|
model.addAttribute("id", id);
|
model.addAllAttributes(mallUserReportService.selectList(new EntityWrapper<MallUserReport>().eq("id", id)));
|
return PREFIX + "mallUserReport_handler.html";
|
}
|
|
/**
|
* 跳转到修改用户举报
|
*/
|
@RequestMapping("/mallUserReport_update/{mallUserReportId}")
|
public String mallUserReportUpdate(@PathVariable Integer mallUserReportId, Model model) {
|
MallUserReport mallUserReport = mallUserReportService.selectById(mallUserReportId);
|
model.addAttribute("item", mallUserReport);
|
LogObjectHolder.me().set(mallUserReport);
|
return PREFIX + "mallUserReport_edit.html";
|
}
|
|
/**
|
* 获取用户举报列表
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/list")
|
public Object list(String beginTime, String endTime, String nikeName, String merchantName, String goodsName, Integer goodsId, Integer state) {
|
Page<Map<String, Object>> page = new PageFactory().defaultPage();
|
Wrapper wrapper = new EntityWrapper<MallUserReport>().orderBy("id", false);
|
|
// 时间搜索
|
if (!StringUtils.isEmpty(beginTime)) {
|
wrapper.ge("create_time", beginTime + " 00:00:00");
|
}
|
if (!StringUtils.isEmpty(endTime)) {
|
wrapper.le("create_time", endTime + " 23:59:59");
|
}
|
|
List<Integer> userIds = null;
|
if (!StringUtils.isEmpty(nikeName)) {
|
Wrapper<MemUser> memUserWrapper = new EntityWrapper<MemUser>().eq("is_delete", 0);
|
if (!StringUtils.isEmpty(nikeName)) {
|
memUserWrapper.like("nick_name", nikeName);
|
}
|
|
List<MemUser> memUserList = this.memUserService.selectList(memUserWrapper);
|
if (CollectionUtils.isNotEmpty(memUserList)) {
|
userIds = memUserList.stream().map(o -> o.getId()).collect(Collectors.toList());
|
}
|
}
|
if (CollectionUtils.isNotEmpty(userIds)) {
|
wrapper.in("user_id", userIds);
|
}
|
if (state != null) {
|
wrapper.eq("state", state);
|
}
|
|
List<Integer> memMerchantIds = null;
|
if (!StringUtils.isEmpty(merchantName)) {
|
Wrapper<MemMerchant> memMerchantWrapper = new EntityWrapper<MemMerchant>().eq("is_delete", 0);
|
memMerchantWrapper.like("merchant_name", merchantName).orNew().like("id", merchantName);
|
|
List<MemMerchant> memMerchantList = this.memMerchantService.selectList(memMerchantWrapper);
|
if (CollectionUtils.isNotEmpty(memMerchantList)) {
|
memMerchantIds = memMerchantList.stream().map(o -> o.getId()).collect(Collectors.toList());
|
}
|
}
|
if (CollectionUtils.isNotEmpty(memMerchantIds)) {
|
wrapper.in("merchant_id", memMerchantIds);
|
}
|
|
List<Integer> goodIds = null;
|
if (!StringUtils.isEmpty(goodsName) || goodsId != null) {
|
Wrapper<MallGoods> mallGoodsWrapper = new EntityWrapper<MallGoods>().eq("is_delete", 0);
|
if (!StringUtils.isEmpty(goodsName)) {
|
mallGoodsWrapper.like("goods_name", goodsName);
|
}
|
if (goodsId != null) {
|
mallGoodsWrapper.eq("id", goodsId);
|
}
|
|
List<MallGoods> mallGoodsList = this.mallGoodsService.selectList(mallGoodsWrapper);
|
if (CollectionUtils.isNotEmpty(mallGoodsList)) {
|
goodIds = mallGoodsList.stream().map(o -> o.getId()).collect(Collectors.toList());
|
}
|
}
|
if (CollectionUtils.isNotEmpty(goodIds)) {
|
wrapper.in("goods_id", goodIds);
|
}
|
// 查询数据列表
|
List<Map<String, Object>> list = mallUserReportService.selectMapsPage(page, wrapper).getRecords();
|
this.memUserService.wrapperMapUser(list, "userId");
|
this.memMerchantService.wrapperMapMerchant(list, "merchantId");
|
|
this.mallGoodsService.wrapperMapGoods(list, "goodsId");
|
page.setRecords(list);
|
return super.packForBT(page);
|
}
|
|
/**
|
* 新增用户举报
|
*/
|
@Permission
|
@ResponseBody
|
@BussinessLog(value = "新增用户举报")
|
@RequestMapping(value = "/add")
|
public Object add(MallUserReport mallUserReport) {
|
mallUserReportService.insert(mallUserReport);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 删除/批量删除
|
*/
|
@Permission
|
@ResponseBody
|
@BussinessLog(value = "删除/批量删除用户举报")
|
@RequestMapping(value = "/delete")
|
public Object delete(@RequestParam String ids) {
|
// 逻辑删除
|
mallUserReportService.updateForSet("is_delete = 1", new EntityWrapper<MallUserReport>().in("id", ids.split(",")));
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 修改用户举报
|
*/
|
@Permission
|
@ResponseBody
|
@BussinessLog(value = "修改用户举报")
|
@RequestMapping(value = "/update")
|
public Object update(MallUserReport mallUserReport) {
|
mallUserReportService.updateById(mallUserReport);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 修改用户举报状态
|
*/
|
@Transactional
|
@ResponseBody
|
@RequestMapping(value = "/updateState")
|
public Object updateState(Integer mallUserReportId, Integer state, Integer reportState, Integer deductScore,
|
Boolean offShelf, Integer frozenState, Integer days) {
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 跳转用户举报详情
|
*/
|
@RequestMapping(value = "/detail/{mallUserReportId}")
|
public Object detail(@PathVariable("mallUserReportId") Integer mallUserReportId, Model model) {
|
MallUserReport mallUserReport = mallUserReportService.selectById(mallUserReportId);
|
model.addAttribute("item", mallUserReport);
|
return PREFIX + "mallUserReport_detail.html";
|
}
|
}
|