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"); } }