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.enumerates.AgentLevelEnum;
|
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
|
import cc.mrbird.febs.common.enumerates.OrderPayMethodEnum;
|
import cc.mrbird.febs.common.utils.AppContants;
|
import cc.mrbird.febs.common.utils.DateUtil;
|
import cc.mrbird.febs.common.utils.FebsUtil;
|
import cc.mrbird.febs.common.utils.RedisUtils;
|
import cc.mrbird.febs.mall.entity.*;
|
import cc.mrbird.febs.mall.mapper.*;
|
import cc.mrbird.febs.mall.service.AsyncCjService;
|
import cc.mrbird.febs.mall.service.IAdminMallGoodsService;
|
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
|
import cc.mrbird.febs.mall.service.IApiMallMemberService;
|
import cc.mrbird.febs.mall.vo.AdminMailGoodsDetailVo;
|
import cc.mrbird.febs.mall.vo.AdminMailGoodsUpdateVo;
|
import cc.mrbird.febs.mall.vo.ApiKjInfoVo;
|
import cc.mrbird.febs.mall.vo.MallMemberVo;
|
import cc.mrbird.febs.rabbit.producter.AgentProducer;
|
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.StrUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.RequestMapping;
|
|
import java.math.BigDecimal;
|
import java.text.ParseException;
|
import java.time.LocalDateTime;
|
import java.time.format.DateTimeFormatter;
|
import java.util.*;
|
|
@Controller("goodsView")
|
@RequestMapping(FebsConstant.VIEW_PREFIX + "modules/goods")
|
@RequiredArgsConstructor
|
public class ViewMallGoodsController extends BaseController {
|
|
private final IAdminMallGoodsService mallGoodsService;
|
private final TzInfoMapper tzInfoMapper;
|
private final KjRecordMapper kjRecordMapper;
|
private final RedisUtils redisUtils;
|
private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
|
|
@GetMapping("tzInfo")
|
@RequiresPermissions("tzInfo:view")
|
public String tzInfo(Model model) {
|
ApiKjInfoVo apiKjInfoVo = new ApiKjInfoVo();
|
String kjNoOld = redisUtils.getString(AppContants.KJ_RECORD_NO_OLD);
|
String kjNumOld = redisUtils.getString(AppContants.KJ_RECORD_NUM_OLD);
|
if(StrUtil.isBlank(kjNoOld)){
|
KjRecord kjRecordOld = kjRecordMapper.selectOneByLimitZero(1,1);
|
if(ObjectUtil.isNotEmpty(kjRecordOld)){
|
apiKjInfoVo.setKjNoOld(kjRecordOld.getKjNo());
|
apiKjInfoVo.setKjNumOld(kjRecordOld.getKjNum());
|
}
|
}else{
|
apiKjInfoVo.setKjNoOld(kjNoOld);
|
apiKjInfoVo.setKjNumOld(kjNumOld);
|
}
|
|
String kjNo = redisUtils.getString(AppContants.KJ_RECORD_NO);
|
String createdTime = redisUtils.getString(AppContants.KJ_RECORD_TIME);
|
if(StrUtil.isBlank(kjNo)){
|
KjRecord kjRecord = kjRecordMapper.selectOneByLimitZero(0,1);
|
if(ObjectUtil.isNotEmpty(kjRecord)){
|
apiKjInfoVo.setKjNo(kjRecord.getKjNo());
|
apiKjInfoVo.setCreatedTime(kjRecord.getCreatedTime().toString());
|
}
|
}else{
|
apiKjInfoVo.setKjNo(kjNo);
|
try {
|
apiKjInfoVo.setCreatedTime(cc.mrbird.febs.common.utils.DateUtil.formatCstTime(createdTime, DateUtil.FULL_TIME_SPLIT_PATTERN));
|
} catch (ParseException e) {
|
e.printStackTrace();
|
}
|
}
|
|
DataDictionaryCustom timeIntervalDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
|
DataDictionaryEnum.TIME_INTERVAL.getType(),
|
DataDictionaryEnum.TIME_INTERVAL.getCode()
|
);
|
apiKjInfoVo.setDjs(Integer.parseInt(timeIntervalDic.getValue()));
|
|
// 获取当前时间
|
LocalDateTime currentTime = LocalDateTime.now();
|
// 定义时间格式
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
apiKjInfoVo.setSystemTime(currentTime.format(formatter));
|
model.addAttribute("apiKjInfoVo", apiKjInfoVo);
|
return FebsUtil.view("modules/goods/tzInfo");
|
}
|
|
/**
|
* 商品-详情
|
* @param id
|
* @param model
|
* @return
|
*/
|
@GetMapping("tzUpdate/{id}")
|
@RequiresPermissions("tzUpdate:update")
|
public String tzUpdate(@PathVariable long id, Model model) {
|
TzInfo tzInfo = tzInfoMapper.selectById(id);
|
model.addAttribute("tzInfoVo", tzInfo);
|
return FebsUtil.view("modules/goods/tzUpdate");
|
}
|
|
/**
|
* 商品列表
|
* @return
|
*/
|
@GetMapping("tzList")
|
@RequiresPermissions("tzList:view")
|
public String tzList() {
|
return FebsUtil.view("modules/goods/tzList");
|
}
|
|
/**
|
* 商品列表
|
* @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");
|
}
|
}
|