记得上下班打卡 | git大法好,push需谨慎

Commit af73c911 authored by 张国柄's avatar 张国柄

Merge remote-tracking branch 'origin/dev_goblin' into dev_goblin

parents a580ff70 9372f2f0
......@@ -3,11 +3,14 @@ package com.liquidnet.service.goblin.constant;
public class GoblinRedisConst {
public static final String PREFIX = "goblin:";
/* ----------------------------------------------------------------- */
public static String FRONT_BANNER = "front_banner"; //前端banner
public static final String FRONT_BANNER = "front_banner"; //前端banner
public static final String FRONT_NAVIGATION = "front_navigation"; //前端banner
public static final String FRONT_HOTWORD = "front_hot_word"; //前端banner
/* ----------------------------------------------------------------- */
public static final String REDIS_GOBLIN_SELF_MARKET = PREFIX.concat("self:market:");
public static final String REDIS_GOBLIN_ZHENGZAI_RELATION = PREFIX.concat("zhengzai:market:");
/* ----------------------------------------------------------------- */
......
package com.liquidnet.service.goblin.dto.manage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "GoblinStorePurchaseParam")
@Data
public class GoblinStoreZhengzaiParam {
@ApiModelProperty(required = false, value = "活动id[添加操作不需要]", example = "1")
private String marketId;
@ApiModelProperty(required = true, value = "商铺id", example = "活动名称")
private String storeId;
@ApiModelProperty(required = true, value = "活动名称", example = "活动名称")
private String name;
@ApiModelProperty(required = true, value = "活动开始时间", example = "2021-12-11 12:00:00")
private String startTime;
@ApiModelProperty(required = true, value = "活动结束时间", example = "2021-12-12 12:00:00")
private String endTime;
}
package com.liquidnet.service.goblin.dto.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 可参加官方活动的店铺表
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinMarketingZhengzaiRelationVo implements Serializable, Cloneable {
@ApiModelProperty(value = "官方营销表id")
private String selfMarketId;
@ApiModelProperty(value = "商铺id")
private String storeId;
@ApiModelProperty(value = "可显示时间")
private String showTime;
@ApiModelProperty(value = "创建时间")
private String createdAt;
private static final GoblinMarketingZhengzaiRelationVo obj = new GoblinMarketingZhengzaiRelationVo();
public static GoblinMarketingZhengzaiRelationVo getNew() {
try {
return (GoblinMarketingZhengzaiRelationVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinMarketingZhengzaiRelationVo();
}
}
}
package com.liquidnet.service.goblin.dto.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 官方(平台)营销表[活动]表
* </p>
*
* @author liquidnet
* @since 2021-12-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinSelfMarketingVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "官方营销表id")
private String selfMarketId;
@ApiModelProperty(value = "营销名称")
private String name;
@ApiModelProperty(value = "营销类型[1-正在下单]")
private Integer type;
@ApiModelProperty(value = "活动状态[-1-全部|0-等待开始|1-活动中|2-活动结束|7-停用]")
private Integer status;
@ApiModelProperty(value = "营销描述")
private String desc;
@ApiModelProperty(value = "营销开始时间")
private String startTime;
@ApiModelProperty(value = "营销结束时间营销为定金预售的时候,该时间也是第二阶段付款的时间营销为全款预售的时候,该时间也是发货时间")
private String endTime;
@ApiModelProperty(value = "创建时间")
private String createdAt;
private static final GoblinSelfMarketingVo obj = new GoblinSelfMarketingVo();
public static GoblinSelfMarketingVo getNew() {
try {
return (GoblinSelfMarketingVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinSelfMarketingVo();
}
}
}
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel
@Data
public class GoblinZhengzaiStoreListVo implements Cloneable {
@ApiModelProperty(value = "商铺id")
String storeId;
@ApiModelProperty(value = "商铺名称")
String storeName;
@ApiModelProperty(value = "商铺商品数量")
String spuCount;
@ApiModelProperty(value = "商铺款式数量")
String skuCount;
private static final GoblinZhengzaiStoreListVo obj = new GoblinZhengzaiStoreListVo();
public static GoblinZhengzaiStoreListVo getNew() {
try {
return (GoblinZhengzaiStoreListVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinZhengzaiStoreListVo();
}
}
}
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel
@Data
public class GoblinZhengzaiVo implements Cloneable{
@ApiModelProperty(value = "活动id")
String marketId;
@ApiModelProperty(value = "活动名称")
String name;
@ApiModelProperty(value = "活动状态[-1-全部|0-等待开始|1-活动中|2-活动结束|7-停用]")
Integer status;
@ApiModelProperty(value = "开始时间")
String startTime;
@ApiModelProperty(value = "结束时间")
String endTime;
@ApiModelProperty(value = "创建时间")
String createdAt;
private static final GoblinZhengzaiVo obj = new GoblinZhengzaiVo();
public static GoblinZhengzaiVo getNew() {
try {
return (GoblinZhengzaiVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinZhengzaiVo();
}
}
}
......@@ -31,7 +31,7 @@ public interface IGoblinStorePurchasingService {
ResponseDto<Boolean> purchasingStatus(String marketId, int status);
/**
* 添加 显示秒杀活动
* 添加 限时秒杀活动
*
* @param purchaseName 秒杀活动名称
* @param storeId 商铺id
......
......@@ -44,4 +44,45 @@ public class GoblinFrontBannerController extends BaseController {
}
}
@PostMapping("update")
@ApiOperation(value = "修改banner")
@ResponseBody
public AjaxResult update( @RequestBody GoblinFrontBanner goblinFrontBanner) {
logger.info("修改banner{}", JSON.toJSONString(goblinFrontBanner));
boolean result=goblinFrontBannerService.update(goblinFrontBanner);
if (result ) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@PostMapping("delete")
@ApiOperation(value = "删除banner")
@ResponseBody
public AjaxResult delete( @RequestBody GoblinFrontBanner goblinFrontBanner) {
logger.info("删除banner{}", JSON.toJSONString(goblinFrontBanner));
boolean result=goblinFrontBannerService.delte(goblinFrontBanner.getMid());
if (result ) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@PostMapping("getOne")
@ApiOperation(value = "查看详情")
@ResponseBody
public AjaxResult getOne( @RequestBody GoblinFrontBanner goblinFrontBanner) {
logger.info("修改banner{}", JSON.toJSONString(goblinFrontBanner));
GoblinFrontBanner goblinFrontBanner1=goblinFrontBannerService.getOne(goblinFrontBanner.getMid());
return AjaxResult.success(goblinFrontBanner1);
}
@PostMapping("page")
@ApiOperation(value = "分页")
@ResponseBody
public AjaxResult page( @RequestParam(name = "pageSize", required = true) int pageSize,@RequestParam(name = "pageNumber", required = true)int pageNumber,@RequestBody GoblinFrontBanner goblinFrontBanner) {
logger.info("分页banner{}", JSON.toJSONString(goblinFrontBanner));
return AjaxResult.success(goblinFrontBannerService.bannerPage(pageSize,pageNumber,null));
}
}
package com.liquidnet.client.admin.web.controller.zhengzai.goblin;
import com.alibaba.fastjson.JSON;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.zhengzai.goblin.service.imp.GoblinFrontHotWordServiceImpl;
import com.liquidnet.service.goblin.entity.GoblinFrontHotWord;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 热词
前端控制器
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
@RestController
@RequestMapping("/hotWord")
public class GoblinFrontHotWordController extends BaseController {
@Autowired
GoblinFrontHotWordServiceImpl goblinFrontHotWordService;
/**
* @author zhangfuxin
* @Description:添加banner
* @date 2021/12/27 下午1:22
*/
@PostMapping("create")
@ApiOperation(value = "增加热词")
@ResponseBody
public AjaxResult create(@RequestBody GoblinFrontHotWord goblinFrontHotWord) {
logger.info("增加热词{}", JSON.toJSONString(goblinFrontHotWord));
boolean result=goblinFrontHotWordService.create(goblinFrontHotWord);
if (result ) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@PostMapping("update")
@ApiOperation(value = "修改热词")
@ResponseBody
public AjaxResult update( @RequestBody GoblinFrontHotWord goblinFrontHotWord) {
logger.info("修改热词{}", JSON.toJSONString(goblinFrontHotWord));
boolean result=goblinFrontHotWordService.update(goblinFrontHotWord);
if (result ) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@PostMapping("delete")
@ApiOperation(value = "删除热词")
@ResponseBody
public AjaxResult delete( @RequestBody GoblinFrontHotWord goblinFrontHotWord) {
logger.info("删除热词{}", JSON.toJSONString(goblinFrontHotWord));
boolean result=goblinFrontHotWordService.delete(goblinFrontHotWord.getMid());
if (result ) {
return success("操作成功");
} else {
return error("操作失败");
}
}
@PostMapping("getOne")
@ApiOperation(value = "查看详情")
@ResponseBody
public AjaxResult getOne( @RequestBody GoblinFrontHotWord goblinFrontHotWord) {
logger.info("查看详情{}", JSON.toJSONString(goblinFrontHotWord));
goblinFrontHotWord=goblinFrontHotWordService.getOne(goblinFrontHotWord.getMid());
return AjaxResult.success(goblinFrontHotWord);
}
@PostMapping("page")
@ApiOperation(value = "分页")
@ResponseBody
public AjaxResult page( @RequestParam(name = "pageSize", required = true) int pageSize,@RequestParam(name = "pageNumber", required = true)int pageNumber,@RequestBody GoblinFrontHotWord goblinFrontHotWord) {
logger.info("分页banner{}", JSON.toJSONString(goblinFrontHotWord));
return AjaxResult.success(goblinFrontHotWordService.page(pageSize,pageNumber,null));
}
}
package com.liquidnet.client.admin.web.controller.zhengzai.goblin;
import com.alibaba.fastjson.JSON;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.zhengzai.goblin.service.imp.GoblinFrontNavigationServiceImpl;
import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
import com.liquidnet.service.goblin.entity.GoblinFrontNavigation;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 首页导航栏
前端控制器
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
@Api(tags = "金刚位管理")
@RestController
@RequestMapping("/navigation")
public class GoblinFrontNavigationController extends BaseController {
@Autowired
GoblinFrontNavigationServiceImpl goblinFrontNavigationService;
/***
* @author zhangfuxin
* @Description: 添加金刚位
* @date 2021/12/28 上午11:22
*/
@PostMapping("create")
@ApiOperation(value = "增加金刚位")
@ResponseBody
public AjaxResult create(@RequestBody GoblinFrontNavigation goblinFrontNavigation) {
logger.info("增加金刚位{}", JSON.toJSONString(goblinFrontNavigation));
boolean result=goblinFrontNavigationService.create(goblinFrontNavigation);
if (result ) {
return success("操作成功");
} else {
return error("操作失败");
}
}
/**
* @author zhangfuxin
* @Description:修改金刚位
* @date 2021/12/28 上午11:23
*/
@PostMapping("update")
@ApiOperation(value = "修改金刚位")
@ResponseBody
public AjaxResult update( @RequestBody GoblinFrontNavigation goblinFrontNavigation) {
logger.info("修改金刚位{}", JSON.toJSONString(goblinFrontNavigation));
boolean result=goblinFrontNavigationService.update(goblinFrontNavigation);
if (result ) {
return success("操作成功");
} else {
return error("操作失败");
}
}
/**
* 删除金刚位
*/
@PostMapping("delete")
@ApiOperation(value = "删除金刚位")
@ResponseBody
public AjaxResult delete( @RequestBody GoblinFrontNavigation goblinFrontNavigation) {
logger.info("删除金刚位{}", JSON.toJSONString(goblinFrontNavigation));
boolean result=goblinFrontNavigationService.delete(goblinFrontNavigation.getMid());
if (result ) {
return success("操作成功");
} else {
return error("操作失败");
}
}
/**
* 分页金刚位
*/
@PostMapping("page")
@ApiOperation(value = "分页")
@ResponseBody
public AjaxResult page( @RequestParam(name = "pageSize", required = true) int pageSize,@RequestParam(name = "pageNumber", required = true)int pageNumber,@RequestBody GoblinFrontBanner goblinFrontBanner) {
logger.info("分页banner{}", JSON.toJSONString(goblinFrontBanner));
return AjaxResult.success(goblinFrontNavigationService.page(pageSize,pageNumber,null));
}
/**
* @author zhangfuxin
* @Description:查看金刚位
* @date 2021/12/28 上午11:24
*/
@PostMapping("getOne")
@ApiOperation(value = "查看金刚位")
@ResponseBody
public AjaxResult getOne( @RequestBody GoblinFrontNavigation goblinFrontNavigation) {
logger.info("修改banner{}", JSON.toJSONString(goblinFrontNavigation));
goblinFrontNavigation=goblinFrontNavigationService.getOne(goblinFrontNavigation.getMid());
return AjaxResult.success(goblinFrontNavigation);
}
}
package com.liquidnet.client.admin.zhengzai.goblin.service;
import com.liquidnet.service.goblin.entity.GoblinFrontHotWord;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 热词
服务类
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
public interface IGoblinFrontHotWordService extends IService<GoblinFrontHotWord> {
}
package com.liquidnet.client.admin.zhengzai.goblin.service;
import com.liquidnet.service.goblin.entity.GoblinFrontNavigation;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 首页导航栏
服务类
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
public interface IGoblinFrontNavigationService extends IService<GoblinFrontNavigation> {
}
package com.liquidnet.client.admin.zhengzai.goblin.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseItemParam;
import com.liquidnet.service.goblin.dto.vo.GoblinZhengzaiStoreListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinZhengzaiVo;
import com.liquidnet.service.goblin.entity.GoblinSelfMarketing;
import java.util.List;
/**
* 正在下单相关
*/
public interface IGoblinZhengzaiMarketService {
/**
* 正在下单列表
*
* @param page 页数
* @param purchaseName 活动名称
* @param status 状态
* @param st 开始时间
* @param et 结束时间
* @param ct 创建时间
* @return
*/
ResponseDto<List<GoblinSelfMarketing>> zhengzaiList(int page, String purchaseName, int status, String st, String et, String ct);
/**
* 正在状态操作
*
* @param marketId 活动秒杀id
* @param status 状态
* @return
*/
ResponseDto<Boolean> zhengzaiStatus(String marketId, int status);
/**
* 添加 正在下单活动
*
* @param purchaseName 秒杀活动名称
* @param st 开始时间
* @param et 结束时间
* @return
*/
ResponseDto<Boolean> zhengzaiInsert(String purchaseName, String st, String et);
/**
* @param marketId 活动id
* @param purchaseName 秒杀活动名称
* @param st 开始时间
* @param et 结束时间
* @return
*/
ResponseDto<Boolean> zhengzaiUpdate(String marketId, String purchaseName, String st, String et);
/**
* 获取 限时秒杀 详情
*
* @param marketId 活动秒杀id
* @return
*/
ResponseDto<GoblinZhengzaiVo> zhengzaiDetails(String marketId);
/**
* 获取活动内sku列表
*
* @param marketId 活动秒杀id
* @param storeId 页数
* @return
*/
ResponseDto<String> zhengzaiSkuList(String marketId, String storeId);//TODO 返回值
/**
* 删除活动内sku
*
* @param marketId 活动秒杀id
* @param skuId skuId
* @return
*/
ResponseDto<Boolean> zhengzaiSkuDel(String marketId, String skuId);
/**
* 添加正在下单 可参与活动店铺
*
* @param marketId
* @param storeId
* @return
*/
ResponseDto<Boolean> zhengzaiStore(String marketId, String storeId, String showTime);
/**
* 编辑正在下单 可参与活动店铺
*
* @param marketId
* @param storeId
* @return
*/
ResponseDto<Boolean> zhengzaiStore(String marketId, String storeId, String showTime,Integer delTag);
/**
* 查看详情(参加活动的商品列表)
*
* @param marketId
* @return
*/
ResponseDto<List<GoblinZhengzaiStoreListVo>> zhengzaiStoreList(String marketId);
}
package com.liquidnet.client.admin.zhengzai.goblin.service.imp;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinFrontBannerService;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinFrontBannerService;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.common.cache.redis.util.RedisGoblinUtil;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
......@@ -15,7 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
......@@ -30,33 +31,87 @@ public class GoblinFrontBannerServiceImpl extends ServiceImpl<GoblinFrontBannerM
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private DataUtils dataUtils;
@Autowired
GoblinFrontBannerMapper goblinFrontBannerMapper;
@Autowired
private RedisDataSourceUtil redisDataSourceUtil;
public boolean create(GoblinFrontBanner goblinFrontBanner){
goblinFrontBanner.setCreateTime(LocalDateTime.now());
//设置bannerid
goblinFrontBanner.setBannerId(GoblinRedisConst.FRONT_BANNER+ IDGenerator.nextTimeId());
//增加 banner
goblinFrontBannerMapper.insert(goblinFrontBanner);
//mongo db增加
/* //mongo db增加
mongoTemplate.save(goblinFrontBanner,GoblinFrontBanner.class.getSimpleName());
//redis 增加
if(redisDataSourceUtil.getRedisGoblinUtil().hasKey(GoblinRedisConst.FRONT_BANNER+"0")){
//从redis里面取出
ArrayList<GoblinFrontBanner> list = (ArrayList<GoblinFrontBanner>) redisDataSourceUtil.getRedisGoblinUtil().get(GoblinRedisConst.FRONT_BANNER+0);
list.add(goblinFrontBanner);
redisDataSourceUtil.getRedisGoblinUtil().set(GoblinRedisConst.FRONT_BANNER+"0",list);
}else{
//创建一个list
ArrayList<Object> list= CollectionUtil.arrayListObject();
list.add(goblinFrontBanner);
//redis 没有这个键
redisDataSourceUtil.getRedisGoblinUtil().set(GoblinRedisConst.FRONT_BANNER+"0",list);
}
LambdaQueryWrapper<GoblinFrontBanner> queryWrapper = Wrappers.lambdaQuery(GoblinFrontBanner.class);
queryWrapper.ne(GoblinFrontBanner::getDelTag,1);
queryWrapper.orderByDesc(GoblinFrontBanner::getIndexs);
List<GoblinFrontBanner> list=goblinFrontBannerMapper.selectList(queryWrapper);
redisDataSourceUtil.getRedisGoblinUtil().set(GoblinRedisConst.FRONT_BANNER,list);*/
return true;
}
/***
* @author zhangfuxin
* @Description: 修改
* @date 2021/12/27 下午4:03
*/
public boolean update(GoblinFrontBanner goblinFrontBanner){
goblinFrontBanner.setUpdateTime(LocalDateTime.now());
//数据库修改
goblinFrontBannerMapper.updateById(goblinFrontBanner);
/* //mongodb修改
BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(goblinFrontBanner)));
mongoTemplate.getCollection(GoblinFrontBanner.class.getSimpleName()).updateOne(
Query.query(Criteria.where("bannerId").is(goblinFrontBanner.getBannerId())).getQueryObject(),
orderObject
);
//redis 修改
//从数据库中查出来,从新塞进去
LambdaQueryWrapper<GoblinFrontBanner> queryWrapper = Wrappers.lambdaQuery(GoblinFrontBanner.class);
queryWrapper.ne(GoblinFrontBanner::getDelTag,1);
queryWrapper.orderByDesc(GoblinFrontBanner::getIndexs);
List<GoblinFrontBanner> list=goblinFrontBannerMapper.selectList(queryWrapper);
redisDataSourceUtil.getRedisGoblinUtil().set(GoblinRedisConst.FRONT_BANNER,list);*/
return true;
}
/**
* @author zhangfuxin
* @Description:查看详情
* @date 2021/12/27 下午4:34
*/
public GoblinFrontBanner getOne(Long id){
return goblinFrontBannerMapper.selectById(id);
}
/**
* @author zhangfuxin
* @Description: 删除 banner
* @date 2021/12/27 下午4:36
*/
public boolean delte(Long id){
GoblinFrontBanner goblinFrontBanner=goblinFrontBannerMapper.selectById(id);
goblinFrontBanner.setDelTag(1);
this.update(goblinFrontBanner);
return true;
}
/**
* @author zhangfuxin
* @Description:分页
* @date 2021/12/27 下午5:19
*/
public PageInfo<GoblinFrontBanner> bannerPage(int pageSize,int pageNumber,GoblinFrontBanner goblinFrontBanner) {
PageInfo<GoblinFrontBanner> pageInfoTmp = null;
try {
PageHelper.startPage(pageNumber, pageSize);
LambdaQueryWrapper<GoblinFrontBanner> queryWrapper = Wrappers.lambdaQuery(GoblinFrontBanner.class);
queryWrapper.orderByDesc(GoblinFrontBanner::getCreateTime);
List<GoblinFrontBanner> list=goblinFrontBannerMapper.selectList(queryWrapper);
pageInfoTmp = new PageInfo(list);
} catch (Exception e) {
return new PageInfo();
}
return pageInfoTmp;
}
}
package com.liquidnet.client.admin.zhengzai.goblin.service.imp;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinFrontHotWordService;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.entity.GoblinFrontHotWord;
import com.liquidnet.service.goblin.mapper.GoblinFrontHotWordMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
* 热词
服务实现类
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
@Service
public class GoblinFrontHotWordServiceImpl extends ServiceImpl<GoblinFrontHotWordMapper, GoblinFrontHotWord> implements IGoblinFrontHotWordService {
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
GoblinFrontHotWordMapper goblinFrontHotWordMapper;
@Autowired
private RedisDataSourceUtil redisDataSourceUtil;
public boolean create(GoblinFrontHotWord goblinFrontHotWord){
goblinFrontHotWord.setCreateTime(LocalDateTime.now());
//设置bannerid
goblinFrontHotWord.setHotWordId(GoblinRedisConst.FRONT_HOTWORD+ IDGenerator.nextTimeId());
//增加 banner
goblinFrontHotWordMapper.insert(goblinFrontHotWord);
/* //mongo db增加
mongoTemplate.save(GoblinFrontHotWord,GoblinFrontHotWord.class.getSimpleName());
//redis 增加
LambdaQueryWrapper<GoblinFrontHotWord> queryWrapper = Wrappers.lambdaQuery(GoblinFrontHotWord.class);
queryWrapper.ne(GoblinFrontHotWord::getDelTag,1);
queryWrapper.orderByDesc(GoblinFrontHotWord::getIndexs);
List<GoblinFrontHotWord> list=goblinFrontBannerMapper.selectList(queryWrapper);
redisDataSourceUtil.getRedisGoblinUtil().set(GoblinRedisConst.FRONT_HOTWORD,list);*/
return true;
}
/***
* @author zhangfuxin
* @Description: 修改
* @date 2021/12/27 下午4:03
*/
public boolean update(GoblinFrontHotWord goblinFrontHotWord){
goblinFrontHotWord.setUpdateTime(LocalDateTime.now());
//数据库修改
goblinFrontHotWordMapper.updateById(goblinFrontHotWord);
/*//mongodb修改
BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(goblinFrontHotWord)));
mongoTemplate.getCollection(GoblinFrontHotWord.class.getSimpleName()).updateOne(
Query.query(Criteria.where("hotWordId").is(goblinFrontHotWord.getHotWordId())).getQueryObject(),
orderObject
);
//redis 修改
//从数据库中查出来,从新塞进去
LambdaQueryWrapper<GoblinFrontHotWord> queryWrapper = Wrappers.lambdaQuery(GoblinFrontHotWord.class);
queryWrapper.ne(GoblinFrontHotWord::getDelTag,1);
queryWrapper.orderByDesc(GoblinFrontHotWord::getIndexs);
List<GoblinFrontHotWord> list=goblinFrontHotWordMapper.selectList(queryWrapper);
redisDataSourceUtil.getRedisGoblinUtil().set(GoblinRedisConst.FRONT_HOTWORD,list);*/
return true;
}
/**
* @author zhangfuxin
* @Description:查看详情
* @date 2021/12/27 下午4:34
*/
public GoblinFrontHotWord getOne(Long id){
return goblinFrontHotWordMapper.selectById(id);
}
/**
* @author zhangfuxin
* @Description: 删除 banner
* @date 2021/12/27 下午4:36
*/
public boolean delete(Long id){
GoblinFrontHotWord goblinFrontHotWord=goblinFrontHotWordMapper.selectById(id);
goblinFrontHotWord.setDelTag(1);
this.update(goblinFrontHotWord);
return true;
}
/**
* @author zhangfuxin
* @Description:分页
* @date 2021/12/27 下午5:19
*/
public PageInfo<GoblinFrontHotWord> page(int pageSize, int pageNumber, GoblinFrontHotWord goblinFrontHotWord) {
PageInfo<GoblinFrontHotWord> pageInfoTmp = null;
try {
PageHelper.startPage(pageNumber, pageSize);
LambdaQueryWrapper<GoblinFrontHotWord> queryWrapper = Wrappers.lambdaQuery(GoblinFrontHotWord.class);
queryWrapper.ne(GoblinFrontHotWord::getDelTag,1);
queryWrapper.orderByDesc(GoblinFrontHotWord::getCreateTime);
List<GoblinFrontHotWord> list=goblinFrontHotWordMapper.selectList(queryWrapper);
pageInfoTmp = new PageInfo(list);
} catch (Exception e) {
return new PageInfo();
}
return pageInfoTmp;
}
}
package com.liquidnet.client.admin.zhengzai.goblin.service.imp;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinFrontNavigationService;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.entity.GoblinFrontNavigation;
import com.liquidnet.service.goblin.mapper.GoblinFrontNavigationMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
* 首页导航栏
服务实现类
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
@Service
public class GoblinFrontNavigationServiceImpl extends ServiceImpl<GoblinFrontNavigationMapper, GoblinFrontNavigation> implements IGoblinFrontNavigationService {
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private GoblinFrontNavigationMapper goblinFrontNavigationMapper;
@Autowired
private RedisDataSourceUtil redisDataSourceUtil;
public boolean create(GoblinFrontNavigation goblinFrontNavigation){
goblinFrontNavigation.setCreateTime(LocalDateTime.now());
//设置金刚位id
goblinFrontNavigation.setNavigationId(GoblinRedisConst.FRONT_NAVIGATION+ IDGenerator.nextTimeId());
//mysql插入
goblinFrontNavigationMapper.insert(goblinFrontNavigation);
/* //mongo db增加
mongoTemplate.save(goblinFrontNavigation,GoblinFrontNavigation.class.getSimpleName());
//redis增加
LambdaQueryWrapper<GoblinFrontNavigation> queryWrapper = Wrappers.lambdaQuery(GoblinFrontNavigation.class);
queryWrapper.ne(GoblinFrontNavigation::getDelTag,1);
queryWrapper.orderByDesc(GoblinFrontNavigation::getIndexs);
List<GoblinFrontNavigation> list=goblinFrontNavigationMapper.selectList(queryWrapper);
redisDataSourceUtil.getRedisGoblinUtil().set(GoblinRedisConst.FRONT_NAVIGATION,list);*/
return true;
}
public boolean update(GoblinFrontNavigation goblinFrontNavigation){
goblinFrontNavigation.setUpdateTime(LocalDateTime.now());
//数据库修改
goblinFrontNavigationMapper.updateById(goblinFrontNavigation);
/*//mongodb修改
BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(goblinFrontNavigation)));
mongoTemplate.getCollection(GoblinFrontNavigation.class.getSimpleName()).updateOne(
Query.query(Criteria.where("navigationId").is(goblinFrontNavigation.getNavigationId())).getQueryObject(),
orderObject
);
//redis 修改
//从数据库中查出来,从新塞进去
LambdaQueryWrapper<GoblinFrontNavigation> queryWrapper = Wrappers.lambdaQuery(GoblinFrontNavigation.class);
queryWrapper.ne(GoblinFrontNavigation::getDelTag,1);
queryWrapper.orderByDesc(GoblinFrontNavigation::getIndexs);
List<GoblinFrontNavigation> list=goblinFrontNavigationMapper.selectList(queryWrapper);
redisDataSourceUtil.getRedisGoblinUtil().set(GoblinRedisConst.FRONT_NAVIGATION,list);*/
return true;
}
public GoblinFrontNavigation getOne(Long id){
return goblinFrontNavigationMapper.selectById(id);
}
public boolean delete(Long id){
GoblinFrontNavigation goblinFrontNavigation=goblinFrontNavigationMapper.selectById(id);
goblinFrontNavigation.setDelTag(1);
this.update(goblinFrontNavigation);
return true;
}
public PageInfo<GoblinFrontNavigation> page(int pageSize, int pageNumber, GoblinFrontNavigation goblinFrontNavigation) {
PageInfo<GoblinFrontNavigation> pageInfoTmp = null;
try {
PageHelper.startPage(pageNumber, pageSize);
LambdaQueryWrapper<GoblinFrontNavigation> queryWrapper = Wrappers.lambdaQuery(GoblinFrontNavigation.class);
queryWrapper.orderByDesc(GoblinFrontNavigation::getCreateTime);
List<GoblinFrontNavigation> list=goblinFrontNavigationMapper.selectList(queryWrapper);
pageInfoTmp = new PageInfo(list);
} catch (Exception e) {
return new PageInfo();
}
return pageInfoTmp;
}
}
package com.liquidnet.client.admin.zhengzai.goblin.utils;
import com.liquidnet.service.goblin.dto.vo.GoblinMarketingZhengzaiRelationVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo;
import com.liquidnet.service.goblin.entity.GoblinMarketingZhengzaiRelation;
import com.liquidnet.service.goblin.entity.GoblinSelfMarketing;
import com.mongodb.BasicDBObject;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component;
@Component
public class GoblinMongoUtils {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
public GoblinSelfMarketingVo insertSelfMarket(GoblinSelfMarketingVo data) {
return mongoTemplate.insert(data, GoblinSelfMarketingVo.class.getSimpleName());
}
public UpdateResult updateSelfMarket(String selfMarketId, GoblinSelfMarketingVo data) {
BasicDBObject object = GoblinObjectUtils.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(data));
return mongoTemplate.getCollection(GoblinSelfMarketing.class.getSimpleName()).updateOne(
Query.query(Criteria.where("selfMarketId").is(selfMarketId)).getQueryObject(),
object);
}
public GoblinMarketingZhengzaiRelationVo insertZhengzaiRelation(GoblinMarketingZhengzaiRelationVo data) {
return mongoTemplate.insert(data, GoblinMarketingZhengzaiRelationVo.class.getSimpleName());
}
public UpdateResult updateZhengzaiRelation(String selfMarketId, String storeId,GoblinMarketingZhengzaiRelationVo data) {
BasicDBObject object = GoblinObjectUtils.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(data));
return mongoTemplate.getCollection(GoblinMarketingZhengzaiRelationVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("selfMarketId").is(selfMarketId).and("storeId").is(storeId)).getQueryObject(),
object);
}
public DeleteResult delZhengzaiRelation(String marketId,String storeId) {
return mongoTemplate.remove(Query.query(Criteria.where("storeId").is(storeId).and("selfMarketId").is(marketId)), GoblinMarketingZhengzaiRelationVo.class.getSimpleName());
}
}
package com.liquidnet.client.admin.zhengzai.goblin.utils;
import com.mongodb.BasicDBObject;
public class GoblinObjectUtils {
private static final BasicDBObject basicDBObject = new BasicDBObject();
public static BasicDBObject cloneBasicDBObject() {
return (BasicDBObject) basicDBObject.clone();
}
}
package com.liquidnet.client.admin.zhengzai.goblin.utils;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.dto.vo.GoblinMarketingZhengzaiRelationVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class GoblinRedisUtils {
@Autowired
RedisDataSourceUtil redisDataSourceUtil;
/**
* 覆盖店铺活动
*
* @param selfMarketId
* @param data
*/
public void setSelfMarket(String selfMarketId, GoblinSelfMarketingVo data) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_SELF_MARKET.concat(selfMarketId);
redisDataSourceUtil.getRedisGoblinUtil().set(redisKey, data);
}
/**
* 正在下单 可参加商户
*
* @param selfMarketId
* @param data
*/
public void setZhengzaiRelation(String selfMarketId, GoblinMarketingZhengzaiRelationVo data) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_ZHENGZAI_RELATION.concat(selfMarketId).concat(":store_id:"+data.getStoreId());
redisDataSourceUtil.getRedisGoblinUtil().set(redisKey, data);
}
public boolean delZhengzaiRelation(String selfMarketId,String storeId){
String redisKey = GoblinRedisConst.REDIS_GOBLIN_ZHENGZAI_RELATION.concat(selfMarketId).concat(":store_id:"+storeId);
redisDataSourceUtil.getRedisGoblinUtil().del(redisKey);
}
}
package com.liquidnet.service.goblin.dto;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class GoblinZhengzaiStoreDetailsDto {
String skuId;
String specName;
String specVname;
BigDecimal price;
Integer stock;
Integer skuStock;
BigDecimal priceMarketing;
Integer stockMarketing;
Integer buyLimit;
Integer buyType;
}
package com.liquidnet.service.goblin.dto;
import lombok.Data;
@Data
public class GoblinZhengzaiStoreListDto {
String storeId;
String storeName;
String spuCount;
String skuCount;
}
package com.liquidnet.service.goblin.entity;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 热词
* </p>
*
* @author liquidnet
* @since 2021-12-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinFrontHotWord implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long mid;
/**
* 热词
*/
private String word;
/**
* 1开启2未开启
*/
private Integer status;
/**
* 排序
*/
private Integer indexs;
/**
* 1、滚动2、按时切换
*/
private Integer changeType;
/**
* 切换时间单位为s
*/
private Integer changeTime;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 修改时间
*/
private LocalDateTime updateTime;
/**
* 热词id
*/
private String hotWordId;
/**
* 0未删除1已删除
*/
private Integer delTag;
}
package com.liquidnet.service.goblin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 热词
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinFrontHotWord implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 热词
*/
private String word;
/**
* 1开启2未开启
*/
private Integer status;
/**
* 排序
*/
private Integer indexs;
/**
* 1、滚动2、按时切换
*/
private Integer changeType;
/**
* 切换时间单位为s
*/
private Integer changeTime;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 修改时间
*/
private LocalDateTime updateTime;
/**
* 热词id
*/
private String hotWordId;
/**
* 0未删除1已删除
*/
private Integer delTag;
}
package com.liquidnet.service.goblin.entity;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
package com.liquidnet.service.goblin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 首页导航栏
* </p>
*
* @author liquidnet
* @since 2021-12-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinFrontNavigation implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long mid;
/**
* 图片路径或id
*/
private String picUrl;
/**
* 标题
*/
private String title;
/**
* 商品id
*/
private String spuId;
/**
* 展示形式:1、一行2、二行
*/
private Integer displayType;
/**
* 分类
*/
private String categoryType;
/**
* 活动链接
*/
private String activityUrl;
/**
* 1、分类2、专题3、商品单品
*/
private Integer navigationType;
/**
* 顺序
*/
private Integer indexs;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 修改时间
*/
private LocalDateTime updateTime;
/**
* 导航id
*/
private String navigationId;
/**
* 0未删除1已删除
*/
private Integer delTag;
}
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinFrontNavigation implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 图片路径或id
*/
private String picUrl;
/**
* 标题
*/
private String title;
/**
* 商品id
*/
private String spuId;
/**
* 展示形式:1、一行2、二行
*/
private Integer displayType;
/**
* 分类
*/
private String categoryType;
/**
* 活动链接
*/
private String activityUrl;
/**
* 1、分类2、专题3、商品单品
*/
private Integer navigationType;
/**
* 顺序
*/
private Integer indexs;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 修改时间
*/
private LocalDateTime updateTime;
/**
* 导航id
*/
private String navigationId;
/**
* 0未删除1已删除
*/
private Integer delTag;
/**
* 商品名字
*/
private String spuName;
}
......@@ -18,7 +18,7 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinMarketingZhengzai implements Serializable {
public class GoblinMarketingZhengzai implements Serializable,Cloneable {
private static final long serialVersionUID = 1L;
......@@ -76,5 +76,12 @@ public class GoblinMarketingZhengzai implements Serializable {
private String comment;
private static final GoblinMarketingZhengzai obj = new GoblinMarketingZhengzai();
public static GoblinMarketingZhengzai getNew() {
try {
return (GoblinMarketingZhengzai) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinMarketingZhengzai();
}
}
}
package com.liquidnet.service.goblin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 可参加官方活动的店铺表
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinMarketingZhengzaiRelation implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 官方营销表id
*/
private String selfMarketId;
/**
* 商铺id
*/
private String storeId;
/**
* 可显示时间
*/
private LocalDateTime showTime;
/**
* 删除标记[0-未删除|1-删除]
*/
private Integer delTag;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private String comment;
private static final GoblinMarketingZhengzaiRelation obj = new GoblinMarketingZhengzaiRelation();
public static GoblinMarketingZhengzaiRelation getNew() {
try {
return (GoblinMarketingZhengzaiRelation) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinMarketingZhengzaiRelation();
}
}
}
......@@ -2,8 +2,10 @@ package com.liquidnet.service.goblin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -17,7 +19,7 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinSelfMarketing implements Serializable {
public class GoblinSelfMarketing implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
......@@ -39,6 +41,11 @@ public class GoblinSelfMarketing implements Serializable {
*/
private Integer type;
/**
* 活动状态[-1-全部|0-等待开始|1-活动中|2-活动结束|7-停用]
*/
private Integer status;
/**
* 营销描述
*/
......@@ -65,5 +72,13 @@ public class GoblinSelfMarketing implements Serializable {
private String comment;
private static final GoblinSelfMarketing obj = new GoblinSelfMarketing();
public static GoblinSelfMarketing getNew() {
try {
return (GoblinSelfMarketing) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinSelfMarketing();
}
}
}
package com.liquidnet.service.goblin.mapper;
import com.liquidnet.service.goblin.entity.GoblinFrontHotWord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
package com.liquidnet.service.goblin.mapper;
import com.liquidnet.service.goblin.entity.GoblinFrontHotWord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 热词
Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-12-27
*/
public interface GoblinFrontHotWordMapper extends BaseMapper<GoblinFrontHotWord> {
}
Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
public interface GoblinFrontHotWordMapper extends BaseMapper<GoblinFrontHotWord> {
}
package com.liquidnet.service.goblin.mapper;
import com.liquidnet.service.goblin.entity.GoblinFrontNavigation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
package com.liquidnet.service.goblin.mapper;
import com.liquidnet.service.goblin.entity.GoblinFrontNavigation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 首页导航栏
Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-12-27
*/
public interface GoblinFrontNavigationMapper extends BaseMapper<GoblinFrontNavigation> {
}
Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
public interface GoblinFrontNavigationMapper extends BaseMapper<GoblinFrontNavigation> {
}
package com.liquidnet.service.goblin.mapper;
import com.liquidnet.service.goblin.entity.GoblinMarketingZhengzaiRelation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 可参加官方活动的店铺表 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-12-28
*/
public interface GoblinMarketingZhengzaiRelationMapper extends BaseMapper<GoblinMarketingZhengzaiRelation> {
}
package com.liquidnet.service.goblin.mapper;
import com.liquidnet.service.goblin.dto.GoblinZhengzaiStoreDetailsDto;
import com.liquidnet.service.goblin.dto.GoblinZhengzaiStoreListDto;
import com.liquidnet.service.goblin.entity.GoblinSelfMarketing;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
* <p>
* 官方(平台)营销表[活动]表 Mapper 接口
......@@ -13,4 +17,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface GoblinSelfMarketingMapper extends BaseMapper<GoblinSelfMarketing> {
List<GoblinZhengzaiStoreListDto> getZhengzaiStoreList(String marketId);
List<GoblinZhengzaiStoreDetailsDto> getZhengzaiStoreDetails(String marketId, String storeId);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.goblin.mapper.GoblinMarketingZhengzaiRelationMapper">
</mapper>
......@@ -2,4 +2,46 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.goblin.mapper.GoblinSelfMarketingMapper">
<resultMap id="goblinZhengzaiStoreListDtoResult" type="com.liquidnet.service.goblin.dto.GoblinZhengzaiStoreListDto">
<result column="store_id" property="storeId"/>
<result column="store_name" property="storeName"/>
<result column="spu_count" property="spuCount"/>
<result column="sku_count" property="skuCount"/>
</resultMap>
<resultMap id="goblinZhengzaiStoreDetailsDtoResult" type="com.liquidnet.service.goblin.dto.GoblinZhengzaiStoreDetailsDto">
<result column="sku_id" property="skuId"/>
<result column="spec_name" property="specName"/>
<result column="spec_vname" property="specVname"/>
<result column="price" property="price"/>
<result column="stock" property="stock"/>
<result column="sku_stock" property="skuStock"/>
<result column="price_marketing" property="priceMarketing"/>
<result column="stock_marketing" property="stockMarketing"/>
<result column="buy_limit" property="buyLimit"/>
<result column="buy_type" property="buyType"/>
</resultMap>
<select id="getZhengzaiStoreList" resultMap="goblinZhengzaiStoreListDtoResult">
select gsz.store_id, a.store_name, sum(gsz.spu_id), sum(sku_id)
from goblin_marketing_zhengzai as gsz
inner join (select gsi.store_name, gsi.store_id
from goblin_marketing_zhengzai_relation as gmzr
left join goblin_store_info as gsi on gmzr.store_id = gsi.store_id
where del_tag = 0) as a on gsz.store_id = a.store_id
where gsz.self_market_id = #{marketId}
group by gsz.store_id
</select>
<select id="getZhengzaiStoreDetails" resultMap="goblinZhengzaiStoreDetailsDtoResult">
select ggsku.sku_id,price,spec_name, spec_vname, ggsku.stock, ggsku.sku_stock from goblin_goods_sku ggsku
inner join goblin_goods_sku_spec_value ggssv on ggsku.sku_id = ggssv.sku_id
left join (select spec_name, spec_vname, ggs.spec_id
from goblin_goods_spec ggs
inner join goblin_goods_spec_value ggsv on ggsv.spec_id = ggs.spec_id) as a
on a.spec_id = ggssv.spec_id where ggsku.sku_id in (
select sku_id from goblin_marketing_zhengzai where self_market_id = #{marketId} and store_id = #{storeId}
)
</select>
</mapper>
......@@ -93,42 +93,10 @@ public class MybatisPlusCodeGenerator {
dsc.setUsername("testmall");
dsc.setPassword("zhengzai!mYT");
String resourcePath = "/Users/zhanggb/Downloads/tmp";
String resourcePath = "/Users/hujiachen/Downloads/tmp";
String directory = "com.liquidnet.service.goblin";
String[] dbTableArray = new String[]{
"goblin_back_order",
"goblin_back_order_log",
"goblin_front_banner",
"goblin_front_hot_word",
"goblin_front_navigation",
"goblin_front_seckill",
"goblin_goods",
"goblin_goods_category_spec",
"goblin_goods_image",
"goblin_goods_service_support",
"goblin_goods_sku",
"goblin_goods_sku_spec_value",
"goblin_goods_spec",
"goblin_goods_spec_value",
"goblin_goods_spu_spec_value",
"goblin_goods_spu_tag",
"goblin_marketing_zhengzai",
"goblin_order_attr",
"goblin_order_operation_log",
"goblin_order_sku",
"goblin_self_extag",
"goblin_self_goods_category",
"goblin_self_goods_tag",
"goblin_self_marketing",
"goblin_service_support",
"goblin_shopping_cart",
"goblin_store_certification",
"goblin_store_config",
"goblin_store_goods_category",
"goblin_store_info",
"goblin_store_market_relation",
"goblin_store_marketing",
"goblin_store_order"
"goblin_marketing_zhengzai_relation"
};
doGenerator(resourcePath, dsc, directory, dbTableArray);
......
package com.liquidnet.service.goblin.controller;
import com.alibaba.fastjson.JSON;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author zhangfuxin
* @Description:前端接口
* @date 2021/12/27 下午6:25
*/
@Api(tags = "前端接口管理")
@RestController
@RequestMapping("/front")
public class GoblinFrontController {
@Autowired
private RedisDataSourceUtil redisDataSourceUtil;
@GetMapping("getBanner")
@ApiOperation("获取banner")
public ResponseDto getBanner() {
//redis里获取banner
return ResponseDto.success( redisDataSourceUtil.getRedisGoblinUtil().get(GoblinRedisConst.FRONT_BANNER+"0"));
}
}
package com.liquidnet.service.goblin.util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Component;
@Component
public class GoblinMongoUtils {
@Autowired
MongoTemplate mongoTemplate;
}
package com.liquidnet.service.goblin.util;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class GoblinRedisUtils {
@Autowired
RedisDataSourceUtil redisDataSourceUtil;
}
......@@ -18,7 +18,6 @@ liquidnet:
username: admin
password: admin
config:
# location: /Users/color/company_project/java/liquidnet-bus-v1-1/liquidnet-bus-config/liquidnet-config
# location: /Users/hujiachen/IdeaProjects/liquidnet-bus-v1/liquidnet-bus-config/liquidnet-config
location: /app/support-config
# end-dev-这里是配置信息基本值
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment