package cc.mrbird.febs.mall.controller;
|
|
import cc.mrbird.febs.common.controller.BaseController;
|
import cc.mrbird.febs.common.entity.FebsConstant;
|
import cc.mrbird.febs.common.entity.FebsResponse;
|
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
|
import cc.mrbird.febs.common.utils.FebsUtil;
|
import cc.mrbird.febs.mall.dto.ScoreSettingDto;
|
import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
|
import cc.mrbird.febs.mall.entity.MallGoods;
|
import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
|
import cc.mrbird.febs.mall.service.IAdminMallGoodsService;
|
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
|
import cc.mrbird.febs.mall.vo.*;
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.json.JSONUtil;
|
import com.alibaba.fastjson.JSONObject;
|
import lombok.RequiredArgsConstructor;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import java.util.List;
|
|
@Controller("goodsView")
|
@RequestMapping(FebsConstant.VIEW_PREFIX + "modules/goods")
|
@RequiredArgsConstructor
|
public class ViewMallGoodsController extends BaseController {
|
|
private final IAdminMallGoodsService mallGoodsService;
|
private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
|
|
/**
|
* 商品列表
|
* @return
|
*/
|
@GetMapping("goodsList")
|
@RequiresPermissions("goodsList:view")
|
public String goodsList() {
|
return FebsUtil.view("modules/goods/goodsList");
|
}
|
|
/**
|
* 商品-新增
|
* @return
|
*/
|
@GetMapping("goodsAdd")
|
@RequiresPermissions("goodsAdd:add")
|
public String goodsAdd() {
|
return FebsUtil.view("modules/goods/goodsAddNew");
|
}
|
|
/**
|
* 商品-新增
|
* @return
|
*/
|
@GetMapping("goodsAddNew")
|
@RequiresPermissions("goodsAddNew:add")
|
public String goodsAddNew() {
|
return FebsUtil.view("modules/goods/goodsAddNew");
|
}
|
|
/**
|
* 商品-详情
|
* @param id
|
* @param model
|
* @return
|
*/
|
@GetMapping("detailGoods/{id}")
|
@RequiresPermissions("detailGoods:update")
|
public String detailGoods(@PathVariable long id, Model model) {
|
AdminMailGoodsDetailVo data = mallGoodsService.getMallGoodsInfoById(id);
|
model.addAttribute("mailGoodsDetail", data);
|
return FebsUtil.view("modules/goods/detailGoods");
|
}
|
|
/**
|
* 商品-编辑-详情
|
* @param id
|
* @param model
|
* @return
|
*/
|
@GetMapping("goodsUpdateNew/{id}")
|
@RequiresPermissions("goodsUpdateNew:update")
|
public String goodsUpdate(@PathVariable long id, Model model) {
|
MallGoods data = mallGoodsService.selectGoodsById(id);
|
model.addAttribute("goodsInfo", data);
|
return FebsUtil.view("modules/goods/goodsUpdateNew");
|
}
|
|
/**
|
* 商品配送设置
|
* @param model
|
* @return
|
*/
|
@GetMapping("/deliverySetting")
|
public String deliverySetting(Model model) {
|
AdminRangeSettingVo adminRangeSettingVo = new AdminRangeSettingVo();
|
DataDictionaryCustom deliverySetting = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.HOME_DELIVERY_AMOUNT.getType(), DataDictionaryEnum.HOME_DELIVERY_AMOUNT.getCode());
|
if (ObjectUtil.isNotNull(deliverySetting)) {
|
adminRangeSettingVo.setHomeDeliveryAmount(Double.parseDouble(deliverySetting.getValue()));
|
}
|
DataDictionaryCustom rangeSwitch = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.RANGE_SWITCH.getType(), DataDictionaryEnum.RANGE_SWITCH.getCode());
|
if (ObjectUtil.isNotNull(rangeSwitch)) {
|
adminRangeSettingVo.setRangeSwitch(Integer.parseInt(rangeSwitch.getValue()));
|
}
|
DataDictionaryCustom rangeSize = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.RANGE_SIZE.getType(), DataDictionaryEnum.RANGE_SIZE.getCode());
|
if (ObjectUtil.isNotNull(rangeSize)) {
|
adminRangeSettingVo.setRangeSize(Integer.parseInt(rangeSize.getValue()));
|
}
|
model.addAttribute("deliverySetting", adminRangeSettingVo);
|
return FebsUtil.view("modules/goods/deliverySetting");
|
}
|
|
/**
|
* 配送费设置
|
* @return
|
*/
|
@GetMapping("deliveryHomeList")
|
@RequiresPermissions("deliveryHomeList:view")
|
public String deliveryHomeList() {
|
return FebsUtil.view("modules/goods/deliveryHomeList");
|
}
|
|
/**
|
* 配送费设置 --- 编辑
|
*/
|
@GetMapping("deliveryHomeUpdate/{id}")
|
@RequiresPermissions("deliveryHomeUpdate:update")
|
public String deliveryHomeUpdate(@PathVariable long id, Model model) {
|
DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(id);
|
AdminHomeDeliverySettingVo adminHomeDeliverySettingVo = JSONUtil.toBean(dataDictionaryCustom.getValue(), AdminHomeDeliverySettingVo.class);
|
adminHomeDeliverySettingVo.setId(id);
|
model.addAttribute("homeDeliverySetting", adminHomeDeliverySettingVo);
|
return FebsUtil.view("modules/goods/deliveryHomeUpdate");
|
}
|
}
|