提交代码

master
胡锐 11 months ago
parent 62a36ec0ae
commit d587b58f2c
  1. 3
      cweb/src/main/java/com/cweb/config/AuthConfig.java
  2. 14
      cweb/src/main/java/com/cweb/controller/TestController.java
  3. 96
      cweb/src/main/java/com/cweb/controller/meal/BsMealShopCartController.java
  4. 46
      cweb/src/main/java/com/cweb/controller/meal/BsMealTableController.java
  5. 4
      service/src/main/java/com/hfkj/config/mqtt/MqttProviderService.java
  6. 167
      service/src/main/java/com/hfkj/dao/BsMealShopCartMapper.java
  7. 7
      service/src/main/java/com/hfkj/dao/BsMealShopCartMapperExt.java
  8. 472
      service/src/main/java/com/hfkj/dao/BsMealShopCartSqlProvider.java
  9. 155
      service/src/main/java/com/hfkj/dao/BsMealTableOrderChildMapper.java
  10. 7
      service/src/main/java/com/hfkj/dao/BsMealTableOrderChildMapperExt.java
  11. 430
      service/src/main/java/com/hfkj/dao/BsMealTableOrderChildSqlProvider.java
  12. 158
      service/src/main/java/com/hfkj/dao/BsMealTableOrderMapper.java
  13. 7
      service/src/main/java/com/hfkj/dao/BsMealTableOrderMapperExt.java
  14. 444
      service/src/main/java/com/hfkj/dao/BsMealTableOrderSqlProvider.java
  15. 390
      service/src/main/java/com/hfkj/entity/BsMealShopCart.java
  16. 1654
      service/src/main/java/com/hfkj/entity/BsMealShopCartExample.java
  17. 358
      service/src/main/java/com/hfkj/entity/BsMealTableOrder.java
  18. 342
      service/src/main/java/com/hfkj/entity/BsMealTableOrderChild.java
  19. 1474
      service/src/main/java/com/hfkj/entity/BsMealTableOrderChildExample.java
  20. 1524
      service/src/main/java/com/hfkj/entity/BsMealTableOrderExample.java
  21. 49
      service/src/main/java/com/hfkj/service/meal/BsMealShopCartService.java
  22. 25
      service/src/main/java/com/hfkj/service/meal/BsMealTableOrderService.java
  23. 13
      service/src/main/java/com/hfkj/service/meal/BsMealTableService.java
  24. 220
      service/src/main/java/com/hfkj/service/meal/impl/BsMealShopCartServiceImpl.java
  25. 50
      service/src/main/java/com/hfkj/service/meal/impl/BsMealTableOrderServiceImpl.java
  26. 80
      service/src/main/java/com/hfkj/service/meal/impl/BsMealTableServiceImpl.java
  27. 51
      service/src/main/java/com/hfkj/sysenum/MealTableOrderStatusEnum.java

