From 22070289d881b249356cd6439ebe7958e47cf3f8 Mon Sep 17 00:00:00 2001 From: hurui <177768073@qq.com> Date: Wed, 29 Nov 2023 11:53:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/BsStoreImgController.java | 2 +- .../group/BsStoreProductController.java | 3 +- .../group/BsStoreGroupController.java | 4 +- .../group/BsStoreImgController.java | 3 +- .../BsStoreProductCategoryController.java | 211 ++++ .../group/BsStoreProductController.java | 24 +- .../controller/group/OpenGroupController.java | 6 +- .../dao/BsStoreProductCategoryMapper.java | 125 +++ .../dao/BsStoreProductCategoryMapperExt.java | 14 + .../BsStoreProductCategorySqlProvider.java | 332 ++++++ .../com/hfkj/dao/BsStoreProductMapper.java | 17 +- .../hfkj/dao/BsStoreProductSqlProvider.java | 28 + .../java/com/hfkj/entity/BsStoreProduct.java | 34 +- .../hfkj/entity/BsStoreProductCategory.java | 255 +++++ .../entity/BsStoreProductCategoryExample.java | 993 ++++++++++++++++++ .../hfkj/entity/BsStoreProductExample.java | 130 +++ .../group/BsStoreGroupProductService.java | 2 +- .../group/BsStoreGroupService.java | 2 +- .../group/BsStoreProductCategoryService.java | 76 ++ .../impl/BsStoreGroupProductServiceImpl.java | 4 +- .../group/impl/BsStoreGroupServiceImpl.java | 14 +- .../BsStoreProductCategoryServiceImpl.java | 184 ++++ 22 files changed, 2437 insertions(+), 26 deletions(-) create mode 100644 cweb/src/main/java/com/cweb/controller/group/BsStoreProductCategoryController.java create mode 100644 service/src/main/java/com/hfkj/dao/BsStoreProductCategoryMapper.java create mode 100644 service/src/main/java/com/hfkj/dao/BsStoreProductCategoryMapperExt.java create mode 100644 service/src/main/java/com/hfkj/dao/BsStoreProductCategorySqlProvider.java create mode 100644 service/src/main/java/com/hfkj/entity/BsStoreProductCategory.java create mode 100644 service/src/main/java/com/hfkj/entity/BsStoreProductCategoryExample.java rename service/src/main/java/com/hfkj/{ => service}/group/BsStoreGroupProductService.java (99%) rename service/src/main/java/com/hfkj/{ => service}/group/BsStoreGroupService.java (99%) create mode 100644 service/src/main/java/com/hfkj/service/group/BsStoreProductCategoryService.java rename service/src/main/java/com/hfkj/{ => service}/group/impl/BsStoreGroupProductServiceImpl.java (98%) rename service/src/main/java/com/hfkj/{ => service}/group/impl/BsStoreGroupServiceImpl.java (89%) create mode 100644 service/src/main/java/com/hfkj/service/group/impl/BsStoreProductCategoryServiceImpl.java diff --git a/bweb/src/main/java/com/bweb/controller/group/BsStoreImgController.java b/bweb/src/main/java/com/bweb/controller/group/BsStoreImgController.java index 9add6e7..a458d34 100644 --- a/bweb/src/main/java/com/bweb/controller/group/BsStoreImgController.java +++ b/bweb/src/main/java/com/bweb/controller/group/BsStoreImgController.java @@ -6,7 +6,7 @@ import com.hfkj.common.exception.SysCode; import com.hfkj.common.security.UserCenter; import com.hfkj.common.utils.ResponseMsgUtil; import com.hfkj.entity.BsStoreImg; -import com.hfkj.group.BsStoreGroupService; +import com.hfkj.service.group.BsStoreGroupService; import com.hfkj.model.ResponseData; import com.hfkj.model.UserInfoModel; import io.swagger.annotations.Api; diff --git a/bweb/src/main/java/com/bweb/controller/group/BsStoreProductController.java b/bweb/src/main/java/com/bweb/controller/group/BsStoreProductController.java index ae59967..0e8ef85 100644 --- a/bweb/src/main/java/com/bweb/controller/group/BsStoreProductController.java +++ b/bweb/src/main/java/com/bweb/controller/group/BsStoreProductController.java @@ -5,9 +5,8 @@ import com.hfkj.common.exception.ErrorHelp; import com.hfkj.common.exception.SysCode; import com.hfkj.common.security.UserCenter; import com.hfkj.common.utils.ResponseMsgUtil; -import com.hfkj.entity.BsStoreImg; import com.hfkj.entity.BsStoreProduct; -import com.hfkj.group.BsStoreGroupService; +import com.hfkj.service.group.BsStoreGroupService; import com.hfkj.model.ResponseData; import com.hfkj.model.UserInfoModel; import io.swagger.annotations.Api; diff --git a/cweb/src/main/java/com/cweb/controller/group/BsStoreGroupController.java b/cweb/src/main/java/com/cweb/controller/group/BsStoreGroupController.java index 51d6c06..482709d 100644 --- a/cweb/src/main/java/com/cweb/controller/group/BsStoreGroupController.java +++ b/cweb/src/main/java/com/cweb/controller/group/BsStoreGroupController.java @@ -8,8 +8,8 @@ import com.hfkj.common.exception.SysCode; import com.hfkj.common.security.UserCenter; import com.hfkj.common.utils.ResponseMsgUtil; import com.hfkj.entity.*; -import com.hfkj.group.BsStoreGroupProductService; -import com.hfkj.group.BsStoreGroupService; +import com.hfkj.service.group.BsStoreGroupProductService; +import com.hfkj.service.group.BsStoreGroupService; import com.hfkj.model.ResponseData; import com.hfkj.model.UserInfoModel; import io.swagger.annotations.Api; diff --git a/cweb/src/main/java/com/cweb/controller/group/BsStoreImgController.java b/cweb/src/main/java/com/cweb/controller/group/BsStoreImgController.java index b34c771..79241f1 100644 --- a/cweb/src/main/java/com/cweb/controller/group/BsStoreImgController.java +++ b/cweb/src/main/java/com/cweb/controller/group/BsStoreImgController.java @@ -6,12 +6,11 @@ import com.hfkj.common.exception.SysCode; import com.hfkj.common.security.UserCenter; import com.hfkj.common.utils.ResponseMsgUtil; import com.hfkj.entity.BsStoreImg; -import com.hfkj.group.BsStoreGroupService; +import com.hfkj.service.group.BsStoreGroupService; import com.hfkj.model.ResponseData; import com.hfkj.model.UserInfoModel; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/cweb/src/main/java/com/cweb/controller/group/BsStoreProductCategoryController.java b/cweb/src/main/java/com/cweb/controller/group/BsStoreProductCategoryController.java new file mode 100644 index 0000000..cf6efd9 --- /dev/null +++ b/cweb/src/main/java/com/cweb/controller/group/BsStoreProductCategoryController.java @@ -0,0 +1,211 @@ +package com.cweb.controller.group; + +import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.hfkj.common.exception.ErrorCode; +import com.hfkj.common.exception.ErrorHelp; +import com.hfkj.common.exception.SysCode; +import com.hfkj.common.security.UserCenter; +import com.hfkj.common.utils.ResponseMsgUtil; +import com.hfkj.entity.BsStoreProductCategory; +import com.hfkj.model.ResponseData; +import com.hfkj.model.UserInfoModel; +import com.hfkj.service.group.BsStoreProductCategoryService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +/** + * @className: BsStoreProductCategoryController + * @author: HuRui + * @date: 2023/11/28 + **/ +@Controller +@Api(value = "门店产品分类") +@RequestMapping(value = "/storeProductCategory") +public class BsStoreProductCategoryController { + + private static Logger log = LoggerFactory.getLogger(BsStoreProductCategoryController.class); + + @Resource + private BsStoreProductCategoryService storeProductCategoryService; + @Resource + private UserCenter userCenter; + + @RequestMapping(value="/editCategory",method = RequestMethod.POST) + @ResponseBody + @ApiOperation(value = "编辑分类") + public ResponseData editCategory(@RequestBody JSONObject body) { + try { + if (body == null || body.getLong("storeId") == null || StringUtils.isBlank(body.getString("name"))) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); + } + + UserInfoModel userInfoModel = userCenter.getSessionModel(UserInfoModel.class); + if (userInfoModel == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.SEC_USER_EXPIRED, ""); + } + + BsStoreProductCategory category = null; + if (body.getLong("id") != null) { + // 查询分类 + category = storeProductCategoryService.getCategory(body.getLong("id")); + category.setName(body.getString("name")); + } else { + category = new BsStoreProductCategory(); + category.setStoreId(body.getLong("storeId")); + category.setName(body.getString("name")); + category.setSort(storeProductCategoryService.getMaxSort(category.getStoreId()) + 1); + category.setOpId(userInfoModel.getSecUser().getId()); + category.setOpName(userInfoModel.getSecUser().getUserName()); + category.setStatus(1); + } + storeProductCategoryService.editData(category); + + // 刷新缓存 + storeProductCategoryService.getStoreCategoryCache(category.getStoreId(), true); + + return ResponseMsgUtil.success("操作成功"); + + } catch (Exception e) { + log.error(e.getMessage(), e); + return ResponseMsgUtil.exception(e); + } + } + + @RequestMapping(value="/delCategory",method = RequestMethod.POST) + @ResponseBody + @ApiOperation(value = "删除分类") + public ResponseData delCategory(@RequestBody JSONObject body) { + try { + if (body == null || body.getLong("id") == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); + } + + storeProductCategoryService.delCategory(body.getLong("id")); + + return ResponseMsgUtil.success("操作成功"); + + } catch (Exception e) { + log.error(e.getMessage(), e); + return ResponseMsgUtil.exception(e); + } + } + + @RequestMapping(value="/sortUp",method = RequestMethod.POST) + @ResponseBody + @ApiOperation(value = "向上排序") + public ResponseData sortUp(@RequestBody JSONObject body) { + try { + if (body == null || body.getLong("id") == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); + } + + storeProductCategoryService.sortUp(body.getLong("id")); + + return ResponseMsgUtil.success("操作成功"); + + } catch (Exception e) { + log.error(e.getMessage(), e); + return ResponseMsgUtil.exception(e); + } + } + + @RequestMapping(value="/sortDown",method = RequestMethod.POST) + @ResponseBody + @ApiOperation(value = "向下排序") + public ResponseData sortDown(@RequestBody JSONObject body) { + try { + if (body == null || body.getLong("id") == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); + } + + storeProductCategoryService.sortDown(body.getLong("id")); + + return ResponseMsgUtil.success("操作成功"); + + } catch (Exception e) { + log.error(e.getMessage(), e); + return ResponseMsgUtil.exception(e); + } + } + + @RequestMapping(value="/getCategory",method = RequestMethod.GET) + @ResponseBody + @ApiOperation(value = "查询分类详情") + public ResponseData getCategory(@RequestParam(value = "id" , required = true) Long id) { + try { + + return ResponseMsgUtil.success( storeProductCategoryService.getCategory(id)); + + } catch (Exception e) { + log.error(e.getMessage(), e); + return ResponseMsgUtil.exception(e); + } + } + + @RequestMapping(value="/getCategoryList",method = RequestMethod.GET) + @ResponseBody + @ApiOperation(value = "查询分类列表") + public ResponseData getCategoryList(@RequestParam(value = "storeId" , required = true) Long storeId, + @RequestParam(value = "name" , required = false) String name, + @RequestParam(value = "pageNum" , required = true) Integer pageNum, + @RequestParam(value = "pageSize" , required = true) Integer pageSize) { + try { + + Map param = new HashMap<>(); + param.put("storeId", storeId); + param.put("name", name); + + PageHelper.startPage(pageNum,pageSize); + return ResponseMsgUtil.success(new PageInfo<>(storeProductCategoryService.getCategoryList(param))); + + } catch (Exception e) { + log.error(e.getMessage(), e); + return ResponseMsgUtil.exception(e); + } + } + + @RequestMapping(value="/getALLCategory",method = RequestMethod.GET) + @ResponseBody + @ApiOperation(value = "查询所有分类") + public ResponseData getALLCategory(@RequestParam(value = "storeId" , required = true) Long storeId, + @RequestParam(value = "name" , required = false) String name) { + try { + + Map param = new HashMap<>(); + param.put("storeId", storeId); + param.put("name", name); + + return ResponseMsgUtil.success(storeProductCategoryService.getCategoryList(param)); + + } catch (Exception e) { + log.error(e.getMessage(), e); + return ResponseMsgUtil.exception(e); + } + } + + @RequestMapping(value="/getStoreProduct",method = RequestMethod.GET) + @ResponseBody + @ApiOperation(value = "查询门店分类及产品") + public ResponseData getStoreProduct(@RequestParam(value = "storeId" , required = true) Long storeId) { + try { + + return ResponseMsgUtil.success(storeProductCategoryService.getStoreCategoryCache(storeId,false)); + + } catch (Exception e) { + log.error(e.getMessage(), e); + return ResponseMsgUtil.exception(e); + } + } + +} diff --git a/cweb/src/main/java/com/cweb/controller/group/BsStoreProductController.java b/cweb/src/main/java/com/cweb/controller/group/BsStoreProductController.java index 2257dc2..4d3adab 100644 --- a/cweb/src/main/java/com/cweb/controller/group/BsStoreProductController.java +++ b/cweb/src/main/java/com/cweb/controller/group/BsStoreProductController.java @@ -6,9 +6,11 @@ import com.hfkj.common.exception.SysCode; import com.hfkj.common.security.UserCenter; import com.hfkj.common.utils.ResponseMsgUtil; import com.hfkj.entity.BsStoreProduct; -import com.hfkj.group.BsStoreGroupService; +import com.hfkj.entity.BsStoreProductCategory; +import com.hfkj.service.group.BsStoreGroupService; import com.hfkj.model.ResponseData; import com.hfkj.model.UserInfoModel; +import com.hfkj.service.group.BsStoreProductCategoryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; @@ -31,6 +33,9 @@ public class BsStoreProductController { @Resource private BsStoreGroupService storeGroupService; + @Resource + private BsStoreProductCategoryService storeProductCategoryService; + @Resource private UserCenter userCenter; @@ -89,12 +94,12 @@ public class BsStoreProductController { try { if (storeProduct == null + || storeProduct.getProductCategoryId() == null || storeProduct.getName() == null || storeProduct.getStoreId() == null || storeProduct.getPrice() == null || storeProduct.getSpec() == null || StringUtils.isBlank(storeProduct.getImg()) - ) { log.error("configStore error!","参数错误"); throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); @@ -105,6 +110,13 @@ public class BsStoreProductController { throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "该角色暂无权限"); } + BsStoreProductCategory category = storeProductCategoryService.getCategory(storeProduct.getProductCategoryId()); + if (category == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的分类"); + } + + storeProduct.setProductCategoryId(category.getId()); + storeProduct.setProductCategoryName(category.getName()); storeProduct.setStatus(1); storeProduct.setCreateTime(new Date()); storeProduct.setUpdateTime(new Date()); @@ -131,12 +143,12 @@ public class BsStoreProductController { if (storeProduct == null || storeProduct.getId() == null + || storeProduct.getProductCategoryId() == null || storeProduct.getName() == null || storeProduct.getStoreId() == null || storeProduct.getPrice() == null || storeProduct.getSpec() == null || StringUtils.isBlank(storeProduct.getImg()) - ) { log.error("configStore error!","参数错误"); throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); @@ -152,7 +164,10 @@ public class BsStoreProductController { if (bsStoreProduct == null) { throw ErrorHelp.genException(SysCode.System , ErrorCode.COMMON_ERROR , "暂无数据!"); } - + BsStoreProductCategory category = storeProductCategoryService.getCategory(storeProduct.getProductCategoryId()); + if (category == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的分类"); + } bsStoreProduct.setUpdateTime(new Date()); bsStoreProduct.setOpId(userInfoModel.getSalesman().getId()); bsStoreProduct.setOpName(userInfoModel.getSalesman().getName()); @@ -170,4 +185,5 @@ public class BsStoreProductController { return ResponseMsgUtil.exception(e); } } + } diff --git a/cweb/src/main/java/com/cweb/controller/group/OpenGroupController.java b/cweb/src/main/java/com/cweb/controller/group/OpenGroupController.java index f487f43..ec2ecf0 100644 --- a/cweb/src/main/java/com/cweb/controller/group/OpenGroupController.java +++ b/cweb/src/main/java/com/cweb/controller/group/OpenGroupController.java @@ -1,16 +1,14 @@ package com.cweb.controller.group; import com.alibaba.fastjson.JSONObject; -import com.cweb.controller.CommonController; import com.hfkj.common.exception.ErrorCode; import com.hfkj.common.exception.ErrorHelp; import com.hfkj.common.exception.SysCode; import com.hfkj.common.utils.CoordCommonUtil; import com.hfkj.common.utils.ResponseMsgUtil; import com.hfkj.entity.*; -import com.hfkj.group.BsStoreGroupProductService; -import com.hfkj.group.BsStoreGroupService; -import com.hfkj.model.GroupContentModel; +import com.hfkj.service.group.BsStoreGroupProductService; +import com.hfkj.service.group.BsStoreGroupService; import com.hfkj.model.OpenStoreModel; import com.hfkj.model.ResponseData; import com.hfkj.service.BsMerService; diff --git a/service/src/main/java/com/hfkj/dao/BsStoreProductCategoryMapper.java b/service/src/main/java/com/hfkj/dao/BsStoreProductCategoryMapper.java new file mode 100644 index 0000000..c8c290c --- /dev/null +++ b/service/src/main/java/com/hfkj/dao/BsStoreProductCategoryMapper.java @@ -0,0 +1,125 @@ +package com.hfkj.dao; + +import com.hfkj.entity.BsStoreProductCategory; +import com.hfkj.entity.BsStoreProductCategoryExample; +import java.util.List; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.DeleteProvider; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.InsertProvider; +import org.apache.ibatis.annotations.Options; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.annotations.Update; +import org.apache.ibatis.annotations.UpdateProvider; +import org.apache.ibatis.type.JdbcType; +import org.springframework.stereotype.Repository; + +/** + * + * 代码由工具生成,请勿修改!!! + * 如果需要扩展请在其父类进行扩展 + * + **/ +@Repository +public interface BsStoreProductCategoryMapper extends BsStoreProductCategoryMapperExt { + @SelectProvider(type=BsStoreProductCategorySqlProvider.class, method="countByExample") + long countByExample(BsStoreProductCategoryExample example); + + @DeleteProvider(type=BsStoreProductCategorySqlProvider.class, method="deleteByExample") + int deleteByExample(BsStoreProductCategoryExample example); + + @Delete({ + "delete from bs_store_product_category", + "where id = #{id,jdbcType=BIGINT}" + }) + int deleteByPrimaryKey(Long id); + + @Insert({ + "insert into bs_store_product_category (store_id, `name`, ", + "sort, create_time, ", + "update_time, `status`, ", + "op_id, op_name, ext_1, ", + "ext_2, ext_3)", + "values (#{storeId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, ", + "#{sort,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, ", + "#{updateTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, ", + "#{opId,jdbcType=BIGINT}, #{opName,jdbcType=VARCHAR}, #{ext1,jdbcType=VARCHAR}, ", + "#{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})" + }) + @Options(useGeneratedKeys=true,keyProperty="id") + int insert(BsStoreProductCategory record); + + @InsertProvider(type=BsStoreProductCategorySqlProvider.class, method="insertSelective") + @Options(useGeneratedKeys=true,keyProperty="id") + int insertSelective(BsStoreProductCategory record); + + @SelectProvider(type=BsStoreProductCategorySqlProvider.class, method="selectByExample") + @Results({ + @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), + @Result(column="store_id", property="storeId", jdbcType=JdbcType.BIGINT), + @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), + @Result(column="sort", property="sort", jdbcType=JdbcType.INTEGER), + @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), + @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP), + @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), + @Result(column="op_id", property="opId", jdbcType=JdbcType.BIGINT), + @Result(column="op_name", property="opName", jdbcType=JdbcType.VARCHAR), + @Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR), + @Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR), + @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR) + }) + List selectByExample(BsStoreProductCategoryExample example); + + @Select({ + "select", + "id, store_id, `name`, sort, create_time, update_time, `status`, op_id, op_name, ", + "ext_1, ext_2, ext_3", + "from bs_store_product_category", + "where id = #{id,jdbcType=BIGINT}" + }) + @Results({ + @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), + @Result(column="store_id", property="storeId", jdbcType=JdbcType.BIGINT), + @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), + @Result(column="sort", property="sort", jdbcType=JdbcType.INTEGER), + @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), + @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP), + @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), + @Result(column="op_id", property="opId", jdbcType=JdbcType.BIGINT), + @Result(column="op_name", property="opName", jdbcType=JdbcType.VARCHAR), + @Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR), + @Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR), + @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR) + }) + BsStoreProductCategory selectByPrimaryKey(Long id); + + @UpdateProvider(type=BsStoreProductCategorySqlProvider.class, method="updateByExampleSelective") + int updateByExampleSelective(@Param("record") BsStoreProductCategory record, @Param("example") BsStoreProductCategoryExample example); + + @UpdateProvider(type=BsStoreProductCategorySqlProvider.class, method="updateByExample") + int updateByExample(@Param("record") BsStoreProductCategory record, @Param("example") BsStoreProductCategoryExample example); + + @UpdateProvider(type=BsStoreProductCategorySqlProvider.class, method="updateByPrimaryKeySelective") + int updateByPrimaryKeySelective(BsStoreProductCategory record); + + @Update({ + "update bs_store_product_category", + "set store_id = #{storeId,jdbcType=BIGINT},", + "`name` = #{name,jdbcType=VARCHAR},", + "sort = #{sort,jdbcType=INTEGER},", + "create_time = #{createTime,jdbcType=TIMESTAMP},", + "update_time = #{updateTime,jdbcType=TIMESTAMP},", + "`status` = #{status,jdbcType=INTEGER},", + "op_id = #{opId,jdbcType=BIGINT},", + "op_name = #{opName,jdbcType=VARCHAR},", + "ext_1 = #{ext1,jdbcType=VARCHAR},", + "ext_2 = #{ext2,jdbcType=VARCHAR},", + "ext_3 = #{ext3,jdbcType=VARCHAR}", + "where id = #{id,jdbcType=BIGINT}" + }) + int updateByPrimaryKey(BsStoreProductCategory record); +} \ No newline at end of file diff --git a/service/src/main/java/com/hfkj/dao/BsStoreProductCategoryMapperExt.java b/service/src/main/java/com/hfkj/dao/BsStoreProductCategoryMapperExt.java new file mode 100644 index 0000000..dbccbeb --- /dev/null +++ b/service/src/main/java/com/hfkj/dao/BsStoreProductCategoryMapperExt.java @@ -0,0 +1,14 @@ +package com.hfkj.dao; + +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * mapper扩展类 + */ +public interface BsStoreProductCategoryMapperExt { + + @Select("") + Integer queryMaxSort(@Param("storeId") Long storeId); + +} diff --git a/service/src/main/java/com/hfkj/dao/BsStoreProductCategorySqlProvider.java b/service/src/main/java/com/hfkj/dao/BsStoreProductCategorySqlProvider.java new file mode 100644 index 0000000..f72e751 --- /dev/null +++ b/service/src/main/java/com/hfkj/dao/BsStoreProductCategorySqlProvider.java @@ -0,0 +1,332 @@ +package com.hfkj.dao; + +import com.hfkj.entity.BsStoreProductCategory; +import com.hfkj.entity.BsStoreProductCategoryExample.Criteria; +import com.hfkj.entity.BsStoreProductCategoryExample.Criterion; +import com.hfkj.entity.BsStoreProductCategoryExample; +import java.util.List; +import java.util.Map; +import org.apache.ibatis.jdbc.SQL; + +public class BsStoreProductCategorySqlProvider { + + public String countByExample(BsStoreProductCategoryExample example) { + SQL sql = new SQL(); + sql.SELECT("count(*)").FROM("bs_store_product_category"); + applyWhere(sql, example, false); + return sql.toString(); + } + + public String deleteByExample(BsStoreProductCategoryExample example) { + SQL sql = new SQL(); + sql.DELETE_FROM("bs_store_product_category"); + applyWhere(sql, example, false); + return sql.toString(); + } + + public String insertSelective(BsStoreProductCategory record) { + SQL sql = new SQL(); + sql.INSERT_INTO("bs_store_product_category"); + + if (record.getStoreId() != null) { + sql.VALUES("store_id", "#{storeId,jdbcType=BIGINT}"); + } + + if (record.getName() != null) { + sql.VALUES("`name`", "#{name,jdbcType=VARCHAR}"); + } + + if (record.getSort() != null) { + sql.VALUES("sort", "#{sort,jdbcType=INTEGER}"); + } + + if (record.getCreateTime() != null) { + sql.VALUES("create_time", "#{createTime,jdbcType=TIMESTAMP}"); + } + + if (record.getUpdateTime() != null) { + sql.VALUES("update_time", "#{updateTime,jdbcType=TIMESTAMP}"); + } + + if (record.getStatus() != null) { + sql.VALUES("`status`", "#{status,jdbcType=INTEGER}"); + } + + if (record.getOpId() != null) { + sql.VALUES("op_id", "#{opId,jdbcType=BIGINT}"); + } + + if (record.getOpName() != null) { + sql.VALUES("op_name", "#{opName,jdbcType=VARCHAR}"); + } + + if (record.getExt1() != null) { + sql.VALUES("ext_1", "#{ext1,jdbcType=VARCHAR}"); + } + + if (record.getExt2() != null) { + sql.VALUES("ext_2", "#{ext2,jdbcType=VARCHAR}"); + } + + if (record.getExt3() != null) { + sql.VALUES("ext_3", "#{ext3,jdbcType=VARCHAR}"); + } + + return sql.toString(); + } + + public String selectByExample(BsStoreProductCategoryExample example) { + SQL sql = new SQL(); + if (example != null && example.isDistinct()) { + sql.SELECT_DISTINCT("id"); + } else { + sql.SELECT("id"); + } + sql.SELECT("store_id"); + sql.SELECT("`name`"); + sql.SELECT("sort"); + sql.SELECT("create_time"); + sql.SELECT("update_time"); + sql.SELECT("`status`"); + sql.SELECT("op_id"); + sql.SELECT("op_name"); + sql.SELECT("ext_1"); + sql.SELECT("ext_2"); + sql.SELECT("ext_3"); + sql.FROM("bs_store_product_category"); + applyWhere(sql, example, false); + + if (example != null && example.getOrderByClause() != null) { + sql.ORDER_BY(example.getOrderByClause()); + } + + return sql.toString(); + } + + public String updateByExampleSelective(Map parameter) { + BsStoreProductCategory record = (BsStoreProductCategory) parameter.get("record"); + BsStoreProductCategoryExample example = (BsStoreProductCategoryExample) parameter.get("example"); + + SQL sql = new SQL(); + sql.UPDATE("bs_store_product_category"); + + if (record.getId() != null) { + sql.SET("id = #{record.id,jdbcType=BIGINT}"); + } + + if (record.getStoreId() != null) { + sql.SET("store_id = #{record.storeId,jdbcType=BIGINT}"); + } + + if (record.getName() != null) { + sql.SET("`name` = #{record.name,jdbcType=VARCHAR}"); + } + + if (record.getSort() != null) { + sql.SET("sort = #{record.sort,jdbcType=INTEGER}"); + } + + if (record.getCreateTime() != null) { + sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}"); + } + + if (record.getUpdateTime() != null) { + sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}"); + } + + if (record.getStatus() != null) { + sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); + } + + if (record.getOpId() != null) { + sql.SET("op_id = #{record.opId,jdbcType=BIGINT}"); + } + + if (record.getOpName() != null) { + sql.SET("op_name = #{record.opName,jdbcType=VARCHAR}"); + } + + if (record.getExt1() != null) { + sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}"); + } + + if (record.getExt2() != null) { + sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}"); + } + + if (record.getExt3() != null) { + sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}"); + } + + applyWhere(sql, example, true); + return sql.toString(); + } + + public String updateByExample(Map parameter) { + SQL sql = new SQL(); + sql.UPDATE("bs_store_product_category"); + + sql.SET("id = #{record.id,jdbcType=BIGINT}"); + sql.SET("store_id = #{record.storeId,jdbcType=BIGINT}"); + sql.SET("`name` = #{record.name,jdbcType=VARCHAR}"); + sql.SET("sort = #{record.sort,jdbcType=INTEGER}"); + sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}"); + sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}"); + sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); + sql.SET("op_id = #{record.opId,jdbcType=BIGINT}"); + sql.SET("op_name = #{record.opName,jdbcType=VARCHAR}"); + sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}"); + sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}"); + sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}"); + + BsStoreProductCategoryExample example = (BsStoreProductCategoryExample) parameter.get("example"); + applyWhere(sql, example, true); + return sql.toString(); + } + + public String updateByPrimaryKeySelective(BsStoreProductCategory record) { + SQL sql = new SQL(); + sql.UPDATE("bs_store_product_category"); + + if (record.getStoreId() != null) { + sql.SET("store_id = #{storeId,jdbcType=BIGINT}"); + } + + if (record.getName() != null) { + sql.SET("`name` = #{name,jdbcType=VARCHAR}"); + } + + if (record.getSort() != null) { + sql.SET("sort = #{sort,jdbcType=INTEGER}"); + } + + if (record.getCreateTime() != null) { + sql.SET("create_time = #{createTime,jdbcType=TIMESTAMP}"); + } + + if (record.getUpdateTime() != null) { + sql.SET("update_time = #{updateTime,jdbcType=TIMESTAMP}"); + } + + if (record.getStatus() != null) { + sql.SET("`status` = #{status,jdbcType=INTEGER}"); + } + + if (record.getOpId() != null) { + sql.SET("op_id = #{opId,jdbcType=BIGINT}"); + } + + if (record.getOpName() != null) { + sql.SET("op_name = #{opName,jdbcType=VARCHAR}"); + } + + if (record.getExt1() != null) { + sql.SET("ext_1 = #{ext1,jdbcType=VARCHAR}"); + } + + if (record.getExt2() != null) { + sql.SET("ext_2 = #{ext2,jdbcType=VARCHAR}"); + } + + if (record.getExt3() != null) { + sql.SET("ext_3 = #{ext3,jdbcType=VARCHAR}"); + } + + sql.WHERE("id = #{id,jdbcType=BIGINT}"); + + return sql.toString(); + } + + protected void applyWhere(SQL sql, BsStoreProductCategoryExample example, boolean includeExamplePhrase) { + if (example == null) { + return; + } + + String parmPhrase1; + String parmPhrase1_th; + String parmPhrase2; + String parmPhrase2_th; + String parmPhrase3; + String parmPhrase3_th; + if (includeExamplePhrase) { + parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}"; + parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; + parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}"; + parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; + parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}"; + parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; + } else { + parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}"; + parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; + parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}"; + parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; + parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}"; + parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; + } + + StringBuilder sb = new StringBuilder(); + List oredCriteria = example.getOredCriteria(); + boolean firstCriteria = true; + for (int i = 0; i < oredCriteria.size(); i++) { + Criteria criteria = oredCriteria.get(i); + if (criteria.isValid()) { + if (firstCriteria) { + firstCriteria = false; + } else { + sb.append(" or "); + } + + sb.append('('); + List criterions = criteria.getAllCriteria(); + boolean firstCriterion = true; + for (int j = 0; j < criterions.size(); j++) { + Criterion criterion = criterions.get(j); + if (firstCriterion) { + firstCriterion = false; + } else { + sb.append(" and "); + } + + if (criterion.isNoValue()) { + sb.append(criterion.getCondition()); + } else if (criterion.isSingleValue()) { + if (criterion.getTypeHandler() == null) { + sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j)); + } else { + sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler())); + } + } else if (criterion.isBetweenValue()) { + if (criterion.getTypeHandler() == null) { + sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j)); + } else { + sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler())); + } + } else if (criterion.isListValue()) { + sb.append(criterion.getCondition()); + sb.append(" ("); + List listItems = (List) criterion.getValue(); + boolean comma = false; + for (int k = 0; k < listItems.size(); k++) { + if (comma) { + sb.append(", "); + } else { + comma = true; + } + if (criterion.getTypeHandler() == null) { + sb.append(String.format(parmPhrase3, i, j, k)); + } else { + sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler())); + } + } + sb.append(')'); + } + } + sb.append(')'); + } + } + + if (sb.length() > 0) { + sql.WHERE(sb.toString()); + } + } +} \ No newline at end of file diff --git a/service/src/main/java/com/hfkj/dao/BsStoreProductMapper.java b/service/src/main/java/com/hfkj/dao/BsStoreProductMapper.java index 73046ee..c063da5 100644 --- a/service/src/main/java/com/hfkj/dao/BsStoreProductMapper.java +++ b/service/src/main/java/com/hfkj/dao/BsStoreProductMapper.java @@ -39,13 +39,15 @@ public interface BsStoreProductMapper extends BsStoreProductMapperExt { int deleteByPrimaryKey(Long id); @Insert({ - "insert into bs_store_product (store_id, img, ", + "insert into bs_store_product (store_id, product_category_id, ", + "product_category_name, img, ", "`name`, price, sale_count, ", "spec, create_time, ", "update_time, `status`, ", "op_id, op_name, ext_1, ", "ext_2, ext_3)", - "values (#{storeId,jdbcType=BIGINT}, #{img,jdbcType=VARCHAR}, ", + "values (#{storeId,jdbcType=BIGINT}, #{productCategoryId,jdbcType=BIGINT}, ", + "#{productCategoryName,jdbcType=VARCHAR}, #{img,jdbcType=VARCHAR}, ", "#{name,jdbcType=VARCHAR}, #{price,jdbcType=DECIMAL}, #{saleCount,jdbcType=INTEGER}, ", "#{spec,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, ", "#{updateTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, ", @@ -63,6 +65,8 @@ public interface BsStoreProductMapper extends BsStoreProductMapperExt { @Results({ @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @Result(column="store_id", property="storeId", jdbcType=JdbcType.BIGINT), + @Result(column="product_category_id", property="productCategoryId", jdbcType=JdbcType.BIGINT), + @Result(column="product_category_name", property="productCategoryName", jdbcType=JdbcType.VARCHAR), @Result(column="img", property="img", jdbcType=JdbcType.VARCHAR), @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), @Result(column="price", property="price", jdbcType=JdbcType.DECIMAL), @@ -81,14 +85,17 @@ public interface BsStoreProductMapper extends BsStoreProductMapperExt { @Select({ "select", - "id, store_id, img, `name`, price, sale_count, spec, create_time, update_time, ", - "`status`, op_id, op_name, ext_1, ext_2, ext_3", + "id, store_id, product_category_id, product_category_name, img, `name`, price, ", + "sale_count, spec, create_time, update_time, `status`, op_id, op_name, ext_1, ", + "ext_2, ext_3", "from bs_store_product", "where id = #{id,jdbcType=BIGINT}" }) @Results({ @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @Result(column="store_id", property="storeId", jdbcType=JdbcType.BIGINT), + @Result(column="product_category_id", property="productCategoryId", jdbcType=JdbcType.BIGINT), + @Result(column="product_category_name", property="productCategoryName", jdbcType=JdbcType.VARCHAR), @Result(column="img", property="img", jdbcType=JdbcType.VARCHAR), @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), @Result(column="price", property="price", jdbcType=JdbcType.DECIMAL), @@ -117,6 +124,8 @@ public interface BsStoreProductMapper extends BsStoreProductMapperExt { @Update({ "update bs_store_product", "set store_id = #{storeId,jdbcType=BIGINT},", + "product_category_id = #{productCategoryId,jdbcType=BIGINT},", + "product_category_name = #{productCategoryName,jdbcType=VARCHAR},", "img = #{img,jdbcType=VARCHAR},", "`name` = #{name,jdbcType=VARCHAR},", "price = #{price,jdbcType=DECIMAL},", diff --git a/service/src/main/java/com/hfkj/dao/BsStoreProductSqlProvider.java b/service/src/main/java/com/hfkj/dao/BsStoreProductSqlProvider.java index c41d608..7ae0a7e 100644 --- a/service/src/main/java/com/hfkj/dao/BsStoreProductSqlProvider.java +++ b/service/src/main/java/com/hfkj/dao/BsStoreProductSqlProvider.java @@ -32,6 +32,14 @@ public class BsStoreProductSqlProvider { sql.VALUES("store_id", "#{storeId,jdbcType=BIGINT}"); } + if (record.getProductCategoryId() != null) { + sql.VALUES("product_category_id", "#{productCategoryId,jdbcType=BIGINT}"); + } + + if (record.getProductCategoryName() != null) { + sql.VALUES("product_category_name", "#{productCategoryName,jdbcType=VARCHAR}"); + } + if (record.getImg() != null) { sql.VALUES("img", "#{img,jdbcType=VARCHAR}"); } @@ -95,6 +103,8 @@ public class BsStoreProductSqlProvider { sql.SELECT("id"); } sql.SELECT("store_id"); + sql.SELECT("product_category_id"); + sql.SELECT("product_category_name"); sql.SELECT("img"); sql.SELECT("`name`"); sql.SELECT("price"); @@ -133,6 +143,14 @@ public class BsStoreProductSqlProvider { sql.SET("store_id = #{record.storeId,jdbcType=BIGINT}"); } + if (record.getProductCategoryId() != null) { + sql.SET("product_category_id = #{record.productCategoryId,jdbcType=BIGINT}"); + } + + if (record.getProductCategoryName() != null) { + sql.SET("product_category_name = #{record.productCategoryName,jdbcType=VARCHAR}"); + } + if (record.getImg() != null) { sql.SET("img = #{record.img,jdbcType=VARCHAR}"); } @@ -195,6 +213,8 @@ public class BsStoreProductSqlProvider { sql.SET("id = #{record.id,jdbcType=BIGINT}"); sql.SET("store_id = #{record.storeId,jdbcType=BIGINT}"); + sql.SET("product_category_id = #{record.productCategoryId,jdbcType=BIGINT}"); + sql.SET("product_category_name = #{record.productCategoryName,jdbcType=VARCHAR}"); sql.SET("img = #{record.img,jdbcType=VARCHAR}"); sql.SET("`name` = #{record.name,jdbcType=VARCHAR}"); sql.SET("price = #{record.price,jdbcType=DECIMAL}"); @@ -222,6 +242,14 @@ public class BsStoreProductSqlProvider { sql.SET("store_id = #{storeId,jdbcType=BIGINT}"); } + if (record.getProductCategoryId() != null) { + sql.SET("product_category_id = #{productCategoryId,jdbcType=BIGINT}"); + } + + if (record.getProductCategoryName() != null) { + sql.SET("product_category_name = #{productCategoryName,jdbcType=VARCHAR}"); + } + if (record.getImg() != null) { sql.SET("img = #{img,jdbcType=VARCHAR}"); } diff --git a/service/src/main/java/com/hfkj/entity/BsStoreProduct.java b/service/src/main/java/com/hfkj/entity/BsStoreProduct.java index 2988906..92a48d6 100644 --- a/service/src/main/java/com/hfkj/entity/BsStoreProduct.java +++ b/service/src/main/java/com/hfkj/entity/BsStoreProduct.java @@ -24,6 +24,16 @@ public class BsStoreProduct implements Serializable { */ private Long storeId; + /** + * 产品分类id + */ + private Long productCategoryId; + + /** + * 产品分类名称 + */ + private String productCategoryName; + /** * 产品图片 */ @@ -60,7 +70,7 @@ public class BsStoreProduct implements Serializable { private Date updateTime; /** - * 状态:1 正常 0 删除 + * 状态:0:不可用 1:正常 */ private Integer status; @@ -107,6 +117,22 @@ public class BsStoreProduct implements Serializable { this.storeId = storeId; } + public Long getProductCategoryId() { + return productCategoryId; + } + + public void setProductCategoryId(Long productCategoryId) { + this.productCategoryId = productCategoryId; + } + + public String getProductCategoryName() { + return productCategoryName; + } + + public void setProductCategoryName(String productCategoryName) { + this.productCategoryName = productCategoryName; + } + public String getImg() { return img; } @@ -225,6 +251,8 @@ public class BsStoreProduct implements Serializable { BsStoreProduct other = (BsStoreProduct) that; return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) && (this.getStoreId() == null ? other.getStoreId() == null : this.getStoreId().equals(other.getStoreId())) + && (this.getProductCategoryId() == null ? other.getProductCategoryId() == null : this.getProductCategoryId().equals(other.getProductCategoryId())) + && (this.getProductCategoryName() == null ? other.getProductCategoryName() == null : this.getProductCategoryName().equals(other.getProductCategoryName())) && (this.getImg() == null ? other.getImg() == null : this.getImg().equals(other.getImg())) && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName())) && (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice())) @@ -246,6 +274,8 @@ public class BsStoreProduct implements Serializable { int result = 1; result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); result = prime * result + ((getStoreId() == null) ? 0 : getStoreId().hashCode()); + result = prime * result + ((getProductCategoryId() == null) ? 0 : getProductCategoryId().hashCode()); + result = prime * result + ((getProductCategoryName() == null) ? 0 : getProductCategoryName().hashCode()); result = prime * result + ((getImg() == null) ? 0 : getImg().hashCode()); result = prime * result + ((getName() == null) ? 0 : getName().hashCode()); result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode()); @@ -270,6 +300,8 @@ public class BsStoreProduct implements Serializable { sb.append("Hash = ").append(hashCode()); sb.append(", id=").append(id); sb.append(", storeId=").append(storeId); + sb.append(", productCategoryId=").append(productCategoryId); + sb.append(", productCategoryName=").append(productCategoryName); sb.append(", img=").append(img); sb.append(", name=").append(name); sb.append(", price=").append(price); diff --git a/service/src/main/java/com/hfkj/entity/BsStoreProductCategory.java b/service/src/main/java/com/hfkj/entity/BsStoreProductCategory.java new file mode 100644 index 0000000..0470ced --- /dev/null +++ b/service/src/main/java/com/hfkj/entity/BsStoreProductCategory.java @@ -0,0 +1,255 @@ +package com.hfkj.entity; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * bs_store_product_category + * @author + */ +/** + * + * 代码由工具生成 + * + **/ +public class BsStoreProductCategory implements Serializable { + /** + * 主键 + */ + private Long id; + + /** + * 门店id + */ + private Long storeId; + + /** + * 类别名称 + */ + private String name; + + /** + * 排序 + */ + private Integer sort; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 状态: 0:不可用 1:可用 + */ + private Integer status; + + /** + * 操作人 + */ + private Long opId; + + /** + * 操作人名称 + */ + private String opName; + + /** + * ext_1 + */ + private String ext1; + + /** + * ext_2 + */ + private String ext2; + + /** + * ext_3 + */ + private String ext3; + + /** + * 产品列表 + */ + List productList; + + public List getProductList() { + return productList; + } + + public void setProductList(List productList) { + this.productList = productList; + } + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getStoreId() { + return storeId; + } + + public void setStoreId(Long storeId) { + this.storeId = storeId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getSort() { + return sort; + } + + public void setSort(Integer sort) { + this.sort = sort; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Long getOpId() { + return opId; + } + + public void setOpId(Long opId) { + this.opId = opId; + } + + public String getOpName() { + return opName; + } + + public void setOpName(String opName) { + this.opName = opName; + } + + public String getExt1() { + return ext1; + } + + public void setExt1(String ext1) { + this.ext1 = ext1; + } + + public String getExt2() { + return ext2; + } + + public void setExt2(String ext2) { + this.ext2 = ext2; + } + + public String getExt3() { + return ext3; + } + + public void setExt3(String ext3) { + this.ext3 = ext3; + } + + @Override + public boolean equals(Object that) { + if (this == that) { + return true; + } + if (that == null) { + return false; + } + if (getClass() != that.getClass()) { + return false; + } + BsStoreProductCategory other = (BsStoreProductCategory) that; + return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) + && (this.getStoreId() == null ? other.getStoreId() == null : this.getStoreId().equals(other.getStoreId())) + && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName())) + && (this.getSort() == null ? other.getSort() == null : this.getSort().equals(other.getSort())) + && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime())) + && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime())) + && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus())) + && (this.getOpId() == null ? other.getOpId() == null : this.getOpId().equals(other.getOpId())) + && (this.getOpName() == null ? other.getOpName() == null : this.getOpName().equals(other.getOpName())) + && (this.getExt1() == null ? other.getExt1() == null : this.getExt1().equals(other.getExt1())) + && (this.getExt2() == null ? other.getExt2() == null : this.getExt2().equals(other.getExt2())) + && (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3())); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); + result = prime * result + ((getStoreId() == null) ? 0 : getStoreId().hashCode()); + result = prime * result + ((getName() == null) ? 0 : getName().hashCode()); + result = prime * result + ((getSort() == null) ? 0 : getSort().hashCode()); + result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode()); + result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode()); + result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode()); + result = prime * result + ((getOpId() == null) ? 0 : getOpId().hashCode()); + result = prime * result + ((getOpName() == null) ? 0 : getOpName().hashCode()); + result = prime * result + ((getExt1() == null) ? 0 : getExt1().hashCode()); + result = prime * result + ((getExt2() == null) ? 0 : getExt2().hashCode()); + result = prime * result + ((getExt3() == null) ? 0 : getExt3().hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", storeId=").append(storeId); + sb.append(", name=").append(name); + sb.append(", sort=").append(sort); + sb.append(", createTime=").append(createTime); + sb.append(", updateTime=").append(updateTime); + sb.append(", status=").append(status); + sb.append(", opId=").append(opId); + sb.append(", opName=").append(opName); + sb.append(", ext1=").append(ext1); + sb.append(", ext2=").append(ext2); + sb.append(", ext3=").append(ext3); + sb.append(", serialVersionUID=").append(serialVersionUID); + sb.append("]"); + return sb.toString(); + } +} diff --git a/service/src/main/java/com/hfkj/entity/BsStoreProductCategoryExample.java b/service/src/main/java/com/hfkj/entity/BsStoreProductCategoryExample.java new file mode 100644 index 0000000..7f1fb44 --- /dev/null +++ b/service/src/main/java/com/hfkj/entity/BsStoreProductCategoryExample.java @@ -0,0 +1,993 @@ +package com.hfkj.entity; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class BsStoreProductCategoryExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + private Integer limit; + + private Long offset; + + public BsStoreProductCategoryExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + public void setLimit(Integer limit) { + this.limit = limit; + } + + public Integer getLimit() { + return limit; + } + + public void setOffset(Long offset) { + this.offset = offset; + } + + public Long getOffset() { + return offset; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andStoreIdIsNull() { + addCriterion("store_id is null"); + return (Criteria) this; + } + + public Criteria andStoreIdIsNotNull() { + addCriterion("store_id is not null"); + return (Criteria) this; + } + + public Criteria andStoreIdEqualTo(Long value) { + addCriterion("store_id =", value, "storeId"); + return (Criteria) this; + } + + public Criteria andStoreIdNotEqualTo(Long value) { + addCriterion("store_id <>", value, "storeId"); + return (Criteria) this; + } + + public Criteria andStoreIdGreaterThan(Long value) { + addCriterion("store_id >", value, "storeId"); + return (Criteria) this; + } + + public Criteria andStoreIdGreaterThanOrEqualTo(Long value) { + addCriterion("store_id >=", value, "storeId"); + return (Criteria) this; + } + + public Criteria andStoreIdLessThan(Long value) { + addCriterion("store_id <", value, "storeId"); + return (Criteria) this; + } + + public Criteria andStoreIdLessThanOrEqualTo(Long value) { + addCriterion("store_id <=", value, "storeId"); + return (Criteria) this; + } + + public Criteria andStoreIdIn(List values) { + addCriterion("store_id in", values, "storeId"); + return (Criteria) this; + } + + public Criteria andStoreIdNotIn(List values) { + addCriterion("store_id not in", values, "storeId"); + return (Criteria) this; + } + + public Criteria andStoreIdBetween(Long value1, Long value2) { + addCriterion("store_id between", value1, value2, "storeId"); + return (Criteria) this; + } + + public Criteria andStoreIdNotBetween(Long value1, Long value2) { + addCriterion("store_id not between", value1, value2, "storeId"); + return (Criteria) this; + } + + public Criteria andNameIsNull() { + addCriterion("`name` is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("`name` is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("`name` =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("`name` <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("`name` >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("`name` >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("`name` <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("`name` <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("`name` like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("`name` not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("`name` in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("`name` not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("`name` between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("`name` not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andSortIsNull() { + addCriterion("sort is null"); + return (Criteria) this; + } + + public Criteria andSortIsNotNull() { + addCriterion("sort is not null"); + return (Criteria) this; + } + + public Criteria andSortEqualTo(Integer value) { + addCriterion("sort =", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortNotEqualTo(Integer value) { + addCriterion("sort <>", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortGreaterThan(Integer value) { + addCriterion("sort >", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortGreaterThanOrEqualTo(Integer value) { + addCriterion("sort >=", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortLessThan(Integer value) { + addCriterion("sort <", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortLessThanOrEqualTo(Integer value) { + addCriterion("sort <=", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortIn(List values) { + addCriterion("sort in", values, "sort"); + return (Criteria) this; + } + + public Criteria andSortNotIn(List values) { + addCriterion("sort not in", values, "sort"); + return (Criteria) this; + } + + public Criteria andSortBetween(Integer value1, Integer value2) { + addCriterion("sort between", value1, value2, "sort"); + return (Criteria) this; + } + + public Criteria andSortNotBetween(Integer value1, Integer value2) { + addCriterion("sort not between", value1, value2, "sort"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNull() { + addCriterion("create_time is null"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNotNull() { + addCriterion("create_time is not null"); + return (Criteria) this; + } + + public Criteria andCreateTimeEqualTo(Date value) { + addCriterion("create_time =", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotEqualTo(Date value) { + addCriterion("create_time <>", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThan(Date value) { + addCriterion("create_time >", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { + addCriterion("create_time >=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThan(Date value) { + addCriterion("create_time <", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThanOrEqualTo(Date value) { + addCriterion("create_time <=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeIn(List values) { + addCriterion("create_time in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotIn(List values) { + addCriterion("create_time not in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeBetween(Date value1, Date value2) { + addCriterion("create_time between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotBetween(Date value1, Date value2) { + addCriterion("create_time not between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIsNull() { + addCriterion("update_time is null"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIsNotNull() { + addCriterion("update_time is not null"); + return (Criteria) this; + } + + public Criteria andUpdateTimeEqualTo(Date value) { + addCriterion("update_time =", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotEqualTo(Date value) { + addCriterion("update_time <>", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeGreaterThan(Date value) { + addCriterion("update_time >", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) { + addCriterion("update_time >=", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeLessThan(Date value) { + addCriterion("update_time <", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeLessThanOrEqualTo(Date value) { + addCriterion("update_time <=", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIn(List values) { + addCriterion("update_time in", values, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotIn(List values) { + addCriterion("update_time not in", values, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeBetween(Date value1, Date value2) { + addCriterion("update_time between", value1, value2, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotBetween(Date value1, Date value2) { + addCriterion("update_time not between", value1, value2, "updateTime"); + return (Criteria) this; + } + + public Criteria andStatusIsNull() { + addCriterion("`status` is null"); + return (Criteria) this; + } + + public Criteria andStatusIsNotNull() { + addCriterion("`status` is not null"); + return (Criteria) this; + } + + public Criteria andStatusEqualTo(Integer value) { + addCriterion("`status` =", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotEqualTo(Integer value) { + addCriterion("`status` <>", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThan(Integer value) { + addCriterion("`status` >", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThanOrEqualTo(Integer value) { + addCriterion("`status` >=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThan(Integer value) { + addCriterion("`status` <", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThanOrEqualTo(Integer value) { + addCriterion("`status` <=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusIn(List values) { + addCriterion("`status` in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotIn(List values) { + addCriterion("`status` not in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusBetween(Integer value1, Integer value2) { + addCriterion("`status` between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotBetween(Integer value1, Integer value2) { + addCriterion("`status` not between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andOpIdIsNull() { + addCriterion("op_id is null"); + return (Criteria) this; + } + + public Criteria andOpIdIsNotNull() { + addCriterion("op_id is not null"); + return (Criteria) this; + } + + public Criteria andOpIdEqualTo(Long value) { + addCriterion("op_id =", value, "opId"); + return (Criteria) this; + } + + public Criteria andOpIdNotEqualTo(Long value) { + addCriterion("op_id <>", value, "opId"); + return (Criteria) this; + } + + public Criteria andOpIdGreaterThan(Long value) { + addCriterion("op_id >", value, "opId"); + return (Criteria) this; + } + + public Criteria andOpIdGreaterThanOrEqualTo(Long value) { + addCriterion("op_id >=", value, "opId"); + return (Criteria) this; + } + + public Criteria andOpIdLessThan(Long value) { + addCriterion("op_id <", value, "opId"); + return (Criteria) this; + } + + public Criteria andOpIdLessThanOrEqualTo(Long value) { + addCriterion("op_id <=", value, "opId"); + return (Criteria) this; + } + + public Criteria andOpIdIn(List values) { + addCriterion("op_id in", values, "opId"); + return (Criteria) this; + } + + public Criteria andOpIdNotIn(List values) { + addCriterion("op_id not in", values, "opId"); + return (Criteria) this; + } + + public Criteria andOpIdBetween(Long value1, Long value2) { + addCriterion("op_id between", value1, value2, "opId"); + return (Criteria) this; + } + + public Criteria andOpIdNotBetween(Long value1, Long value2) { + addCriterion("op_id not between", value1, value2, "opId"); + return (Criteria) this; + } + + public Criteria andOpNameIsNull() { + addCriterion("op_name is null"); + return (Criteria) this; + } + + public Criteria andOpNameIsNotNull() { + addCriterion("op_name is not null"); + return (Criteria) this; + } + + public Criteria andOpNameEqualTo(String value) { + addCriterion("op_name =", value, "opName"); + return (Criteria) this; + } + + public Criteria andOpNameNotEqualTo(String value) { + addCriterion("op_name <>", value, "opName"); + return (Criteria) this; + } + + public Criteria andOpNameGreaterThan(String value) { + addCriterion("op_name >", value, "opName"); + return (Criteria) this; + } + + public Criteria andOpNameGreaterThanOrEqualTo(String value) { + addCriterion("op_name >=", value, "opName"); + return (Criteria) this; + } + + public Criteria andOpNameLessThan(String value) { + addCriterion("op_name <", value, "opName"); + return (Criteria) this; + } + + public Criteria andOpNameLessThanOrEqualTo(String value) { + addCriterion("op_name <=", value, "opName"); + return (Criteria) this; + } + + public Criteria andOpNameLike(String value) { + addCriterion("op_name like", value, "opName"); + return (Criteria) this; + } + + public Criteria andOpNameNotLike(String value) { + addCriterion("op_name not like", value, "opName"); + return (Criteria) this; + } + + public Criteria andOpNameIn(List values) { + addCriterion("op_name in", values, "opName"); + return (Criteria) this; + } + + public Criteria andOpNameNotIn(List values) { + addCriterion("op_name not in", values, "opName"); + return (Criteria) this; + } + + public Criteria andOpNameBetween(String value1, String value2) { + addCriterion("op_name between", value1, value2, "opName"); + return (Criteria) this; + } + + public Criteria andOpNameNotBetween(String value1, String value2) { + addCriterion("op_name not between", value1, value2, "opName"); + return (Criteria) this; + } + + public Criteria andExt1IsNull() { + addCriterion("ext_1 is null"); + return (Criteria) this; + } + + public Criteria andExt1IsNotNull() { + addCriterion("ext_1 is not null"); + return (Criteria) this; + } + + public Criteria andExt1EqualTo(String value) { + addCriterion("ext_1 =", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotEqualTo(String value) { + addCriterion("ext_1 <>", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1GreaterThan(String value) { + addCriterion("ext_1 >", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1GreaterThanOrEqualTo(String value) { + addCriterion("ext_1 >=", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1LessThan(String value) { + addCriterion("ext_1 <", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1LessThanOrEqualTo(String value) { + addCriterion("ext_1 <=", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1Like(String value) { + addCriterion("ext_1 like", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotLike(String value) { + addCriterion("ext_1 not like", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1In(List values) { + addCriterion("ext_1 in", values, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotIn(List values) { + addCriterion("ext_1 not in", values, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1Between(String value1, String value2) { + addCriterion("ext_1 between", value1, value2, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotBetween(String value1, String value2) { + addCriterion("ext_1 not between", value1, value2, "ext1"); + return (Criteria) this; + } + + public Criteria andExt2IsNull() { + addCriterion("ext_2 is null"); + return (Criteria) this; + } + + public Criteria andExt2IsNotNull() { + addCriterion("ext_2 is not null"); + return (Criteria) this; + } + + public Criteria andExt2EqualTo(String value) { + addCriterion("ext_2 =", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotEqualTo(String value) { + addCriterion("ext_2 <>", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2GreaterThan(String value) { + addCriterion("ext_2 >", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2GreaterThanOrEqualTo(String value) { + addCriterion("ext_2 >=", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2LessThan(String value) { + addCriterion("ext_2 <", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2LessThanOrEqualTo(String value) { + addCriterion("ext_2 <=", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2Like(String value) { + addCriterion("ext_2 like", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotLike(String value) { + addCriterion("ext_2 not like", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2In(List values) { + addCriterion("ext_2 in", values, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotIn(List values) { + addCriterion("ext_2 not in", values, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2Between(String value1, String value2) { + addCriterion("ext_2 between", value1, value2, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotBetween(String value1, String value2) { + addCriterion("ext_2 not between", value1, value2, "ext2"); + return (Criteria) this; + } + + public Criteria andExt3IsNull() { + addCriterion("ext_3 is null"); + return (Criteria) this; + } + + public Criteria andExt3IsNotNull() { + addCriterion("ext_3 is not null"); + return (Criteria) this; + } + + public Criteria andExt3EqualTo(String value) { + addCriterion("ext_3 =", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotEqualTo(String value) { + addCriterion("ext_3 <>", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3GreaterThan(String value) { + addCriterion("ext_3 >", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3GreaterThanOrEqualTo(String value) { + addCriterion("ext_3 >=", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3LessThan(String value) { + addCriterion("ext_3 <", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3LessThanOrEqualTo(String value) { + addCriterion("ext_3 <=", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3Like(String value) { + addCriterion("ext_3 like", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotLike(String value) { + addCriterion("ext_3 not like", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3In(List values) { + addCriterion("ext_3 in", values, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotIn(List values) { + addCriterion("ext_3 not in", values, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3Between(String value1, String value2) { + addCriterion("ext_3 between", value1, value2, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotBetween(String value1, String value2) { + addCriterion("ext_3 not between", value1, value2, "ext3"); + return (Criteria) this; + } + } + + /** + */ + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/service/src/main/java/com/hfkj/entity/BsStoreProductExample.java b/service/src/main/java/com/hfkj/entity/BsStoreProductExample.java index 7d59d4c..35ed1c5 100644 --- a/service/src/main/java/com/hfkj/entity/BsStoreProductExample.java +++ b/service/src/main/java/com/hfkj/entity/BsStoreProductExample.java @@ -246,6 +246,136 @@ public class BsStoreProductExample { return (Criteria) this; } + public Criteria andProductCategoryIdIsNull() { + addCriterion("product_category_id is null"); + return (Criteria) this; + } + + public Criteria andProductCategoryIdIsNotNull() { + addCriterion("product_category_id is not null"); + return (Criteria) this; + } + + public Criteria andProductCategoryIdEqualTo(Long value) { + addCriterion("product_category_id =", value, "productCategoryId"); + return (Criteria) this; + } + + public Criteria andProductCategoryIdNotEqualTo(Long value) { + addCriterion("product_category_id <>", value, "productCategoryId"); + return (Criteria) this; + } + + public Criteria andProductCategoryIdGreaterThan(Long value) { + addCriterion("product_category_id >", value, "productCategoryId"); + return (Criteria) this; + } + + public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) { + addCriterion("product_category_id >=", value, "productCategoryId"); + return (Criteria) this; + } + + public Criteria andProductCategoryIdLessThan(Long value) { + addCriterion("product_category_id <", value, "productCategoryId"); + return (Criteria) this; + } + + public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) { + addCriterion("product_category_id <=", value, "productCategoryId"); + return (Criteria) this; + } + + public Criteria andProductCategoryIdIn(List values) { + addCriterion("product_category_id in", values, "productCategoryId"); + return (Criteria) this; + } + + public Criteria andProductCategoryIdNotIn(List values) { + addCriterion("product_category_id not in", values, "productCategoryId"); + return (Criteria) this; + } + + public Criteria andProductCategoryIdBetween(Long value1, Long value2) { + addCriterion("product_category_id between", value1, value2, "productCategoryId"); + return (Criteria) this; + } + + public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) { + addCriterion("product_category_id not between", value1, value2, "productCategoryId"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameIsNull() { + addCriterion("product_category_name is null"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameIsNotNull() { + addCriterion("product_category_name is not null"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameEqualTo(String value) { + addCriterion("product_category_name =", value, "productCategoryName"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameNotEqualTo(String value) { + addCriterion("product_category_name <>", value, "productCategoryName"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameGreaterThan(String value) { + addCriterion("product_category_name >", value, "productCategoryName"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameGreaterThanOrEqualTo(String value) { + addCriterion("product_category_name >=", value, "productCategoryName"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameLessThan(String value) { + addCriterion("product_category_name <", value, "productCategoryName"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameLessThanOrEqualTo(String value) { + addCriterion("product_category_name <=", value, "productCategoryName"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameLike(String value) { + addCriterion("product_category_name like", value, "productCategoryName"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameNotLike(String value) { + addCriterion("product_category_name not like", value, "productCategoryName"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameIn(List values) { + addCriterion("product_category_name in", values, "productCategoryName"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameNotIn(List values) { + addCriterion("product_category_name not in", values, "productCategoryName"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameBetween(String value1, String value2) { + addCriterion("product_category_name between", value1, value2, "productCategoryName"); + return (Criteria) this; + } + + public Criteria andProductCategoryNameNotBetween(String value1, String value2) { + addCriterion("product_category_name not between", value1, value2, "productCategoryName"); + return (Criteria) this; + } + public Criteria andImgIsNull() { addCriterion("img is null"); return (Criteria) this; diff --git a/service/src/main/java/com/hfkj/group/BsStoreGroupProductService.java b/service/src/main/java/com/hfkj/service/group/BsStoreGroupProductService.java similarity index 99% rename from service/src/main/java/com/hfkj/group/BsStoreGroupProductService.java rename to service/src/main/java/com/hfkj/service/group/BsStoreGroupProductService.java index 7050720..3a0c16d 100644 --- a/service/src/main/java/com/hfkj/group/BsStoreGroupProductService.java +++ b/service/src/main/java/com/hfkj/service/group/BsStoreGroupProductService.java @@ -1,4 +1,4 @@ -package com.hfkj.group; +package com.hfkj.service.group; import com.hfkj.entity.*; diff --git a/service/src/main/java/com/hfkj/group/BsStoreGroupService.java b/service/src/main/java/com/hfkj/service/group/BsStoreGroupService.java similarity index 99% rename from service/src/main/java/com/hfkj/group/BsStoreGroupService.java rename to service/src/main/java/com/hfkj/service/group/BsStoreGroupService.java index 5c21518..6f3cfd8 100644 --- a/service/src/main/java/com/hfkj/group/BsStoreGroupService.java +++ b/service/src/main/java/com/hfkj/service/group/BsStoreGroupService.java @@ -1,4 +1,4 @@ -package com.hfkj.group; +package com.hfkj.service.group; import com.hfkj.entity.BsStoreExtMsg; import com.hfkj.entity.BsStoreImg; diff --git a/service/src/main/java/com/hfkj/service/group/BsStoreProductCategoryService.java b/service/src/main/java/com/hfkj/service/group/BsStoreProductCategoryService.java new file mode 100644 index 0000000..3e93bbd --- /dev/null +++ b/service/src/main/java/com/hfkj/service/group/BsStoreProductCategoryService.java @@ -0,0 +1,76 @@ +package com.hfkj.service.group; + +import com.hfkj.entity.BsStoreProductCategory; + +import java.util.List; +import java.util.Map; + +/** + * @className: BsStoreProductCategoryService + * @author: HuRui + * @date: 2023/11/28 + **/ +public interface BsStoreProductCategoryService { + + /** + * 编辑数据 + * @param data + */ + void editData(BsStoreProductCategory data); + + /** + * 根据id查询 + * @param id + * @return + */ + BsStoreProductCategory getCategory(Long id); + + /** + * 根据排序查询分类 + * @param storeId + * @param sort + * @return + */ + BsStoreProductCategory getCategoryBySort(Long storeId,Integer sort); + + /** + * 查询当前最大的排序序号 + * @param storeId + * @return + */ + int getMaxSort(Long storeId); + + /** + * 排序向上 + * @param id + */ + void sortUp(Long id); + + /** + * 排序向下 + * @param id + */ + void sortDown(Long id); + + /** + * 删除数据 + * @param id + */ + void delCategory(Long id); + + /** + * 查询分类列表 + * @param param + * @return + */ + List getCategoryList(Map param); + + /** + * 查询门店分类及产品缓存 + * @param storeId + * @param refresh + * @return + */ + List getStoreCategoryCache(Long storeId,Boolean refresh); + +} diff --git a/service/src/main/java/com/hfkj/group/impl/BsStoreGroupProductServiceImpl.java b/service/src/main/java/com/hfkj/service/group/impl/BsStoreGroupProductServiceImpl.java similarity index 98% rename from service/src/main/java/com/hfkj/group/impl/BsStoreGroupProductServiceImpl.java rename to service/src/main/java/com/hfkj/service/group/impl/BsStoreGroupProductServiceImpl.java index de30e3c..d278158 100644 --- a/service/src/main/java/com/hfkj/group/impl/BsStoreGroupProductServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/group/impl/BsStoreGroupProductServiceImpl.java @@ -1,10 +1,10 @@ -package com.hfkj.group.impl; +package com.hfkj.service.group.impl; import com.hfkj.dao.BsStoreGroupContentMapper; import com.hfkj.dao.BsStoreGroupDetailMapper; import com.hfkj.dao.BsStoreGroupServeRuleMapper; import com.hfkj.entity.*; -import com.hfkj.group.BsStoreGroupProductService; +import com.hfkj.service.group.BsStoreGroupProductService; import org.apache.commons.collections4.MapUtils; import org.springframework.stereotype.Service; diff --git a/service/src/main/java/com/hfkj/group/impl/BsStoreGroupServiceImpl.java b/service/src/main/java/com/hfkj/service/group/impl/BsStoreGroupServiceImpl.java similarity index 89% rename from service/src/main/java/com/hfkj/group/impl/BsStoreGroupServiceImpl.java rename to service/src/main/java/com/hfkj/service/group/impl/BsStoreGroupServiceImpl.java index 0f07103..7d23ff8 100644 --- a/service/src/main/java/com/hfkj/group/impl/BsStoreGroupServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/group/impl/BsStoreGroupServiceImpl.java @@ -1,10 +1,11 @@ -package com.hfkj.group.impl; +package com.hfkj.service.group.impl; import com.hfkj.dao.BsStoreExtMsgMapper; import com.hfkj.dao.BsStoreImgMapper; import com.hfkj.dao.BsStoreProductMapper; import com.hfkj.entity.*; -import com.hfkj.group.BsStoreGroupService; +import com.hfkj.service.group.BsStoreGroupService; +import com.hfkj.service.group.BsStoreProductCategoryService; import org.apache.commons.collections4.MapUtils; import org.springframework.stereotype.Service; @@ -24,6 +25,9 @@ public class BsStoreGroupServiceImpl implements BsStoreGroupService { @Resource private BsStoreExtMsgMapper storeExtMsgMapper; + @Resource + private BsStoreProductCategoryService storeProductCategoryService; + @Override public void insertStoreImg(BsStoreImg bsStoreImg) { bsStoreImgMapper.insert(bsStoreImg); @@ -71,11 +75,17 @@ public class BsStoreGroupServiceImpl implements BsStoreGroupService { @Override public void insertStoreProduct(BsStoreProduct bsStoreProduct) { storeProductMapper.insert(bsStoreProduct); + + // 刷新缓存 + storeProductCategoryService.getStoreCategoryCache(bsStoreProduct.getStoreId(), true); } @Override public void editStoreProduct(BsStoreProduct bsStoreProduct) { storeProductMapper.updateByPrimaryKey(bsStoreProduct); + + // 刷新缓存 + storeProductCategoryService.getStoreCategoryCache(bsStoreProduct.getStoreId(), true); } @Override diff --git a/service/src/main/java/com/hfkj/service/group/impl/BsStoreProductCategoryServiceImpl.java b/service/src/main/java/com/hfkj/service/group/impl/BsStoreProductCategoryServiceImpl.java new file mode 100644 index 0000000..5bf9ffc --- /dev/null +++ b/service/src/main/java/com/hfkj/service/group/impl/BsStoreProductCategoryServiceImpl.java @@ -0,0 +1,184 @@ +package com.hfkj.service.group.impl; + +import com.hfkj.common.exception.ErrorCode; +import com.hfkj.common.exception.ErrorHelp; +import com.hfkj.common.exception.SysCode; +import com.hfkj.common.utils.RedisUtil; +import com.hfkj.dao.BsStoreProductCategoryMapper; +import com.hfkj.entity.BsStoreProduct; +import com.hfkj.entity.BsStoreProductCategory; +import com.hfkj.entity.BsStoreProductCategoryExample; +import com.hfkj.service.group.BsStoreGroupService; +import com.hfkj.service.group.BsStoreProductCategoryService; +import org.apache.commons.collections4.MapUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @className: BsStoreProductCategoryServiceImpl + * @author: HuRui + * @date: 2023/11/28 + **/ +@Service("storeProductCategoryService") +public class BsStoreProductCategoryServiceImpl implements BsStoreProductCategoryService { + + @Resource + private BsStoreProductCategoryMapper storeProductCategoryMapper; + + @Resource + private BsStoreGroupService storeGroupService; + + @Resource + private RedisUtil redisUtil; + + @Override + public void editData(BsStoreProductCategory data) { + if (data.getId() == null) { + data.setCreateTime(new Date()); + data.setUpdateTime(new Date()); + storeProductCategoryMapper.insert(data); + } else { + data.setUpdateTime(new Date()); + storeProductCategoryMapper.updateByPrimaryKey(data); + } + } + + @Override + public BsStoreProductCategory getCategory(Long id) { + BsStoreProductCategory category = storeProductCategoryMapper.selectByPrimaryKey(id); + if (category == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的分类id"); + } + return category; + } + + @Override + public BsStoreProductCategory getCategoryBySort(Long storeId, Integer sort) { + BsStoreProductCategoryExample example = new BsStoreProductCategoryExample(); + example.createCriteria().andStoreIdEqualTo(storeId).andSortEqualTo(sort); + List list = storeProductCategoryMapper.selectByExample(example); + if (!list.isEmpty()) { + return list.get(0); + } + return null; + } + + @Override + public int getMaxSort(Long storeId) { + Integer sort = storeProductCategoryMapper.queryMaxSort(storeId); + if (sort == null) { + return 0; + } + return sort; + } + + @Override + public void sortUp(Long id) { + // 查询分类 + BsStoreProductCategory category = getCategory(id); + + // 查询交换顺序的数据 + BsStoreProductCategory categorySort = getCategoryBySort(category.getStoreId(), category.getSort() - 1); + if (categorySort == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "已经到达最顶部"); + } + categorySort.setSort(categorySort.getSort() + 1); + editData(categorySort); + + category.setSort(category.getSort() - 1); + editData(category); + + // 刷新缓存 + getStoreCategoryCache(category.getStoreId(), true); + } + + @Override + public void sortDown(Long id) { + // 查询分类 + BsStoreProductCategory category = getCategory(id); + + // 查询交换顺序的数据 + BsStoreProductCategory categorySort = getCategoryBySort(category.getStoreId(), category.getSort() + 1); + if (categorySort == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "已经到达最底部"); + } + categorySort.setSort(categorySort.getSort() - 1); + editData(categorySort); + + category.setSort(category.getSort() + 1); + editData(category); + + // 刷新缓存 + getStoreCategoryCache(category.getStoreId(), true); + } + + @Override + public void delCategory(Long id) { + // 查询分类 + BsStoreProductCategory category = getCategory(id); + category.setStatus(0); + editData(category); + + Map param = new HashMap<>(); + param.put("storeId", category.getStoreId()); + List categoryList = getCategoryList(param); + for (int i = 0; i < categoryList.size(); i++) { + categoryList.get(i).setSort(i+1); + editData(categoryList.get(i)); + } + + // 刷新缓存 + getStoreCategoryCache(category.getStoreId(), true); + } + + @Override + public List getCategoryList(Map param) { + BsStoreProductCategoryExample example = new BsStoreProductCategoryExample(); + BsStoreProductCategoryExample.Criteria criteria = example.createCriteria().andStatusNotEqualTo(0); + + if (MapUtils.getLong(param, "storeId") != null) { + criteria.andStoreIdEqualTo(MapUtils.getLong(param, "storeId")); + } + + if (StringUtils.isNotBlank(MapUtils.getString(param, "name"))) { + criteria.andNameLike("%" + MapUtils.getString(param, "name") + "%"); + } + + example.setOrderByClause("sort"); + return storeProductCategoryMapper.selectByExample(example); + } + + @Override + public List getStoreCategoryCache(Long storeId, Boolean refresh) { + // 不刷新 + if (!refresh) { + Object obj = redisUtil.get("STORE_PRODUCT:" + storeId); + if (obj != null) { + return (List) obj; + } + } + + List categoryList = new ArrayList<>(); + + Map param = new HashMap<>(); + param.put("storeId", storeId); + + // 分类列表 + List categoryData = getCategoryList(param); + + // 产品列表 + List storeProductData = storeGroupService.getStoreProductByList(param); + + for (BsStoreProductCategory category : categoryData) { + category.setProductList(storeProductData.stream().filter(o -> o.getProductCategoryId().equals(category.getId())).collect(Collectors.toList())); + categoryList.add(category); + } + + redisUtil.set("STORE_PRODUCT:" + storeId, categoryList); + return categoryList; + } +}