@ -117,6 +117,9 @@ public class AuthConfig implements WebMvcConfigurer {
.excludePathPatterns("/login/*")
.excludePathPatterns("/test/*")
.excludePathPatterns("/sms/*")
.excludePathPatterns("/mealTable/startTable")
.excludePathPatterns("/mealTable/endTable")
.excludePathPatterns("/mealShopCart/*")
.excludePathPatterns("/ocr/*")
.excludePathPatterns("/openGroup/*")
;

@ -19,7 +19,6 @@ import com.hfkj.common.Base64Util;
import com.hfkj.common.utils.DateUtil;
import com.hfkj.common.utils.HttpsUtils;
import com.hfkj.common.utils.ResponseMsgUtil;
import com.hfkj.common.utils.UnionUtils;
import com.hfkj.config.CommonSysConst;
import com.hfkj.config.device.SoundService;
import com.hfkj.config.mqtt.MqttProviderService;
@ -30,7 +29,6 @@ import com.hfkj.service.*;
import com.hfkj.service.rebate.BsRebateMerAccountService;
import com.hfkj.service.rebate.BsRebatePartMerService;
import com.hfkj.service.rebate.BsRebateRewardService;
import com.hfkj.service.rebate.model.RebateMerAccountTradeObject;
import com.hfkj.sysenum.*;
import com.hfkj.tts.HWYunSisService;
import com.hfkj.unipush.UniPushService;
@ -38,6 +36,8 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
@ -216,14 +216,20 @@ public class TestController {
public ResponseData lklWithdraw(@RequestParam(value = "cupNo", required = true) String cupNo) {
try {
/* MqttClient connect = mqttProviderService.connect("provider-" + System.currentTimeMillis());
connect.subscribe("MEAL_TABLE_" + cupNo);*/
return ResponseMsgUtil.success(null);
// return ResponseMsgUtil.success(laKaLaWalletService.ewalletBalanceQuery("8226900581219V0", null,"01"));
// return ResponseMsgUtil.success(laKaLaWalletService.ewalletWithdrawD1("8226900581219V0", new BigDecimal("30193.35"),"提现"));
return ResponseMsgUtil.success(laKaLaWalletService.ewalletSettleProfile(
/* return ResponseMsgUtil.success(laKaLaWalletService.ewalletSettleProfile(
1,
cupNo,
"02",
"06",
CommonSysConst.getSysConfig().getDomainName()+"/crest/merWithdrawal/notify?cupNo="+cupNo));
CommonSysConst.getSysConfig().getDomainName()+"/crest/merWithdrawal/notify?cupNo="+cupNo));*/
// return ResponseMsgUtil.success(laKaLaWalletService.ewalletWithdrawQuery("8226900581219V0", "230602150213408367448221"));
// return ResponseMsgUtil.success(laKaLaWalletService.ewalletSettleQuery("8226900591200TC"));
// return ResponseMsgUtil.success(laKaLaWalletService.activeSettleApply("8226900581219V0"));

@ -0,0 +1,96 @@
package com.cweb.controller.meal;
import com.alibaba.fastjson.JSONObject;
import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
import com.hfkj.common.utils.ResponseMsgUtil;
import com.hfkj.model.ResponseData;
import com.hfkj.service.meal.BsMealShopCartService;
import com.hfkj.service.meal.BsMealTableService;
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: BsMealShopCartController
* @author: HuRui
* @date: 2023/11/30
**/
@Controller
@Api(value = "桌台管理")
@RequestMapping(value = "/mealShopCart")
public class BsMealShopCartController {
Logger log = LoggerFactory.getLogger(BsMealTableController.class);
@Resource
private BsMealShopCartService mealShopCartService;
@RequestMapping(value="/addProduct",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "增加产品")
public ResponseData addProduct(@RequestBody JSONObject body) {
try {
if (body == null
|| StringUtils.isBlank(body.getString("serialNumber"))
|| body.getLong("productId") == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
mealShopCartService.addProduct(body.getString("serialNumber"),body.getLong("productId"));
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
log.error(e.getMessage(), e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/reduceProduct",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "减少产品")
public ResponseData reduceProduct(@RequestBody JSONObject body) {
try {
if (body == null
|| StringUtils.isBlank(body.getString("serialNumber"))
|| body.getLong("productId") == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
mealShopCartService.reduceProduct(body.getString("serialNumber"),body.getLong("productId"));
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
log.error(e.getMessage(), e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/getShopCartProductList",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询购物车产品")
public ResponseData getShopCartProductList(@RequestParam(value = "serialNumber" , required = true) String serialNumber) {
try {
Map<String,Object> param = new HashMap<>();
param.put("serialNumber", serialNumber);
return ResponseMsgUtil.success(mealShopCartService.getShopCartProductList(param));
} catch (Exception e) {
log.error(e.getMessage(), e);
return ResponseMsgUtil.exception(e);
}
}
}

@ -1,4 +1,4 @@
package com.cweb.controller.Meal;
package com.cweb.controller.meal;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
@ -140,4 +140,48 @@ public class BsMealTableController {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/startTable",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "开台")
public ResponseData startTable(@RequestBody JSONObject body) {
try {
if (body == null
|| StringUtils.isBlank(body.getString("serialNumber"))
|| body.getInteger("peopleNum") == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
mealTableService.startTable(body.getString("serialNumber"),body.getInteger("peopleNum"));
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
log.error(e.getMessage(), e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/endTable",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "关台")
public ResponseData endTable(@RequestBody JSONObject body) {
try {
if (body == null
|| StringUtils.isBlank(body.getString("serialNumber"))) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
mealTableService.endTable(body.getString("serialNumber"));
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
log.error(e.getMessage(), e);
return ResponseMsgUtil.exception(e);
}
}
}

@ -45,7 +45,7 @@ public class MqttProviderService {
/**
* 客户端连接服务端
*/
public void connect(String clientId) {
public MqttClient connect(String clientId) {
try {
//创建MQTT客户端对象
client = new MqttClient(hostUrl, clientId, new MemoryPersistence());
@ -67,9 +67,11 @@ public class MqttProviderService {
//设置回调
client.setCallback(new MqttProviderCallBack());
client.connect(options);
return client;
} catch (MqttException e) {
e.printStackTrace();
}
return null;
}
public void publish(int qos, boolean retained, String topic, String message) {

@ -0,0 +1,167 @@
package com.hfkj.dao;
import com.hfkj.entity.BsMealShopCart;
import com.hfkj.entity.BsMealShopCartExample;
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 BsMealShopCartMapper extends BsMealShopCartMapperExt {
@SelectProvider(type=BsMealShopCartSqlProvider.class, method="countByExample")
long countByExample(BsMealShopCartExample example);
@DeleteProvider(type=BsMealShopCartSqlProvider.class, method="deleteByExample")
int deleteByExample(BsMealShopCartExample example);
@Delete({
"delete from bs_meal_shop_cart",
"where id = #{id,jdbcType=BIGINT}"
})
int deleteByPrimaryKey(Long id);
@Insert({
"insert into bs_meal_shop_cart (store_id, store_name, ",
"serial_number, table_number, ",
"`table_name`, order_no, ",
"product_category_id, product_category_name, ",
"product_id, product_img, ",
"product_name, product_spec, ",
"product_price, product_num, ",
"product_total_price, `status`, ",
"create_time, update_time, ",
"ext_1, ext_2, ext_3)",
"values (#{storeId,jdbcType=BIGINT}, #{storeName,jdbcType=VARCHAR}, ",
"#{serialNumber,jdbcType=VARCHAR}, #{tableNumber,jdbcType=INTEGER}, ",
"#{tableName,jdbcType=VARCHAR}, #{orderNo,jdbcType=VARCHAR}, ",
"#{productCategoryId,jdbcType=BIGINT}, #{productCategoryName,jdbcType=VARCHAR}, ",
"#{productId,jdbcType=BIGINT}, #{productImg,jdbcType=VARCHAR}, ",
"#{productName,jdbcType=VARCHAR}, #{productSpec,jdbcType=VARCHAR}, ",
"#{productPrice,jdbcType=DECIMAL}, #{productNum,jdbcType=INTEGER}, ",
"#{productTotalPrice,jdbcType=DECIMAL}, #{status,jdbcType=INTEGER}, ",
"#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, ",
"#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
})
@Options(useGeneratedKeys=true,keyProperty="id")
int insert(BsMealShopCart record);
@InsertProvider(type=BsMealShopCartSqlProvider.class, method="insertSelective")
@Options(useGeneratedKeys=true,keyProperty="id")
int insertSelective(BsMealShopCart record);
@SelectProvider(type=BsMealShopCartSqlProvider.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="store_name", property="storeName", jdbcType=JdbcType.VARCHAR),
@Result(column="serial_number", property="serialNumber", jdbcType=JdbcType.VARCHAR),
@Result(column="table_number", property="tableNumber", jdbcType=JdbcType.INTEGER),
@Result(column="table_name", property="tableName", jdbcType=JdbcType.VARCHAR),
@Result(column="order_no", property="orderNo", jdbcType=JdbcType.VARCHAR),
@Result(column="product_category_id", property="productCategoryId", jdbcType=JdbcType.BIGINT),
@Result(column="product_category_name", property="productCategoryName", jdbcType=JdbcType.VARCHAR),
@Result(column="product_id", property="productId", jdbcType=JdbcType.BIGINT),
@Result(column="product_img", property="productImg", jdbcType=JdbcType.VARCHAR),
@Result(column="product_name", property="productName", jdbcType=JdbcType.VARCHAR),
@Result(column="product_spec", property="productSpec", jdbcType=JdbcType.VARCHAR),
@Result(column="product_price", property="productPrice", jdbcType=JdbcType.DECIMAL),
@Result(column="product_num", property="productNum", jdbcType=JdbcType.INTEGER),
@Result(column="product_total_price", property="productTotalPrice", jdbcType=JdbcType.DECIMAL),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@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<BsMealShopCart> selectByExample(BsMealShopCartExample example);
@Select({
"select",
"id, store_id, store_name, serial_number, table_number, `table_name`, order_no, ",
"product_category_id, product_category_name, product_id, product_img, product_name, ",
"product_spec, product_price, product_num, product_total_price, `status`, create_time, ",
"update_time, ext_1, ext_2, ext_3",
"from bs_meal_shop_cart",
"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="store_name", property="storeName", jdbcType=JdbcType.VARCHAR),
@Result(column="serial_number", property="serialNumber", jdbcType=JdbcType.VARCHAR),
@Result(column="table_number", property="tableNumber", jdbcType=JdbcType.INTEGER),
@Result(column="table_name", property="tableName", jdbcType=JdbcType.VARCHAR),
@Result(column="order_no", property="orderNo", jdbcType=JdbcType.VARCHAR),
@Result(column="product_category_id", property="productCategoryId", jdbcType=JdbcType.BIGINT),
@Result(column="product_category_name", property="productCategoryName", jdbcType=JdbcType.VARCHAR),
@Result(column="product_id", property="productId", jdbcType=JdbcType.BIGINT),
@Result(column="product_img", property="productImg", jdbcType=JdbcType.VARCHAR),
@Result(column="product_name", property="productName", jdbcType=JdbcType.VARCHAR),
@Result(column="product_spec", property="productSpec", jdbcType=JdbcType.VARCHAR),
@Result(column="product_price", property="productPrice", jdbcType=JdbcType.DECIMAL),
@Result(column="product_num", property="productNum", jdbcType=JdbcType.INTEGER),
@Result(column="product_total_price", property="productTotalPrice", jdbcType=JdbcType.DECIMAL),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@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)
})
BsMealShopCart selectByPrimaryKey(Long id);
@UpdateProvider(type=BsMealShopCartSqlProvider.class, method="updateByExampleSelective")
int updateByExampleSelective(@Param("record") BsMealShopCart record, @Param("example") BsMealShopCartExample example);
@UpdateProvider(type=BsMealShopCartSqlProvider.class, method="updateByExample")
int updateByExample(@Param("record") BsMealShopCart record, @Param("example") BsMealShopCartExample example);
@UpdateProvider(type=BsMealShopCartSqlProvider.class, method="updateByPrimaryKeySelective")
int updateByPrimaryKeySelective(BsMealShopCart record);
@Update({
"update bs_meal_shop_cart",
"set store_id = #{storeId,jdbcType=BIGINT},",
"store_name = #{storeName,jdbcType=VARCHAR},",
"serial_number = #{serialNumber,jdbcType=VARCHAR},",
"table_number = #{tableNumber,jdbcType=INTEGER},",
"`table_name` = #{tableName,jdbcType=VARCHAR},",
"order_no = #{orderNo,jdbcType=VARCHAR},",
"product_category_id = #{productCategoryId,jdbcType=BIGINT},",
"product_category_name = #{productCategoryName,jdbcType=VARCHAR},",
"product_id = #{productId,jdbcType=BIGINT},",
"product_img = #{productImg,jdbcType=VARCHAR},",
"product_name = #{productName,jdbcType=VARCHAR},",
"product_spec = #{productSpec,jdbcType=VARCHAR},",
"product_price = #{productPrice,jdbcType=DECIMAL},",
"product_num = #{productNum,jdbcType=INTEGER},",
"product_total_price = #{productTotalPrice,jdbcType=DECIMAL},",
"`status` = #{status,jdbcType=INTEGER},",
"create_time = #{createTime,jdbcType=TIMESTAMP},",
"update_time = #{updateTime,jdbcType=TIMESTAMP},",
"ext_1 = #{ext1,jdbcType=VARCHAR},",
"ext_2 = #{ext2,jdbcType=VARCHAR},",
"ext_3 = #{ext3,jdbcType=VARCHAR}",
"where id = #{id,jdbcType=BIGINT}"
})
int updateByPrimaryKey(BsMealShopCart record);
}

@ -0,0 +1,7 @@
package com.hfkj.dao;
/**
* mapper扩展类
*/
public interface BsMealShopCartMapperExt {
}

@ -0,0 +1,472 @@
package com.hfkj.dao;
import com.hfkj.entity.BsMealShopCart;
import com.hfkj.entity.BsMealShopCartExample.Criteria;
import com.hfkj.entity.BsMealShopCartExample.Criterion;
import com.hfkj.entity.BsMealShopCartExample;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.jdbc.SQL;
public class BsMealShopCartSqlProvider {
public String countByExample(BsMealShopCartExample example) {
SQL sql = new SQL();
sql.SELECT("count(*)").FROM("bs_meal_shop_cart");
applyWhere(sql, example, false);
return sql.toString();
}
public String deleteByExample(BsMealShopCartExample example) {
SQL sql = new SQL();
sql.DELETE_FROM("bs_meal_shop_cart");
applyWhere(sql, example, false);
return sql.toString();
}
public String insertSelective(BsMealShopCart record) {
SQL sql = new SQL();
sql.INSERT_INTO("bs_meal_shop_cart");
if (record.getStoreId() != null) {
sql.VALUES("store_id", "#{storeId,jdbcType=BIGINT}");
}
if (record.getStoreName() != null) {
sql.VALUES("store_name", "#{storeName,jdbcType=VARCHAR}");
}
if (record.getSerialNumber() != null) {
sql.VALUES("serial_number", "#{serialNumber,jdbcType=VARCHAR}");
}
if (record.getTableNumber() != null) {
sql.VALUES("table_number", "#{tableNumber,jdbcType=INTEGER}");
}
if (record.getTableName() != null) {
sql.VALUES("`table_name`", "#{tableName,jdbcType=VARCHAR}");
}
if (record.getOrderNo() != null) {
sql.VALUES("order_no", "#{orderNo,jdbcType=VARCHAR}");
}
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.getProductId() != null) {
sql.VALUES("product_id", "#{productId,jdbcType=BIGINT}");
}
if (record.getProductImg() != null) {
sql.VALUES("product_img", "#{productImg,jdbcType=VARCHAR}");
}
if (record.getProductName() != null) {
sql.VALUES("product_name", "#{productName,jdbcType=VARCHAR}");
}
if (record.getProductSpec() != null) {
sql.VALUES("product_spec", "#{productSpec,jdbcType=VARCHAR}");
}
if (record.getProductPrice() != null) {
sql.VALUES("product_price", "#{productPrice,jdbcType=DECIMAL}");
}
if (record.getProductNum() != null) {
sql.VALUES("product_num", "#{productNum,jdbcType=INTEGER}");
}
if (record.getProductTotalPrice() != null) {
sql.VALUES("product_total_price", "#{productTotalPrice,jdbcType=DECIMAL}");
}
if (record.getStatus() != null) {
sql.VALUES("`status`", "#{status,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.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(BsMealShopCartExample example) {
SQL sql = new SQL();
if (example != null && example.isDistinct()) {
sql.SELECT_DISTINCT("id");
} else {
sql.SELECT("id");
}
sql.SELECT("store_id");
sql.SELECT("store_name");
sql.SELECT("serial_number");
sql.SELECT("table_number");
sql.SELECT("`table_name`");
sql.SELECT("order_no");
sql.SELECT("product_category_id");
sql.SELECT("product_category_name");
sql.SELECT("product_id");
sql.SELECT("product_img");
sql.SELECT("product_name");
sql.SELECT("product_spec");
sql.SELECT("product_price");
sql.SELECT("product_num");
sql.SELECT("product_total_price");
sql.SELECT("`status`");
sql.SELECT("create_time");
sql.SELECT("update_time");
sql.SELECT("ext_1");
sql.SELECT("ext_2");
sql.SELECT("ext_3");
sql.FROM("bs_meal_shop_cart");
applyWhere(sql, example, false);
if (example != null && example.getOrderByClause() != null) {
sql.ORDER_BY(example.getOrderByClause());
}
return sql.toString();
}
public String updateByExampleSelective(Map<String, Object> parameter) {
BsMealShopCart record = (BsMealShopCart) parameter.get("record");
BsMealShopCartExample example = (BsMealShopCartExample) parameter.get("example");
SQL sql = new SQL();
sql.UPDATE("bs_meal_shop_cart");
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.getStoreName() != null) {
sql.SET("store_name = #{record.storeName,jdbcType=VARCHAR}");
}
if (record.getSerialNumber() != null) {
sql.SET("serial_number = #{record.serialNumber,jdbcType=VARCHAR}");
}
if (record.getTableNumber() != null) {
sql.SET("table_number = #{record.tableNumber,jdbcType=INTEGER}");
}
if (record.getTableName() != null) {
sql.SET("`table_name` = #{record.tableName,jdbcType=VARCHAR}");
}
if (record.getOrderNo() != null) {
sql.SET("order_no = #{record.orderNo,jdbcType=VARCHAR}");
}
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.getProductId() != null) {
sql.SET("product_id = #{record.productId,jdbcType=BIGINT}");
}
if (record.getProductImg() != null) {
sql.SET("product_img = #{record.productImg,jdbcType=VARCHAR}");
}
if (record.getProductName() != null) {
sql.SET("product_name = #{record.productName,jdbcType=VARCHAR}");
}
if (record.getProductSpec() != null) {
sql.SET("product_spec = #{record.productSpec,jdbcType=VARCHAR}");
}
if (record.getProductPrice() != null) {
sql.SET("product_price = #{record.productPrice,jdbcType=DECIMAL}");
}
if (record.getProductNum() != null) {
sql.SET("product_num = #{record.productNum,jdbcType=INTEGER}");
}
if (record.getProductTotalPrice() != null) {
sql.SET("product_total_price = #{record.productTotalPrice,jdbcType=DECIMAL}");
}
if (record.getStatus() != null) {
sql.SET("`status` = #{record.status,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.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<String, Object> parameter) {
SQL sql = new SQL();
sql.UPDATE("bs_meal_shop_cart");
sql.SET("id = #{record.id,jdbcType=BIGINT}");
sql.SET("store_id = #{record.storeId,jdbcType=BIGINT}");
sql.SET("store_name = #{record.storeName,jdbcType=VARCHAR}");
sql.SET("serial_number = #{record.serialNumber,jdbcType=VARCHAR}");
sql.SET("table_number = #{record.tableNumber,jdbcType=INTEGER}");
sql.SET("`table_name` = #{record.tableName,jdbcType=VARCHAR}");
sql.SET("order_no = #{record.orderNo,jdbcType=VARCHAR}");
sql.SET("product_category_id = #{record.productCategoryId,jdbcType=BIGINT}");
sql.SET("product_category_name = #{record.productCategoryName,jdbcType=VARCHAR}");
sql.SET("product_id = #{record.productId,jdbcType=BIGINT}");
sql.SET("product_img = #{record.productImg,jdbcType=VARCHAR}");
sql.SET("product_name = #{record.productName,jdbcType=VARCHAR}");
sql.SET("product_spec = #{record.productSpec,jdbcType=VARCHAR}");
sql.SET("product_price = #{record.productPrice,jdbcType=DECIMAL}");
sql.SET("product_num = #{record.productNum,jdbcType=INTEGER}");
sql.SET("product_total_price = #{record.productTotalPrice,jdbcType=DECIMAL}");
sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
BsMealShopCartExample example = (BsMealShopCartExample) parameter.get("example");
applyWhere(sql, example, true);
return sql.toString();
}
public String updateByPrimaryKeySelective(BsMealShopCart record) {
SQL sql = new SQL();
sql.UPDATE("bs_meal_shop_cart");
if (record.getStoreId() != null) {
sql.SET("store_id = #{storeId,jdbcType=BIGINT}");
}
if (record.getStoreName() != null) {
sql.SET("store_name = #{storeName,jdbcType=VARCHAR}");
}
if (record.getSerialNumber() != null) {
sql.SET("serial_number = #{serialNumber,jdbcType=VARCHAR}");
}
if (record.getTableNumber() != null) {
sql.SET("table_number = #{tableNumber,jdbcType=INTEGER}");
}
if (record.getTableName() != null) {
sql.SET("`table_name` = #{tableName,jdbcType=VARCHAR}");
}
if (record.getOrderNo() != null) {
sql.SET("order_no = #{orderNo,jdbcType=VARCHAR}");
}
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.getProductId() != null) {
sql.SET("product_id = #{productId,jdbcType=BIGINT}");
}
if (record.getProductImg() != null) {
sql.SET("product_img = #{productImg,jdbcType=VARCHAR}");
}
if (record.getProductName() != null) {
sql.SET("product_name = #{productName,jdbcType=VARCHAR}");
}
if (record.getProductSpec() != null) {
sql.SET("product_spec = #{productSpec,jdbcType=VARCHAR}");
}
if (record.getProductPrice() != null) {
sql.SET("product_price = #{productPrice,jdbcType=DECIMAL}");
}
if (record.getProductNum() != null) {
sql.SET("product_num = #{productNum,jdbcType=INTEGER}");
}
if (record.getProductTotalPrice() != null) {
sql.SET("product_total_price = #{productTotalPrice,jdbcType=DECIMAL}");
}
if (record.getStatus() != null) {
sql.SET("`status` = #{status,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.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, BsMealShopCartExample 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<Criteria> 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<Criterion> 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());
}
}
}

@ -0,0 +1,155 @@
package com.hfkj.dao;
import com.hfkj.entity.BsMealTableOrderChild;
import com.hfkj.entity.BsMealTableOrderChildExample;
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 BsMealTableOrderChildMapper extends BsMealTableOrderChildMapperExt {
@SelectProvider(type=BsMealTableOrderChildSqlProvider.class, method="countByExample")
long countByExample(BsMealTableOrderChildExample example);
@DeleteProvider(type=BsMealTableOrderChildSqlProvider.class, method="deleteByExample")
int deleteByExample(BsMealTableOrderChildExample example);
@Delete({
"delete from bs_meal_table_order_child",
"where id = #{id,jdbcType=BIGINT}"
})
int deleteByPrimaryKey(Long id);
@Insert({
"insert into bs_meal_table_order_child (mer_id, mer_no, ",
"mer_name, mer_abbreviate, ",
"store_id, store_name, ",
"serial_number, table_number, ",
"`table_name`, order_no, ",
"order_amount, `status`, ",
"pay_time, create_time, ",
"update_time, ext_1, ",
"ext_2, ext_3)",
"values (#{merId,jdbcType=BIGINT}, #{merNo,jdbcType=VARCHAR}, ",
"#{merName,jdbcType=VARCHAR}, #{merAbbreviate,jdbcType=VARCHAR}, ",
"#{storeId,jdbcType=BIGINT}, #{storeName,jdbcType=VARCHAR}, ",
"#{serialNumber,jdbcType=VARCHAR}, #{tableNumber,jdbcType=VARCHAR}, ",
"#{tableName,jdbcType=VARCHAR}, #{orderNo,jdbcType=VARCHAR}, ",
"#{orderAmount,jdbcType=DECIMAL}, #{status,jdbcType=INTEGER}, ",
"#{payTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}, ",
"#{updateTime,jdbcType=TIMESTAMP}, #{ext1,jdbcType=VARCHAR}, ",
"#{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
})
@Options(useGeneratedKeys=true,keyProperty="id")
int insert(BsMealTableOrderChild record);
@InsertProvider(type=BsMealTableOrderChildSqlProvider.class, method="insertSelective")
@Options(useGeneratedKeys=true,keyProperty="id")
int insertSelective(BsMealTableOrderChild record);
@SelectProvider(type=BsMealTableOrderChildSqlProvider.class, method="selectByExample")
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="mer_id", property="merId", jdbcType=JdbcType.BIGINT),
@Result(column="mer_no", property="merNo", jdbcType=JdbcType.VARCHAR),
@Result(column="mer_name", property="merName", jdbcType=JdbcType.VARCHAR),
@Result(column="mer_abbreviate", property="merAbbreviate", jdbcType=JdbcType.VARCHAR),
@Result(column="store_id", property="storeId", jdbcType=JdbcType.BIGINT),
@Result(column="store_name", property="storeName", jdbcType=JdbcType.VARCHAR),
@Result(column="serial_number", property="serialNumber", jdbcType=JdbcType.VARCHAR),
@Result(column="table_number", property="tableNumber", jdbcType=JdbcType.VARCHAR),
@Result(column="table_name", property="tableName", jdbcType=JdbcType.VARCHAR),
@Result(column="order_no", property="orderNo", jdbcType=JdbcType.VARCHAR),
@Result(column="order_amount", property="orderAmount", jdbcType=JdbcType.DECIMAL),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@Result(column="pay_time", property="payTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@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<BsMealTableOrderChild> selectByExample(BsMealTableOrderChildExample example);
@Select({
"select",
"id, mer_id, mer_no, mer_name, mer_abbreviate, store_id, store_name, serial_number, ",
"table_number, `table_name`, order_no, order_amount, `status`, pay_time, create_time, ",
"update_time, ext_1, ext_2, ext_3",
"from bs_meal_table_order_child",
"where id = #{id,jdbcType=BIGINT}"
})
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="mer_id", property="merId", jdbcType=JdbcType.BIGINT),
@Result(column="mer_no", property="merNo", jdbcType=JdbcType.VARCHAR),
@Result(column="mer_name", property="merName", jdbcType=JdbcType.VARCHAR),
@Result(column="mer_abbreviate", property="merAbbreviate", jdbcType=JdbcType.VARCHAR),
@Result(column="store_id", property="storeId", jdbcType=JdbcType.BIGINT),
@Result(column="store_name", property="storeName", jdbcType=JdbcType.VARCHAR),
@Result(column="serial_number", property="serialNumber", jdbcType=JdbcType.VARCHAR),
@Result(column="table_number", property="tableNumber", jdbcType=JdbcType.VARCHAR),
@Result(column="table_name", property="tableName", jdbcType=JdbcType.VARCHAR),
@Result(column="order_no", property="orderNo", jdbcType=JdbcType.VARCHAR),
@Result(column="order_amount", property="orderAmount", jdbcType=JdbcType.DECIMAL),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@Result(column="pay_time", property="payTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@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)
})
BsMealTableOrderChild selectByPrimaryKey(Long id);
@UpdateProvider(type=BsMealTableOrderChildSqlProvider.class, method="updateByExampleSelective")
int updateByExampleSelective(@Param("record") BsMealTableOrderChild record, @Param("example") BsMealTableOrderChildExample example);
@UpdateProvider(type=BsMealTableOrderChildSqlProvider.class, method="updateByExample")
int updateByExample(@Param("record") BsMealTableOrderChild record, @Param("example") BsMealTableOrderChildExample example);
@UpdateProvider(type=BsMealTableOrderChildSqlProvider.class, method="updateByPrimaryKeySelective")
int updateByPrimaryKeySelective(BsMealTableOrderChild record);
@Update({
"update bs_meal_table_order_child",
"set mer_id = #{merId,jdbcType=BIGINT},",
"mer_no = #{merNo,jdbcType=VARCHAR},",
"mer_name = #{merName,jdbcType=VARCHAR},",
"mer_abbreviate = #{merAbbreviate,jdbcType=VARCHAR},",
"store_id = #{storeId,jdbcType=BIGINT},",
"store_name = #{storeName,jdbcType=VARCHAR},",
"serial_number = #{serialNumber,jdbcType=VARCHAR},",
"table_number = #{tableNumber,jdbcType=VARCHAR},",
"`table_name` = #{tableName,jdbcType=VARCHAR},",
"order_no = #{orderNo,jdbcType=VARCHAR},",
"order_amount = #{orderAmount,jdbcType=DECIMAL},",
"`status` = #{status,jdbcType=INTEGER},",
"pay_time = #{payTime,jdbcType=TIMESTAMP},",
"create_time = #{createTime,jdbcType=TIMESTAMP},",
"update_time = #{updateTime,jdbcType=TIMESTAMP},",
"ext_1 = #{ext1,jdbcType=VARCHAR},",
"ext_2 = #{ext2,jdbcType=VARCHAR},",
"ext_3 = #{ext3,jdbcType=VARCHAR}",
"where id = #{id,jdbcType=BIGINT}"
})
int updateByPrimaryKey(BsMealTableOrderChild record);
}

@ -0,0 +1,7 @@
package com.hfkj.dao;
/**
* mapper扩展类
*/
public interface BsMealTableOrderChildMapperExt {
}

@ -0,0 +1,430 @@
package com.hfkj.dao;
import com.hfkj.entity.BsMealTableOrderChild;
import com.hfkj.entity.BsMealTableOrderChildExample.Criteria;
import com.hfkj.entity.BsMealTableOrderChildExample.Criterion;
import com.hfkj.entity.BsMealTableOrderChildExample;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.jdbc.SQL;
public class BsMealTableOrderChildSqlProvider {
public String countByExample(BsMealTableOrderChildExample example) {
SQL sql = new SQL();
sql.SELECT("count(*)").FROM("bs_meal_table_order_child");
applyWhere(sql, example, false);
return sql.toString();
}
public String deleteByExample(BsMealTableOrderChildExample example) {
SQL sql = new SQL();
sql.DELETE_FROM("bs_meal_table_order_child");
applyWhere(sql, example, false);
return sql.toString();
}
public String insertSelective(BsMealTableOrderChild record) {
SQL sql = new SQL();
sql.INSERT_INTO("bs_meal_table_order_child");
if (record.getMerId() != null) {
sql.VALUES("mer_id", "#{merId,jdbcType=BIGINT}");
}
if (record.getMerNo() != null) {
sql.VALUES("mer_no", "#{merNo,jdbcType=VARCHAR}");
}
if (record.getMerName() != null) {
sql.VALUES("mer_name", "#{merName,jdbcType=VARCHAR}");
}
if (record.getMerAbbreviate() != null) {
sql.VALUES("mer_abbreviate", "#{merAbbreviate,jdbcType=VARCHAR}");
}
if (record.getStoreId() != null) {
sql.VALUES("store_id", "#{storeId,jdbcType=BIGINT}");
}
if (record.getStoreName() != null) {
sql.VALUES("store_name", "#{storeName,jdbcType=VARCHAR}");
}
if (record.getSerialNumber() != null) {
sql.VALUES("serial_number", "#{serialNumber,jdbcType=VARCHAR}");
}
if (record.getTableNumber() != null) {
sql.VALUES("table_number", "#{tableNumber,jdbcType=VARCHAR}");
}
if (record.getTableName() != null) {
sql.VALUES("`table_name`", "#{tableName,jdbcType=VARCHAR}");
}
if (record.getOrderNo() != null) {
sql.VALUES("order_no", "#{orderNo,jdbcType=VARCHAR}");
}
if (record.getOrderAmount() != null) {
sql.VALUES("order_amount", "#{orderAmount,jdbcType=DECIMAL}");
}
if (record.getStatus() != null) {
sql.VALUES("`status`", "#{status,jdbcType=INTEGER}");
}
if (record.getPayTime() != null) {
sql.VALUES("pay_time", "#{payTime,jdbcType=TIMESTAMP}");
}
if (record.getCreateTime() != null) {
sql.VALUES("create_time", "#{createTime,jdbcType=TIMESTAMP}");
}
if (record.getUpdateTime() != null) {
sql.VALUES("update_time", "#{updateTime,jdbcType=TIMESTAMP}");
}
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(BsMealTableOrderChildExample example) {
SQL sql = new SQL();
if (example != null && example.isDistinct()) {
sql.SELECT_DISTINCT("id");
} else {
sql.SELECT("id");
}
sql.SELECT("mer_id");
sql.SELECT("mer_no");
sql.SELECT("mer_name");
sql.SELECT("mer_abbreviate");
sql.SELECT("store_id");
sql.SELECT("store_name");
sql.SELECT("serial_number");
sql.SELECT("table_number");
sql.SELECT("`table_name`");
sql.SELECT("order_no");
sql.SELECT("order_amount");
sql.SELECT("`status`");
sql.SELECT("pay_time");
sql.SELECT("create_time");
sql.SELECT("update_time");
sql.SELECT("ext_1");
sql.SELECT("ext_2");
sql.SELECT("ext_3");
sql.FROM("bs_meal_table_order_child");
applyWhere(sql, example, false);
if (example != null && example.getOrderByClause() != null) {
sql.ORDER_BY(example.getOrderByClause());
}
return sql.toString();
}
public String updateByExampleSelective(Map<String, Object> parameter) {
BsMealTableOrderChild record = (BsMealTableOrderChild) parameter.get("record");
BsMealTableOrderChildExample example = (BsMealTableOrderChildExample) parameter.get("example");
SQL sql = new SQL();
sql.UPDATE("bs_meal_table_order_child");
if (record.getId() != null) {
sql.SET("id = #{record.id,jdbcType=BIGINT}");
}
if (record.getMerId() != null) {
sql.SET("mer_id = #{record.merId,jdbcType=BIGINT}");
}
if (record.getMerNo() != null) {
sql.SET("mer_no = #{record.merNo,jdbcType=VARCHAR}");
}
if (record.getMerName() != null) {
sql.SET("mer_name = #{record.merName,jdbcType=VARCHAR}");
}
if (record.getMerAbbreviate() != null) {
sql.SET("mer_abbreviate = #{record.merAbbreviate,jdbcType=VARCHAR}");
}
if (record.getStoreId() != null) {
sql.SET("store_id = #{record.storeId,jdbcType=BIGINT}");
}
if (record.getStoreName() != null) {
sql.SET("store_name = #{record.storeName,jdbcType=VARCHAR}");
}
if (record.getSerialNumber() != null) {
sql.SET("serial_number = #{record.serialNumber,jdbcType=VARCHAR}");
}
if (record.getTableNumber() != null) {
sql.SET("table_number = #{record.tableNumber,jdbcType=VARCHAR}");
}
if (record.getTableName() != null) {
sql.SET("`table_name` = #{record.tableName,jdbcType=VARCHAR}");
}
if (record.getOrderNo() != null) {
sql.SET("order_no = #{record.orderNo,jdbcType=VARCHAR}");
}
if (record.getOrderAmount() != null) {
sql.SET("order_amount = #{record.orderAmount,jdbcType=DECIMAL}");
}
if (record.getStatus() != null) {
sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
}
if (record.getPayTime() != null) {
sql.SET("pay_time = #{record.payTime,jdbcType=TIMESTAMP}");
}
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.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<String, Object> parameter) {
SQL sql = new SQL();
sql.UPDATE("bs_meal_table_order_child");
sql.SET("id = #{record.id,jdbcType=BIGINT}");
sql.SET("mer_id = #{record.merId,jdbcType=BIGINT}");
sql.SET("mer_no = #{record.merNo,jdbcType=VARCHAR}");
sql.SET("mer_name = #{record.merName,jdbcType=VARCHAR}");
sql.SET("mer_abbreviate = #{record.merAbbreviate,jdbcType=VARCHAR}");
sql.SET("store_id = #{record.storeId,jdbcType=BIGINT}");
sql.SET("store_name = #{record.storeName,jdbcType=VARCHAR}");
sql.SET("serial_number = #{record.serialNumber,jdbcType=VARCHAR}");
sql.SET("table_number = #{record.tableNumber,jdbcType=VARCHAR}");
sql.SET("`table_name` = #{record.tableName,jdbcType=VARCHAR}");
sql.SET("order_no = #{record.orderNo,jdbcType=VARCHAR}");
sql.SET("order_amount = #{record.orderAmount,jdbcType=DECIMAL}");
sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
sql.SET("pay_time = #{record.payTime,jdbcType=TIMESTAMP}");
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
BsMealTableOrderChildExample example = (BsMealTableOrderChildExample) parameter.get("example");
applyWhere(sql, example, true);
return sql.toString();
}
public String updateByPrimaryKeySelective(BsMealTableOrderChild record) {
SQL sql = new SQL();
sql.UPDATE("bs_meal_table_order_child");
if (record.getMerId() != null) {
sql.SET("mer_id = #{merId,jdbcType=BIGINT}");
}
if (record.getMerNo() != null) {
sql.SET("mer_no = #{merNo,jdbcType=VARCHAR}");
}
if (record.getMerName() != null) {
sql.SET("mer_name = #{merName,jdbcType=VARCHAR}");
}
if (record.getMerAbbreviate() != null) {
sql.SET("mer_abbreviate = #{merAbbreviate,jdbcType=VARCHAR}");
}
if (record.getStoreId() != null) {
sql.SET("store_id = #{storeId,jdbcType=BIGINT}");
}
if (record.getStoreName() != null) {
sql.SET("store_name = #{storeName,jdbcType=VARCHAR}");
}
if (record.getSerialNumber() != null) {
sql.SET("serial_number = #{serialNumber,jdbcType=VARCHAR}");
}
if (record.getTableNumber() != null) {
sql.SET("table_number = #{tableNumber,jdbcType=VARCHAR}");
}
if (record.getTableName() != null) {
sql.SET("`table_name` = #{tableName,jdbcType=VARCHAR}");
}
if (record.getOrderNo() != null) {
sql.SET("order_no = #{orderNo,jdbcType=VARCHAR}");
}
if (record.getOrderAmount() != null) {
sql.SET("order_amount = #{orderAmount,jdbcType=DECIMAL}");
}
if (record.getStatus() != null) {
sql.SET("`status` = #{status,jdbcType=INTEGER}");
}
if (record.getPayTime() != null) {
sql.SET("pay_time = #{payTime,jdbcType=TIMESTAMP}");
}
if (record.getCreateTime() != null) {
sql.SET("create_time = #{createTime,jdbcType=TIMESTAMP}");
}
if (record.getUpdateTime() != null) {
sql.SET("update_time = #{updateTime,jdbcType=TIMESTAMP}");
}
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, BsMealTableOrderChildExample 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<Criteria> 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<Criterion> 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());
}
}
}

@ -0,0 +1,158 @@
package com.hfkj.dao;
import com.hfkj.entity.BsMealTableOrder;
import com.hfkj.entity.BsMealTableOrderExample;
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 BsMealTableOrderMapper extends BsMealTableOrderMapperExt {
@SelectProvider(type=BsMealTableOrderSqlProvider.class, method="countByExample")
long countByExample(BsMealTableOrderExample example);
@DeleteProvider(type=BsMealTableOrderSqlProvider.class, method="deleteByExample")
int deleteByExample(BsMealTableOrderExample example);
@Delete({
"delete from bs_meal_table_order",
"where id = #{id,jdbcType=BIGINT}"
})
int deleteByPrimaryKey(Long id);
@Insert({
"insert into bs_meal_table_order (mer_id, mer_no, ",
"mer_name, mer_abbreviate, ",
"store_id, store_name, ",
"serial_number, table_number, ",
"`table_name`, people_num, ",
"order_no, order_amount, ",
"`status`, pay_time, ",
"create_time, update_time, ",
"ext_1, ext_2, ext_3)",
"values (#{merId,jdbcType=BIGINT}, #{merNo,jdbcType=VARCHAR}, ",
"#{merName,jdbcType=VARCHAR}, #{merAbbreviate,jdbcType=VARCHAR}, ",
"#{storeId,jdbcType=BIGINT}, #{storeName,jdbcType=VARCHAR}, ",
"#{serialNumber,jdbcType=VARCHAR}, #{tableNumber,jdbcType=INTEGER}, ",
"#{tableName,jdbcType=VARCHAR}, #{peopleNum,jdbcType=INTEGER}, ",
"#{orderNo,jdbcType=VARCHAR}, #{orderAmount,jdbcType=DECIMAL}, ",
"#{status,jdbcType=INTEGER}, #{payTime,jdbcType=TIMESTAMP}, ",
"#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, ",
"#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
})
@Options(useGeneratedKeys=true,keyProperty="id")
int insert(BsMealTableOrder record);
@InsertProvider(type=BsMealTableOrderSqlProvider.class, method="insertSelective")
@Options(useGeneratedKeys=true,keyProperty="id")
int insertSelective(BsMealTableOrder record);
@SelectProvider(type=BsMealTableOrderSqlProvider.class, method="selectByExample")
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="mer_id", property="merId", jdbcType=JdbcType.BIGINT),
@Result(column="mer_no", property="merNo", jdbcType=JdbcType.VARCHAR),
@Result(column="mer_name", property="merName", jdbcType=JdbcType.VARCHAR),
@Result(column="mer_abbreviate", property="merAbbreviate", jdbcType=JdbcType.VARCHAR),
@Result(column="store_id", property="storeId", jdbcType=JdbcType.BIGINT),
@Result(column="store_name", property="storeName", jdbcType=JdbcType.VARCHAR),
@Result(column="serial_number", property="serialNumber", jdbcType=JdbcType.VARCHAR),
@Result(column="table_number", property="tableNumber", jdbcType=JdbcType.INTEGER),
@Result(column="table_name", property="tableName", jdbcType=JdbcType.VARCHAR),
@Result(column="people_num", property="peopleNum", jdbcType=JdbcType.INTEGER),
@Result(column="order_no", property="orderNo", jdbcType=JdbcType.VARCHAR),
@Result(column="order_amount", property="orderAmount", jdbcType=JdbcType.DECIMAL),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@Result(column="pay_time", property="payTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@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<BsMealTableOrder> selectByExample(BsMealTableOrderExample example);
@Select({
"select",
"id, mer_id, mer_no, mer_name, mer_abbreviate, store_id, store_name, serial_number, ",
"table_number, `table_name`, people_num, order_no, order_amount, `status`, pay_time, ",
"create_time, update_time, ext_1, ext_2, ext_3",
"from bs_meal_table_order",
"where id = #{id,jdbcType=BIGINT}"
})
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="mer_id", property="merId", jdbcType=JdbcType.BIGINT),
@Result(column="mer_no", property="merNo", jdbcType=JdbcType.VARCHAR),
@Result(column="mer_name", property="merName", jdbcType=JdbcType.VARCHAR),
@Result(column="mer_abbreviate", property="merAbbreviate", jdbcType=JdbcType.VARCHAR),
@Result(column="store_id", property="storeId", jdbcType=JdbcType.BIGINT),
@Result(column="store_name", property="storeName", jdbcType=JdbcType.VARCHAR),
@Result(column="serial_number", property="serialNumber", jdbcType=JdbcType.VARCHAR),
@Result(column="table_number", property="tableNumber", jdbcType=JdbcType.INTEGER),
@Result(column="table_name", property="tableName", jdbcType=JdbcType.VARCHAR),
@Result(column="people_num", property="peopleNum", jdbcType=JdbcType.INTEGER),
@Result(column="order_no", property="orderNo", jdbcType=JdbcType.VARCHAR),
@Result(column="order_amount", property="orderAmount", jdbcType=JdbcType.DECIMAL),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@Result(column="pay_time", property="payTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@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)
})
BsMealTableOrder selectByPrimaryKey(Long id);
@UpdateProvider(type=BsMealTableOrderSqlProvider.class, method="updateByExampleSelective")
int updateByExampleSelective(@Param("record") BsMealTableOrder record, @Param("example") BsMealTableOrderExample example);
@UpdateProvider(type=BsMealTableOrderSqlProvider.class, method="updateByExample")
int updateByExample(@Param("record") BsMealTableOrder record, @Param("example") BsMealTableOrderExample example);
@UpdateProvider(type=BsMealTableOrderSqlProvider.class, method="updateByPrimaryKeySelective")
int updateByPrimaryKeySelective(BsMealTableOrder record);
@Update({
"update bs_meal_table_order",
"set mer_id = #{merId,jdbcType=BIGINT},",
"mer_no = #{merNo,jdbcType=VARCHAR},",
"mer_name = #{merName,jdbcType=VARCHAR},",
"mer_abbreviate = #{merAbbreviate,jdbcType=VARCHAR},",
"store_id = #{storeId,jdbcType=BIGINT},",
"store_name = #{storeName,jdbcType=VARCHAR},",
"serial_number = #{serialNumber,jdbcType=VARCHAR},",
"table_number = #{tableNumber,jdbcType=INTEGER},",
"`table_name` = #{tableName,jdbcType=VARCHAR},",
"people_num = #{peopleNum,jdbcType=INTEGER},",
"order_no = #{orderNo,jdbcType=VARCHAR},",
"order_amount = #{orderAmount,jdbcType=DECIMAL},",
"`status` = #{status,jdbcType=INTEGER},",
"pay_time = #{payTime,jdbcType=TIMESTAMP},",
"create_time = #{createTime,jdbcType=TIMESTAMP},",
"update_time = #{updateTime,jdbcType=TIMESTAMP},",
"ext_1 = #{ext1,jdbcType=VARCHAR},",
"ext_2 = #{ext2,jdbcType=VARCHAR},",
"ext_3 = #{ext3,jdbcType=VARCHAR}",
"where id = #{id,jdbcType=BIGINT}"
})
int updateByPrimaryKey(BsMealTableOrder record);
}

@ -0,0 +1,7 @@
package com.hfkj.dao;
/**
* mapper扩展类
*/
public interface BsMealTableOrderMapperExt {
}

@ -0,0 +1,444 @@
package com.hfkj.dao;
import com.hfkj.entity.BsMealTableOrder;
import com.hfkj.entity.BsMealTableOrderExample.Criteria;
import com.hfkj.entity.BsMealTableOrderExample.Criterion;
import com.hfkj.entity.BsMealTableOrderExample;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.jdbc.SQL;
public class BsMealTableOrderSqlProvider {
public String countByExample(BsMealTableOrderExample example) {
SQL sql = new SQL();
sql.SELECT("count(*)").FROM("bs_meal_table_order");
applyWhere(sql, example, false);
return sql.toString();
}
public String deleteByExample(BsMealTableOrderExample example) {
SQL sql = new SQL();
sql.DELETE_FROM("bs_meal_table_order");
applyWhere(sql, example, false);
return sql.toString();
}
public String insertSelective(BsMealTableOrder record) {
SQL sql = new SQL();
sql.INSERT_INTO("bs_meal_table_order");
if (record.getMerId() != null) {
sql.VALUES("mer_id", "#{merId,jdbcType=BIGINT}");
}
if (record.getMerNo() != null) {
sql.VALUES("mer_no", "#{merNo,jdbcType=VARCHAR}");
}
if (record.getMerName() != null) {
sql.VALUES("mer_name", "#{merName,jdbcType=VARCHAR}");
}
if (record.getMerAbbreviate() != null) {
sql.VALUES("mer_abbreviate", "#{merAbbreviate,jdbcType=VARCHAR}");
}
if (record.getStoreId() != null) {
sql.VALUES("store_id", "#{storeId,jdbcType=BIGINT}");
}
if (record.getStoreName() != null) {
sql.VALUES("store_name", "#{storeName,jdbcType=VARCHAR}");
}
if (record.getSerialNumber() != null) {
sql.VALUES("serial_number", "#{serialNumber,jdbcType=VARCHAR}");
}
if (record.getTableNumber() != null) {
sql.VALUES("table_number", "#{tableNumber,jdbcType=INTEGER}");
}
if (record.getTableName() != null) {
sql.VALUES("`table_name`", "#{tableName,jdbcType=VARCHAR}");
}
if (record.getPeopleNum() != null) {
sql.VALUES("people_num", "#{peopleNum,jdbcType=INTEGER}");
}
if (record.getOrderNo() != null) {
sql.VALUES("order_no", "#{orderNo,jdbcType=VARCHAR}");
}
if (record.getOrderAmount() != null) {
sql.VALUES("order_amount", "#{orderAmount,jdbcType=DECIMAL}");
}
if (record.getStatus() != null) {
sql.VALUES("`status`", "#{status,jdbcType=INTEGER}");
}
if (record.getPayTime() != null) {
sql.VALUES("pay_time", "#{payTime,jdbcType=TIMESTAMP}");
}
if (record.getCreateTime() != null) {
sql.VALUES("create_time", "#{createTime,jdbcType=TIMESTAMP}");
}
if (record.getUpdateTime() != null) {
sql.VALUES("update_time", "#{updateTime,jdbcType=TIMESTAMP}");
}
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(BsMealTableOrderExample example) {
SQL sql = new SQL();
if (example != null && example.isDistinct()) {
sql.SELECT_DISTINCT("id");
} else {
sql.SELECT("id");
}
sql.SELECT("mer_id");
sql.SELECT("mer_no");
sql.SELECT("mer_name");
sql.SELECT("mer_abbreviate");
sql.SELECT("store_id");
sql.SELECT("store_name");
sql.SELECT("serial_number");
sql.SELECT("table_number");
sql.SELECT("`table_name`");
sql.SELECT("people_num");
sql.SELECT("order_no");
sql.SELECT("order_amount");
sql.SELECT("`status`");
sql.SELECT("pay_time");
sql.SELECT("create_time");
sql.SELECT("update_time");
sql.SELECT("ext_1");
sql.SELECT("ext_2");
sql.SELECT("ext_3");
sql.FROM("bs_meal_table_order");
applyWhere(sql, example, false);
if (example != null && example.getOrderByClause() != null) {
sql.ORDER_BY(example.getOrderByClause());
}
return sql.toString();
}
public String updateByExampleSelective(Map<String, Object> parameter) {
BsMealTableOrder record = (BsMealTableOrder) parameter.get("record");
BsMealTableOrderExample example = (BsMealTableOrderExample) parameter.get("example");
SQL sql = new SQL();
sql.UPDATE("bs_meal_table_order");
if (record.getId() != null) {
sql.SET("id = #{record.id,jdbcType=BIGINT}");
}
if (record.getMerId() != null) {
sql.SET("mer_id = #{record.merId,jdbcType=BIGINT}");
}
if (record.getMerNo() != null) {
sql.SET("mer_no = #{record.merNo,jdbcType=VARCHAR}");
}
if (record.getMerName() != null) {
sql.SET("mer_name = #{record.merName,jdbcType=VARCHAR}");
}
if (record.getMerAbbreviate() != null) {
sql.SET("mer_abbreviate = #{record.merAbbreviate,jdbcType=VARCHAR}");
}
if (record.getStoreId() != null) {
sql.SET("store_id = #{record.storeId,jdbcType=BIGINT}");
}
if (record.getStoreName() != null) {
sql.SET("store_name = #{record.storeName,jdbcType=VARCHAR}");
}
if (record.getSerialNumber() != null) {
sql.SET("serial_number = #{record.serialNumber,jdbcType=VARCHAR}");
}
if (record.getTableNumber() != null) {
sql.SET("table_number = #{record.tableNumber,jdbcType=INTEGER}");
}
if (record.getTableName() != null) {
sql.SET("`table_name` = #{record.tableName,jdbcType=VARCHAR}");
}
if (record.getPeopleNum() != null) {
sql.SET("people_num = #{record.peopleNum,jdbcType=INTEGER}");
}
if (record.getOrderNo() != null) {
sql.SET("order_no = #{record.orderNo,jdbcType=VARCHAR}");
}
if (record.getOrderAmount() != null) {
sql.SET("order_amount = #{record.orderAmount,jdbcType=DECIMAL}");
}
if (record.getStatus() != null) {
sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
}
if (record.getPayTime() != null) {
sql.SET("pay_time = #{record.payTime,jdbcType=TIMESTAMP}");
}
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.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<String, Object> parameter) {
SQL sql = new SQL();
sql.UPDATE("bs_meal_table_order");
sql.SET("id = #{record.id,jdbcType=BIGINT}");
sql.SET("mer_id = #{record.merId,jdbcType=BIGINT}");
sql.SET("mer_no = #{record.merNo,jdbcType=VARCHAR}");
sql.SET("mer_name = #{record.merName,jdbcType=VARCHAR}");
sql.SET("mer_abbreviate = #{record.merAbbreviate,jdbcType=VARCHAR}");
sql.SET("store_id = #{record.storeId,jdbcType=BIGINT}");
sql.SET("store_name = #{record.storeName,jdbcType=VARCHAR}");
sql.SET("serial_number = #{record.serialNumber,jdbcType=VARCHAR}");
sql.SET("table_number = #{record.tableNumber,jdbcType=INTEGER}");
sql.SET("`table_name` = #{record.tableName,jdbcType=VARCHAR}");
sql.SET("people_num = #{record.peopleNum,jdbcType=INTEGER}");
sql.SET("order_no = #{record.orderNo,jdbcType=VARCHAR}");
sql.SET("order_amount = #{record.orderAmount,jdbcType=DECIMAL}");
sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
sql.SET("pay_time = #{record.payTime,jdbcType=TIMESTAMP}");
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
BsMealTableOrderExample example = (BsMealTableOrderExample) parameter.get("example");
applyWhere(sql, example, true);
return sql.toString();
}
public String updateByPrimaryKeySelective(BsMealTableOrder record) {
SQL sql = new SQL();
sql.UPDATE("bs_meal_table_order");
if (record.getMerId() != null) {
sql.SET("mer_id = #{merId,jdbcType=BIGINT}");
}
if (record.getMerNo() != null) {
sql.SET("mer_no = #{merNo,jdbcType=VARCHAR}");
}
if (record.getMerName() != null) {
sql.SET("mer_name = #{merName,jdbcType=VARCHAR}");
}
if (record.getMerAbbreviate() != null) {
sql.SET("mer_abbreviate = #{merAbbreviate,jdbcType=VARCHAR}");
}
if (record.getStoreId() != null) {
sql.SET("store_id = #{storeId,jdbcType=BIGINT}");
}
if (record.getStoreName() != null) {
sql.SET("store_name = #{storeName,jdbcType=VARCHAR}");
}
if (record.getSerialNumber() != null) {
sql.SET("serial_number = #{serialNumber,jdbcType=VARCHAR}");
}
if (record.getTableNumber() != null) {
sql.SET("table_number = #{tableNumber,jdbcType=INTEGER}");
}
if (record.getTableName() != null) {
sql.SET("`table_name` = #{tableName,jdbcType=VARCHAR}");
}
if (record.getPeopleNum() != null) {
sql.SET("people_num = #{peopleNum,jdbcType=INTEGER}");
}
if (record.getOrderNo() != null) {
sql.SET("order_no = #{orderNo,jdbcType=VARCHAR}");
}
if (record.getOrderAmount() != null) {
sql.SET("order_amount = #{orderAmount,jdbcType=DECIMAL}");
}
if (record.getStatus() != null) {
sql.SET("`status` = #{status,jdbcType=INTEGER}");
}
if (record.getPayTime() != null) {
sql.SET("pay_time = #{payTime,jdbcType=TIMESTAMP}");
}
if (record.getCreateTime() != null) {
sql.SET("create_time = #{createTime,jdbcType=TIMESTAMP}");
}
if (record.getUpdateTime() != null) {
sql.SET("update_time = #{updateTime,jdbcType=TIMESTAMP}");
}
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, BsMealTableOrderExample 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<Criteria> 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<Criterion> 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());
}
}
}

@ -0,0 +1,390 @@
package com.hfkj.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* bs_meal_shop_cart
* @author
*/
/**
*
* 代码由工具生成
*
**/
public class BsMealShopCart implements Serializable {
private Long id;
/**
* 门店id
*/
private Long storeId;
/**
* 门店名称
*/
private String storeName;
/**
* 序列号系统唯一
*/
private String serialNumber;
/**
* 桌子编号
*/
private Integer tableNumber;
/**
* 桌子名称
*/
private String tableName;
/**
* 订单号
*/
private String orderNo;
/**
* 产品分类id
*/
private Long productCategoryId;
/**
* 产品分类名称
*/
private String productCategoryName;
/**
* 产品id
*/
private Long productId;
/**
* 产品图片
*/
private String productImg;
/**
* 产品名称
*/
private String productName;
/**
* 产品规格
*/
private String productSpec;
/**
* 产品单价
*/
private BigDecimal productPrice;
/**
* 产品数量
*/
private Integer productNum;
/**
* 产品总价
*/
private BigDecimal productTotalPrice;
/**
* 状态 0删除 1正常
*/
private Integer status;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
private String ext1;
private String ext2;
private String ext3;
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 getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
public String getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(String serialNumber) {
this.serialNumber = serialNumber;
}
public Integer getTableNumber() {
return tableNumber;
}
public void setTableNumber(Integer tableNumber) {
this.tableNumber = tableNumber;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
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 Long getProductId() {
return productId;
}
public void setProductId(Long productId) {
this.productId = productId;
}
public String getProductImg() {
return productImg;
}
public void setProductImg(String productImg) {
this.productImg = productImg;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getProductSpec() {
return productSpec;
}
public void setProductSpec(String productSpec) {
this.productSpec = productSpec;
}
public BigDecimal getProductPrice() {
return productPrice;
}
public void setProductPrice(BigDecimal productPrice) {
this.productPrice = productPrice;
}
public Integer getProductNum() {
return productNum;
}
public void setProductNum(Integer productNum) {
this.productNum = productNum;
}
public BigDecimal getProductTotalPrice() {
return productTotalPrice;
}
public void setProductTotalPrice(BigDecimal productTotalPrice) {
this.productTotalPrice = productTotalPrice;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
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 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;
}
BsMealShopCart other = (BsMealShopCart) 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.getStoreName() == null ? other.getStoreName() == null : this.getStoreName().equals(other.getStoreName()))
&& (this.getSerialNumber() == null ? other.getSerialNumber() == null : this.getSerialNumber().equals(other.getSerialNumber()))
&& (this.getTableNumber() == null ? other.getTableNumber() == null : this.getTableNumber().equals(other.getTableNumber()))
&& (this.getTableName() == null ? other.getTableName() == null : this.getTableName().equals(other.getTableName()))
&& (this.getOrderNo() == null ? other.getOrderNo() == null : this.getOrderNo().equals(other.getOrderNo()))
&& (this.getProductCategoryId() == null ? other.getProductCategoryId() == null : this.getProductCategoryId().equals(other.getProductCategoryId()))
&& (this.getProductCategoryName() == null ? other.getProductCategoryName() == null : this.getProductCategoryName().equals(other.getProductCategoryName()))
&& (this.getProductId() == null ? other.getProductId() == null : this.getProductId().equals(other.getProductId()))
&& (this.getProductImg() == null ? other.getProductImg() == null : this.getProductImg().equals(other.getProductImg()))
&& (this.getProductName() == null ? other.getProductName() == null : this.getProductName().equals(other.getProductName()))
&& (this.getProductSpec() == null ? other.getProductSpec() == null : this.getProductSpec().equals(other.getProductSpec()))
&& (this.getProductPrice() == null ? other.getProductPrice() == null : this.getProductPrice().equals(other.getProductPrice()))
&& (this.getProductNum() == null ? other.getProductNum() == null : this.getProductNum().equals(other.getProductNum()))
&& (this.getProductTotalPrice() == null ? other.getProductTotalPrice() == null : this.getProductTotalPrice().equals(other.getProductTotalPrice()))
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
&& (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 + ((getStoreName() == null) ? 0 : getStoreName().hashCode());
result = prime * result + ((getSerialNumber() == null) ? 0 : getSerialNumber().hashCode());
result = prime * result + ((getTableNumber() == null) ? 0 : getTableNumber().hashCode());
result = prime * result + ((getTableName() == null) ? 0 : getTableName().hashCode());
result = prime * result + ((getOrderNo() == null) ? 0 : getOrderNo().hashCode());
result = prime * result + ((getProductCategoryId() == null) ? 0 : getProductCategoryId().hashCode());
result = prime * result + ((getProductCategoryName() == null) ? 0 : getProductCategoryName().hashCode());
result = prime * result + ((getProductId() == null) ? 0 : getProductId().hashCode());
result = prime * result + ((getProductImg() == null) ? 0 : getProductImg().hashCode());
result = prime * result + ((getProductName() == null) ? 0 : getProductName().hashCode());
result = prime * result + ((getProductSpec() == null) ? 0 : getProductSpec().hashCode());
result = prime * result + ((getProductPrice() == null) ? 0 : getProductPrice().hashCode());
result = prime * result + ((getProductNum() == null) ? 0 : getProductNum().hashCode());
result = prime * result + ((getProductTotalPrice() == null) ? 0 : getProductTotalPrice().hashCode());
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().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(", storeName=").append(storeName);
sb.append(", serialNumber=").append(serialNumber);
sb.append(", tableNumber=").append(tableNumber);
sb.append(", tableName=").append(tableName);
sb.append(", orderNo=").append(orderNo);
sb.append(", productCategoryId=").append(productCategoryId);
sb.append(", productCategoryName=").append(productCategoryName);
sb.append(", productId=").append(productId);
sb.append(", productImg=").append(productImg);
sb.append(", productName=").append(productName);
sb.append(", productSpec=").append(productSpec);
sb.append(", productPrice=").append(productPrice);
sb.append(", productNum=").append(productNum);
sb.append(", productTotalPrice=").append(productTotalPrice);
sb.append(", status=").append(status);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
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();
}
}

@ -0,0 +1,358 @@
package com.hfkj.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* bs_meal_table_order
* @author
*/
/**
*
* 代码由工具生成
*
**/
public class BsMealTableOrder implements Serializable {
private Long id;
/**
* 商户id
*/
private Long merId;
/**
* 商户号
*/
private String merNo;
/**
* 商户名称
*/
private String merName;
/**
* 商户简称
*/
private String merAbbreviate;
/**
* 门店id
*/
private Long storeId;
/**
* 门店名称
*/
private String storeName;
/**
* 序列号系统唯一
*/
private String serialNumber;
/**
* 桌子编号
*/
private Integer tableNumber;
/**
* 桌子名称
*/
private String tableName;
/**
* 人数
*/
private Integer peopleNum;
/**
* 订单号
*/
private String orderNo;
/**
* 订单金额
*/
private BigDecimal orderAmount;
/**
* 状态 0不可用 1未结账 2已结账
*/
private Integer status;
/**
* 支付时间
*/
private Date payTime;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
private String ext1;
private String ext2;
private String ext3;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getMerId() {
return merId;
}
public void setMerId(Long merId) {
this.merId = merId;
}
public String getMerNo() {
return merNo;
}
public void setMerNo(String merNo) {
this.merNo = merNo;
}
public String getMerName() {
return merName;
}
public void setMerName(String merName) {
this.merName = merName;
}
public String getMerAbbreviate() {
return merAbbreviate;
}
public void setMerAbbreviate(String merAbbreviate) {
this.merAbbreviate = merAbbreviate;
}
public Long getStoreId() {
return storeId;
}
public void setStoreId(Long storeId) {
this.storeId = storeId;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
public String getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(String serialNumber) {
this.serialNumber = serialNumber;
}
public Integer getTableNumber() {
return tableNumber;
}
public void setTableNumber(Integer tableNumber) {
this.tableNumber = tableNumber;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public Integer getPeopleNum() {
return peopleNum;
}
public void setPeopleNum(Integer peopleNum) {
this.peopleNum = peopleNum;
}
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
public BigDecimal getOrderAmount() {
return orderAmount;
}
public void setOrderAmount(BigDecimal orderAmount) {
this.orderAmount = orderAmount;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Date getPayTime() {
return payTime;
}
public void setPayTime(Date payTime) {
this.payTime = payTime;
}
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 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;
}
BsMealTableOrder other = (BsMealTableOrder) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getMerId() == null ? other.getMerId() == null : this.getMerId().equals(other.getMerId()))
&& (this.getMerNo() == null ? other.getMerNo() == null : this.getMerNo().equals(other.getMerNo()))
&& (this.getMerName() == null ? other.getMerName() == null : this.getMerName().equals(other.getMerName()))
&& (this.getMerAbbreviate() == null ? other.getMerAbbreviate() == null : this.getMerAbbreviate().equals(other.getMerAbbreviate()))
&& (this.getStoreId() == null ? other.getStoreId() == null : this.getStoreId().equals(other.getStoreId()))
&& (this.getStoreName() == null ? other.getStoreName() == null : this.getStoreName().equals(other.getStoreName()))
&& (this.getSerialNumber() == null ? other.getSerialNumber() == null : this.getSerialNumber().equals(other.getSerialNumber()))
&& (this.getTableNumber() == null ? other.getTableNumber() == null : this.getTableNumber().equals(other.getTableNumber()))
&& (this.getTableName() == null ? other.getTableName() == null : this.getTableName().equals(other.getTableName()))
&& (this.getPeopleNum() == null ? other.getPeopleNum() == null : this.getPeopleNum().equals(other.getPeopleNum()))
&& (this.getOrderNo() == null ? other.getOrderNo() == null : this.getOrderNo().equals(other.getOrderNo()))
&& (this.getOrderAmount() == null ? other.getOrderAmount() == null : this.getOrderAmount().equals(other.getOrderAmount()))
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
&& (this.getPayTime() == null ? other.getPayTime() == null : this.getPayTime().equals(other.getPayTime()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
&& (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 + ((getMerId() == null) ? 0 : getMerId().hashCode());
result = prime * result + ((getMerNo() == null) ? 0 : getMerNo().hashCode());
result = prime * result + ((getMerName() == null) ? 0 : getMerName().hashCode());
result = prime * result + ((getMerAbbreviate() == null) ? 0 : getMerAbbreviate().hashCode());
result = prime * result + ((getStoreId() == null) ? 0 : getStoreId().hashCode());
result = prime * result + ((getStoreName() == null) ? 0 : getStoreName().hashCode());
result = prime * result + ((getSerialNumber() == null) ? 0 : getSerialNumber().hashCode());
result = prime * result + ((getTableNumber() == null) ? 0 : getTableNumber().hashCode());
result = prime * result + ((getTableName() == null) ? 0 : getTableName().hashCode());
result = prime * result + ((getPeopleNum() == null) ? 0 : getPeopleNum().hashCode());
result = prime * result + ((getOrderNo() == null) ? 0 : getOrderNo().hashCode());
result = prime * result + ((getOrderAmount() == null) ? 0 : getOrderAmount().hashCode());
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
result = prime * result + ((getPayTime() == null) ? 0 : getPayTime().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().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(", merId=").append(merId);
sb.append(", merNo=").append(merNo);
sb.append(", merName=").append(merName);
sb.append(", merAbbreviate=").append(merAbbreviate);
sb.append(", storeId=").append(storeId);
sb.append(", storeName=").append(storeName);
sb.append(", serialNumber=").append(serialNumber);
sb.append(", tableNumber=").append(tableNumber);
sb.append(", tableName=").append(tableName);
sb.append(", peopleNum=").append(peopleNum);
sb.append(", orderNo=").append(orderNo);
sb.append(", orderAmount=").append(orderAmount);
sb.append(", status=").append(status);
sb.append(", payTime=").append(payTime);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
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();
}
}

@ -0,0 +1,342 @@
package com.hfkj.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* bs_meal_table_order_child
* @author
*/
/**
*
* 代码由工具生成
*
**/
public class BsMealTableOrderChild implements Serializable {
private Long id;
/**
* 商户id
*/
private Long merId;
/**
* 商户号
*/
private String merNo;
/**
* 商户名称
*/
private String merName;
/**
* 商户简称
*/
private String merAbbreviate;
/**
* 门店id
*/
private Long storeId;
/**
* 门店名称
*/
private String storeName;
/**
* 序列号系统唯一
*/
private String serialNumber;
/**
* 桌子编号
*/
private String tableNumber;
/**
* 桌子名称
*/
private String tableName;
/**
* 订单号
*/
private String orderNo;
/**
* 订单金额
*/
private BigDecimal orderAmount;
/**
* 状态 0不可用 1未结账 2已结账
*/
private Integer status;
/**
* 支付时间
*/
private Date payTime;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
private String ext1;
private String ext2;
private String ext3;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getMerId() {
return merId;
}
public void setMerId(Long merId) {
this.merId = merId;
}
public String getMerNo() {
return merNo;
}
public void setMerNo(String merNo) {
this.merNo = merNo;
}
public String getMerName() {
return merName;
}
public void setMerName(String merName) {
this.merName = merName;
}
public String getMerAbbreviate() {
return merAbbreviate;
}
public void setMerAbbreviate(String merAbbreviate) {
this.merAbbreviate = merAbbreviate;
}
public Long getStoreId() {
return storeId;
}
public void setStoreId(Long storeId) {
this.storeId = storeId;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
public String getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(String serialNumber) {
this.serialNumber = serialNumber;
}
public String getTableNumber() {
return tableNumber;
}
public void setTableNumber(String tableNumber) {
this.tableNumber = tableNumber;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
public BigDecimal getOrderAmount() {
return orderAmount;
}
public void setOrderAmount(BigDecimal orderAmount) {
this.orderAmount = orderAmount;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Date getPayTime() {
return payTime;
}
public void setPayTime(Date payTime) {
this.payTime = payTime;
}
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 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;
}
BsMealTableOrderChild other = (BsMealTableOrderChild) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getMerId() == null ? other.getMerId() == null : this.getMerId().equals(other.getMerId()))
&& (this.getMerNo() == null ? other.getMerNo() == null : this.getMerNo().equals(other.getMerNo()))
&& (this.getMerName() == null ? other.getMerName() == null : this.getMerName().equals(other.getMerName()))
&& (this.getMerAbbreviate() == null ? other.getMerAbbreviate() == null : this.getMerAbbreviate().equals(other.getMerAbbreviate()))
&& (this.getStoreId() == null ? other.getStoreId() == null : this.getStoreId().equals(other.getStoreId()))
&& (this.getStoreName() == null ? other.getStoreName() == null : this.getStoreName().equals(other.getStoreName()))
&& (this.getSerialNumber() == null ? other.getSerialNumber() == null : this.getSerialNumber().equals(other.getSerialNumber()))
&& (this.getTableNumber() == null ? other.getTableNumber() == null : this.getTableNumber().equals(other.getTableNumber()))
&& (this.getTableName() == null ? other.getTableName() == null : this.getTableName().equals(other.getTableName()))
&& (this.getOrderNo() == null ? other.getOrderNo() == null : this.getOrderNo().equals(other.getOrderNo()))
&& (this.getOrderAmount() == null ? other.getOrderAmount() == null : this.getOrderAmount().equals(other.getOrderAmount()))
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
&& (this.getPayTime() == null ? other.getPayTime() == null : this.getPayTime().equals(other.getPayTime()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
&& (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 + ((getMerId() == null) ? 0 : getMerId().hashCode());
result = prime * result + ((getMerNo() == null) ? 0 : getMerNo().hashCode());
result = prime * result + ((getMerName() == null) ? 0 : getMerName().hashCode());
result = prime * result + ((getMerAbbreviate() == null) ? 0 : getMerAbbreviate().hashCode());
result = prime * result + ((getStoreId() == null) ? 0 : getStoreId().hashCode());
result = prime * result + ((getStoreName() == null) ? 0 : getStoreName().hashCode());
result = prime * result + ((getSerialNumber() == null) ? 0 : getSerialNumber().hashCode());
result = prime * result + ((getTableNumber() == null) ? 0 : getTableNumber().hashCode());
result = prime * result + ((getTableName() == null) ? 0 : getTableName().hashCode());
result = prime * result + ((getOrderNo() == null) ? 0 : getOrderNo().hashCode());
result = prime * result + ((getOrderAmount() == null) ? 0 : getOrderAmount().hashCode());
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
result = prime * result + ((getPayTime() == null) ? 0 : getPayTime().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().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(", merId=").append(merId);
sb.append(", merNo=").append(merNo);
sb.append(", merName=").append(merName);
sb.append(", merAbbreviate=").append(merAbbreviate);
sb.append(", storeId=").append(storeId);
sb.append(", storeName=").append(storeName);
sb.append(", serialNumber=").append(serialNumber);
sb.append(", tableNumber=").append(tableNumber);
sb.append(", tableName=").append(tableName);
sb.append(", orderNo=").append(orderNo);
sb.append(", orderAmount=").append(orderAmount);
sb.append(", status=").append(status);
sb.append(", payTime=").append(payTime);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
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();
}
}

@ -0,0 +1,49 @@
package com.hfkj.service.meal;
import com.hfkj.entity.BsMealShopCart;
import java.util.List;
import java.util.Map;
/**
* @className: BsMealShopCartService
* @author: HuRui
* @date: 2023/11/30
**/
public interface BsMealShopCartService {
/**
* 编辑数据
* @param shopCart
*/
void editData(BsMealShopCart shopCart);
/**
* 增加产品
* @param serialNumber
* @param productId
*/
void addProduct(String serialNumber,Long productId);
/**
* 减少产品
* @param serialNumber
* @param productId
*/
void reduceProduct(String serialNumber,Long productId);
/**
* 查询购物车产品
* @param orderNo 订单号
* @param productId 产品id
*/
BsMealShopCart getShopCartProduct(String orderNo,Long productId);
/**
* 查询购物车产品列表
* @param param
* @return
*/
List<BsMealShopCart> getShopCartProductList(Map<String,Object> param);
}

@ -0,0 +1,25 @@
package com.hfkj.service.meal;
import com.hfkj.entity.BsMealTableOrder;
/**
* @className: BsMealTableOrderService
* @author: HuRui
* @date: 2023/11/30
**/
public interface BsMealTableOrderService {
/**
* 编辑数据
* @param mealTableOrder
*/
void editData(BsMealTableOrder mealTableOrder);
/**
* 查询当前桌台订单
* @param serialNumber
* @return
*/
BsMealTableOrder getCurrentTableOrder(String serialNumber);
}

@ -46,4 +46,17 @@ public interface BsMealTableService {
*/
List<BsMealTable> getTableList(Map<String,Object> param);
/**
* 开台
* @param serialNumber 桌台编号
* @param peopleNum 人数
*/
void startTable(String serialNumber, Integer peopleNum);
/**
* 关台
* @param serialNumber
*/
void endTable(String serialNumber);
}

@ -0,0 +1,220 @@
package com.hfkj.service.meal.impl;
import com.alibaba.fastjson.JSONObject;
import com.hfkj.common.QRCodeGenerator;
import com.hfkj.common.exception.BaseException;
import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
import com.hfkj.common.utils.IDGenerator;
import com.hfkj.config.CommonSysConst;
import com.hfkj.config.mqtt.MqttProviderService;
import com.hfkj.dao.BsMealShopCartMapper;
import com.hfkj.dao.BsStoreProductMapper;
import com.hfkj.entity.*;
import com.hfkj.service.group.BsStoreGroupProductService;
import com.hfkj.service.group.BsStoreGroupService;
import com.hfkj.service.meal.BsMealShopCartService;
import com.hfkj.service.meal.BsMealTableOrderService;
import com.hfkj.service.meal.BsMealTableService;
import com.hfkj.sysenum.MealTableOrderStatusEnum;
import com.hfkj.sysenum.MealTableStatusEnum;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @className: BsMealShopCartServiceImpl
* @author: HuRui
* @date: 2023/11/30
**/
@Service("mealShopCartService")
public class BsMealShopCartServiceImpl implements BsMealShopCartService {
@Resource
private BsMealShopCartMapper mealShopCartMapper;
@Resource
private BsMealTableService mealTableService;
@Resource
private BsStoreGroupService storeGroupService;
@Resource
private BsMealTableOrderService mealTableOrderService;
@Resource
private MqttProviderService mqttProviderService;
@Autowired
private RedisTemplate redisTemplate;
@Override
public void editData(BsMealShopCart shopCart) {
if (shopCart.getId() == null) {
shopCart.setCreateTime(new Date());
shopCart.setUpdateTime(new Date());
mealShopCartMapper.insert(shopCart);
} else {
shopCart.setUpdateTime(new Date());
mealShopCartMapper.updateByPrimaryKey(shopCart);
}
}
@Override
public void addProduct(String serialNumber, Long productId) {
String lockKey = "MEAL_SHOP_CART_" + serialNumber;
try {
Boolean lock = redisTemplate.opsForValue().setIfAbsent(lockKey, null);
if(lock) {
// 加锁成功
// 查询桌台订单
BsMealTableOrder tableOrder = mealTableOrderService.getCurrentTableOrder(serialNumber);
if (tableOrder != null) {
// 查询产品
BsStoreProduct product = storeGroupService.findStoreProduct(productId);
if (product == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到产品");
}
// 查询购物车中的产品
BsMealShopCart shopCart = getShopCartProduct(tableOrder.getOrderNo(), productId);
if (shopCart == null) {
BsMealShopCart mealShopCart = new BsMealShopCart();
mealShopCart.setStoreId(tableOrder.getStoreId());
mealShopCart.setStoreName(tableOrder.getStoreName());
mealShopCart.setSerialNumber(tableOrder.getSerialNumber());
mealShopCart.setTableNumber(tableOrder.getTableNumber());
mealShopCart.setTableName(tableOrder.getTableName());
mealShopCart.setOrderNo(tableOrder.getOrderNo());
mealShopCart.setProductCategoryId(product.getProductCategoryId());
mealShopCart.setProductCategoryName(product.getProductCategoryName());
mealShopCart.setProductId(product.getId());
mealShopCart.setProductImg(product.getImg());
mealShopCart.setProductName(product.getName());
mealShopCart.setProductSpec(product.getSpec());
mealShopCart.setProductPrice(product.getPrice());
mealShopCart.setProductNum(1);
// 数量 * 产品单价
mealShopCart.setProductTotalPrice(new BigDecimal(mealShopCart.getProductNum().toString()).multiply(product.getPrice()));
mealShopCart.setStatus(1);
editData(mealShopCart);
} else {
// 增加数量
shopCart.setProductNum(shopCart.getProductNum()+1);
// 数量 * 产品单价
shopCart.setProductTotalPrice(new BigDecimal(shopCart.getProductNum().toString()).multiply(product.getPrice()));
editData(shopCart);
}
}
// 推送MQTT
Map<String,Object> param = new HashMap<>();
param.put("serialNumber", serialNumber);
mqttProviderService.publish(2, false, "MEAL_TABLE_" + serialNumber, JSONObject.toJSONString(getShopCartProductList(param)));
redisTemplate.delete(lockKey);
} else {
System.out.println("加锁失败");
Thread.sleep(100); // 加锁失败,重试
addProduct(serialNumber, productId);
}
} catch (BaseException baseException) {
redisTemplate.delete(lockKey);
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, baseException.getErrorMsg());
} catch (Exception e) {
redisTemplate.delete(lockKey);
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "生成失败!未知错误");
}
}
@Override
public void reduceProduct(String serialNumber, Long productId) {
String lockKey = "MEAL_SHOP_CART_" + serialNumber;
try {
Boolean lock = redisTemplate.opsForValue().setIfAbsent(lockKey, null);
if(lock) {
// 加锁成功
// 查询桌台订单
BsMealTableOrder tableOrder = mealTableOrderService.getCurrentTableOrder(serialNumber);
if (tableOrder != null) {
// 查询产品
BsStoreProduct product = storeGroupService.findStoreProduct(productId);
if (product == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到产品");
}
// 查询购物车中的产品
BsMealShopCart shopCart = getShopCartProduct(tableOrder.getOrderNo(), productId);
if (shopCart != null) {
// 减少数量
shopCart.setProductNum(shopCart.getProductNum()-1);
// 数量 * 产品单价
shopCart.setProductTotalPrice(new BigDecimal(shopCart.getProductNum().toString()).multiply(product.getPrice()));
if (shopCart.getProductNum() == 0) {
shopCart.setStatus(0);
}
editData(shopCart);
}
}
// 推送MQTT
Map<String,Object> param = new HashMap<>();
param.put("serialNumber", serialNumber);
mqttProviderService.publish(0, false, "MEAL_TABLE_" + serialNumber, JSONObject.toJSONString(getShopCartProductList(param)));
redisTemplate.delete(lockKey);
} else {
System.out.println("加锁失败");
Thread.sleep(100); // 加锁失败,重试
reduceProduct(serialNumber, productId);
}
} catch (BaseException baseException) {
redisTemplate.delete(lockKey);
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, baseException.getErrorMsg());
} catch (Exception e) {
redisTemplate.delete(lockKey);
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "生成失败!未知错误");
}
}
@Override
public BsMealShopCart getShopCartProduct(String orderNo, Long productId) {
BsMealShopCartExample example = new BsMealShopCartExample();
example.createCriteria()
.andOrderNoEqualTo(orderNo)
.andProductIdEqualTo(productId)
.andStatusNotEqualTo(0);
List<BsMealShopCart> list = mealShopCartMapper.selectByExample(example);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
@Override
public List<BsMealShopCart> getShopCartProductList(Map<String, Object> param) {
BsMealShopCartExample example = new BsMealShopCartExample();
BsMealShopCartExample.Criteria criteria = example.createCriteria().andStatusNotEqualTo(0);
if (StringUtils.isNotBlank(MapUtils.getString(param, "serialNumber"))) {
criteria.andSerialNumberEqualTo(MapUtils.getString(param, "serialNumber"));
}
example.setOrderByClause("create_time desc");
return mealShopCartMapper.selectByExample(example);
}
}

@ -0,0 +1,50 @@
package com.hfkj.service.meal.impl;
import com.hfkj.dao.BsMealTableOrderMapper;
import com.hfkj.entity.BsMealTableOrder;
import com.hfkj.entity.BsMealTableOrderExample;
import com.hfkj.service.meal.BsMealTableOrderService;
import com.hfkj.sysenum.MealTableOrderStatusEnum;
import com.hfkj.sysenum.MealTableStatusEnum;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
* @className: BsMealTableOrderServiceImpl
* @author: HuRui
* @date: 2023/11/30
**/
@Service("mealTableOrderService")
public class BsMealTableOrderServiceImpl implements BsMealTableOrderService {
@Resource
private BsMealTableOrderMapper mealTableOrderMapper;
@Override
public void editData(BsMealTableOrder mealTableOrder) {
if (mealTableOrder.getId() == null) {
mealTableOrder.setCreateTime(new Date());
mealTableOrder.setUpdateTime(new Date());
mealTableOrderMapper.insert(mealTableOrder);
} else {
mealTableOrder.setUpdateTime(new Date());
mealTableOrderMapper.updateByPrimaryKey(mealTableOrder);
}
}
@Override
public BsMealTableOrder getCurrentTableOrder(String serialNumber) {
BsMealTableOrderExample example = new BsMealTableOrderExample();
example.createCriteria()
.andSerialNumberEqualTo(serialNumber)
.andStatusEqualTo(MealTableOrderStatusEnum.status1.getNumber());
List<BsMealTableOrder> orderList = mealTableOrderMapper.selectByExample(example);
if (!orderList.isEmpty()) {
return orderList.get(0);
}
return null;
}
}

@ -1,28 +1,32 @@
package com.hfkj.service.meal;
package com.hfkj.service.meal.impl;
import com.hfkj.common.QRCodeGenerator;
import com.hfkj.common.exception.BaseException;
import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
import com.hfkj.common.utils.DateUtil;
import com.hfkj.common.utils.GenerateUtil;
import com.hfkj.common.utils.IDGenerator;
import com.hfkj.config.CommonSysConst;
import com.hfkj.dao.BsMealTableMapper;
import com.hfkj.entity.BsMealTable;
import com.hfkj.entity.BsMealTableExample;
import com.hfkj.entity.BsMer;
import com.hfkj.entity.BsStore;
import com.hfkj.entity.*;
import com.hfkj.model.MerBasisModel;
import com.hfkj.service.BsDeviceService;
import com.hfkj.service.BsMerService;
import com.hfkj.service.BsStoreService;
import com.hfkj.service.meal.BsMealTableOrderService;
import com.hfkj.service.meal.BsMealTableService;
import com.hfkj.sysenum.*;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -45,6 +49,12 @@ public class BsMealTableServiceImpl implements BsMealTableService {
@Resource
private BsMerService merService;
@Resource
private BsMealTableOrderService mealTableOrderService;
@Resource
private BsDeviceService deviceService;
@Resource
private RedisTemplate redisTemplate;
@ -84,6 +94,7 @@ public class BsMealTableServiceImpl implements BsMealTableService {
}
for (int i = 0; i < generateNum; i++) {
tableNumber = tableNumber + 1;
BsMealTable mealTable = new BsMealTable();
mealTable.setMerId(mer.getId());
mealTable.setMerNo(mer.getMerNo());
@ -93,7 +104,7 @@ public class BsMealTableServiceImpl implements BsMealTableService {
mealTable.setStoreName(store.getName());
// 桌码唯一编号 13位时间戳 + 1位线程生成数
mealTable.setSerialNumber(System.currentTimeMillis()+IDGenerator.nextId(1));
mealTable.setTableNumber(tableNumber + 1);
mealTable.setTableNumber(tableNumber);
mealTable.setTableName(mealTable.getTableNumber() + "号桌");
mealTable.setStatus(MealTableStatusEnum.status1.getNumber());
@ -171,4 +182,61 @@ public class BsMealTableServiceImpl implements BsMealTableService {
example.setOrderByClause("table_number");
return mealTableMapper.selectByExample(example);
}
@Override
@Transactional(propagation= Propagation.REQUIRES_NEW)
public void startTable(String serialNumber, Integer peopleNum) {
// 查询桌台
BsMealTable mealTable = getTableBySerialNumber(serialNumber);
if (mealTable == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到桌台");
}
if (!mealTable.getStatus().equals(MealTableStatusEnum.status1.getNumber())) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "当前桌台状态不处于:未开台");
}
mealTable.setStatus(MealTableStatusEnum.status2.getNumber());
editData(mealTable);
BsMealTableOrder order = new BsMealTableOrder();
order.setMerId(mealTable.getMerId());
order.setMerNo(mealTable.getMerNo());
order.setMerName(mealTable.getMerName());
order.setMerAbbreviate(mealTable.getMerAbbreviate());
order.setStoreId(mealTable.getStoreId());
order.setStoreName(mealTable.getStoreName());
order.setSerialNumber(mealTable.getSerialNumber());
order.setTableNumber(mealTable.getTableNumber());
order.setTableName(mealTable.getTableName());
order.setPeopleNum(peopleNum);
order.setOrderNo(DateUtil.format(new Date(), DateUtil.YMDHMS) + IDGenerator.nextId(10));
order.setOrderAmount(new BigDecimal("0"));
order.setStatus(MealTableOrderStatusEnum.status1.getNumber());
mealTableOrderService.editData(order);
}
@Override
@Transactional(propagation= Propagation.REQUIRES_NEW)
public void endTable(String serialNumber) {
// 查询桌台
BsMealTable mealTable = getTableBySerialNumber(serialNumber);
if (mealTable == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到桌台");
}
if (!mealTable.getStatus().equals(MealTableStatusEnum.status2.getNumber())) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "当前桌台状态不处于:已开台");
}
mealTable.setStatus(MealTableStatusEnum.status1.getNumber());
editData(mealTable);
// 查询桌台订单
BsMealTableOrder tableOrder = mealTableOrderService.getCurrentTableOrder(serialNumber);
if (tableOrder != null) {
tableOrder.setStatus(MealTableOrderStatusEnum.status2.getNumber());
tableOrder.setPayTime(new Date());
mealTableOrderService.editData(tableOrder);
// TODO 打印小票订单
}
}
}

@ -0,0 +1,51 @@
package com.hfkj.sysenum;
import java.util.Objects;
/**
* @className: MealTableOrderStatus
* @author: HuRui
* @date: 2023/11/30
**/
public enum MealTableOrderStatusEnum {
status0(0, "不可用"),
status1(1, "未结账"),
status2(2, "已结账"),
;
private Integer number;
private String name;
MealTableOrderStatusEnum(int number, String name) {
this.number = number;
this.name = name;
}
public static MealTableOrderStatusEnum getDataByNumber(Integer number) {
for (MealTableOrderStatusEnum ele : values()) {
if (Objects.equals(number,ele.getNumber())) {
return ele;
}
}
return null;
}
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Loading…
Cancel
Save