diff --git a/bweb/src/main/java/com/bweb/controller/BsAgentDiscountController.java b/bweb/src/main/java/com/bweb/controller/BsAgentDiscountController.java index 0dc145c..3ba87cd 100644 --- a/bweb/src/main/java/com/bweb/controller/BsAgentDiscountController.java +++ b/bweb/src/main/java/com/bweb/controller/BsAgentDiscountController.java @@ -7,6 +7,7 @@ import com.hfkj.common.exception.ErrorCode; import com.hfkj.common.exception.ErrorHelp; import com.hfkj.common.exception.SysCode; import com.hfkj.common.security.UserCenter; +import com.hfkj.common.utils.PageUtil; import com.hfkj.common.utils.ResponseMsgUtil; import com.hfkj.entity.BsAgentDiscount; import com.hfkj.entity.BsDiscount; @@ -32,7 +33,9 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Controller @RequestMapping(value = "/agentDiscount") @@ -56,7 +59,7 @@ public class BsAgentDiscountController { || StringUtils.isBlank(body.getString("objectNo"))) { throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); } - if (agentDiscountService.getDetail(body.getLong("agentId"),body.getInteger("type"),body.getString("objectNo")) == null) { + if (agentDiscountService.getDetail(body.getLong("agentId"),body.getInteger("type"),body.getString("objectNo")) != null) { throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "已绑定过优惠【"+body.getString("objectNo")+"】"); } BsAgentDiscount agentDiscount = new BsAgentDiscount(); @@ -86,6 +89,8 @@ public class BsAgentDiscountController { } else { throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的类型"); } + agentDiscountService.create(agentDiscount); + return ResponseMsgUtil.success("操作成功"); } catch (Exception e) { @@ -119,8 +124,11 @@ public class BsAgentDiscountController { @RequestParam(name = "pageNum", required = true) Integer pageNum, @RequestParam(name = "pageSize", required = true) Integer pageSize) { try { - PageHelper.startPage(pageNum,pageSize); - return ResponseMsgUtil.success(new PageInfo<>(agentDiscountService.getList(agentId, type,null))); + List list = agentDiscountService.getList(agentId); + if (type != null) { + list = list.stream().filter(o-> o.getType().equals(type)).collect(Collectors.toList()); + } + return ResponseMsgUtil.success(PageUtil.initPageInfoObj(pageNum, list.size(),pageSize,new PageInfo<>(list))); } catch (Exception e) { return ResponseMsgUtil.exception(e); diff --git a/bweb/src/main/java/com/bweb/controller/BsDiscountPkStockController.java b/bweb/src/main/java/com/bweb/controller/BsDiscountPkStockController.java index f920371..621e78e 100644 --- a/bweb/src/main/java/com/bweb/controller/BsDiscountPkStockController.java +++ b/bweb/src/main/java/com/bweb/controller/BsDiscountPkStockController.java @@ -31,8 +31,6 @@ public class BsDiscountPkStockController { private BsDiscountPkStockBatchService discountPkStockBatchService; @Resource private BsDiscountPkStockCodeService discountPkStockCodeService; - @Resource - private UserCenter userCenter; @RequestMapping(value="/addStock",method = RequestMethod.POST) @ResponseBody @@ -40,12 +38,12 @@ public class BsDiscountPkStockController { public ResponseData addStock(@RequestBody JSONObject body) { try { if (body == null - || StringUtils.isBlank(body.getString("discountPkNo")) + || StringUtils.isBlank(body.getString("discountPkNo")) || body.getInteger("stockCount") == null) { throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); } - discountPkStockBatchService.addStock(body.getString("discountNo"), body.getInteger("stockCount")); + discountPkStockBatchService.addStock(body.getString("discountPkNo"), body.getInteger("stockCount")); return ResponseMsgUtil.success("操作成功"); @@ -69,6 +67,7 @@ public class BsDiscountPkStockController { param.put("discountPkName", discountPkName); param.put("batchNo", batchNo); + PageHelper.startPage(pageNum,pageSize); return ResponseMsgUtil.success(new PageInfo<>(discountPkStockBatchService.getStockBatchList(param))); @@ -98,6 +97,8 @@ public class BsDiscountPkStockController { public ResponseData queryStockBatchCodeList(@RequestParam(name = "codeId", required = false) String codeId, @RequestParam(name = "discountPkNo", required = false) String discountPkNo, @RequestParam(name = "batchNo", required = false) String batchNo, + @RequestParam(name = "userPhone", required = false) String userPhone, + @RequestParam(name = "status", required = false) Integer status, @RequestParam(name = "pageNum", required = true) Integer pageNum, @RequestParam(name = "pageSize", required = true) Integer pageSize) { try { @@ -105,6 +106,8 @@ public class BsDiscountPkStockController { param.put("codeId", codeId); param.put("discountPkNo", discountPkNo); param.put("batchNo", batchNo); + param.put("userPhone", userPhone); + param.put("status", status); PageHelper.startPage(pageNum,pageSize); return ResponseMsgUtil.success(new PageInfo<>(discountPkStockCodeService.getCodeList(param))); diff --git a/bweb/src/main/java/com/bweb/controller/BsDiscountStockController.java b/bweb/src/main/java/com/bweb/controller/BsDiscountStockController.java index 541cf2f..1273eb9 100644 --- a/bweb/src/main/java/com/bweb/controller/BsDiscountStockController.java +++ b/bweb/src/main/java/com/bweb/controller/BsDiscountStockController.java @@ -97,6 +97,8 @@ public class BsDiscountStockController { public ResponseData queryStockBatchCodeList(@RequestParam(name = "codeId", required = false) String codeId, @RequestParam(name = "discountNo", required = false) String discountNo, @RequestParam(name = "batchNo", required = false) String batchNo, + @RequestParam(name = "userPhone", required = false) String userPhone, + @RequestParam(name = "status", required = false) Integer status, @RequestParam(name = "pageNum", required = true) Integer pageNum, @RequestParam(name = "pageSize", required = true) Integer pageSize) { try { @@ -104,6 +106,8 @@ public class BsDiscountStockController { param.put("codeId", codeId); param.put("discountNo", discountNo); param.put("batchNo", batchNo); + param.put("userPhone", userPhone); + param.put("status", status); PageHelper.startPage(pageNum,pageSize); return ResponseMsgUtil.success(new PageInfo<>(discountStockCodeService.getCodeList(param))); diff --git a/cweb/src/main/java/com/cweb/controller/BsDiscountUserController.java b/cweb/src/main/java/com/cweb/controller/BsDiscountUserController.java index 2024284..f3860b6 100644 --- a/cweb/src/main/java/com/cweb/controller/BsDiscountUserController.java +++ b/cweb/src/main/java/com/cweb/controller/BsDiscountUserController.java @@ -1,5 +1,6 @@ package com.cweb.controller; +import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.hfkj.common.exception.ErrorCode; @@ -15,15 +16,14 @@ import com.hfkj.model.UserSessionObject; import com.hfkj.service.discount.BsDiscountService; import com.hfkj.service.discount.BsDiscountUserService; import com.hfkj.service.gas.BsGasService; +import com.hfkj.sysenum.discount.DiscountUserStatusEnum; 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.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; @@ -70,10 +70,33 @@ public class BsDiscountUserController { } + @RequestMapping(value="/give",method = RequestMethod.POST) + @ResponseBody + @ApiOperation(value = "转赠他人") + public ResponseData give(@RequestBody JSONObject body) { + try { + if (body == null + || body.getLong("codeId") == null + || StringUtils.isBlank(body.getString("phone"))) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); + } + UserSessionObject userSession = userCenter.getSessionModel(UserSessionObject.class); + if (userSession == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.ACCOUNT_LOGIN_NOT, ""); + } + discountUserService.give(body.getLong("codeId"), userSession.getUser().getId(), body.getString("phone")); + + return ResponseMsgUtil.success("操作成功"); + + } catch (Exception e) { + return ResponseMsgUtil.exception(e); + } + } + @RequestMapping(value="/useDiscountList",method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "加油优惠券列表") - public ResponseData useDiscountList(@RequestParam(name = "useScope", required = true) Integer useScope, + public ResponseData useDiscountList(@RequestParam(name = "use", required = true) Integer useScope, @RequestParam(name = "merNo", required = true) String merNo, @RequestParam(name = "refuelPrice", required = false) BigDecimal refuelPrice) { try { diff --git a/openapi/src/main/java/com/openapi/controller/BsDiscountController.java b/openapi/src/main/java/com/openapi/controller/BsDiscountController.java index 22c4f19..0ac28d1 100644 --- a/openapi/src/main/java/com/openapi/controller/BsDiscountController.java +++ b/openapi/src/main/java/com/openapi/controller/BsDiscountController.java @@ -57,13 +57,7 @@ public class BsDiscountController { public ResponseData push(@Validated @RequestBody RequestPushDiscountModel body) { log.info("========= Start 推送优惠券 Start ==========="); log.info("请求参数:" + JSONObject.toJSONString(body)); - BsAgentApiLogWithBLOBs apiLog = new BsAgentApiLogWithBLOBs(); - apiLog.setAppId(body.getAppId()); - apiLog.setRequestId(body.getReqId()); - apiLog.setRequestUrl("discount/push"); - apiLog.setRequestParam(JSONObject.toJSONString(body)); - try { // 验证签名 BsAgentApiParam apiParam = agentApiParamService.getParamByAppId(body.getAppId()); @@ -74,6 +68,11 @@ public class BsDiscountController { if (agentApiLogService.isExist(body.getAppId(), body.getReqId())) { throw ErrorHelp.genException(SysCode.OpenApi, ErrorCode.OPEN_API_REQ_ID_ERR, ""); } + apiLog.setAppId(body.getAppId()); + apiLog.setRequestId(body.getReqId()); + apiLog.setRequestUrl("discount/push"); + apiLog.setRequestParam(JSONObject.toJSONString(body)); + // 查询代理商是否拥有优惠券权限 if (agentDiscountService.getDetail(apiParam.getAgentId(),1,body.getDiscountNo()) == null) { throw ErrorHelp.genException(SysCode.OpenApi, ErrorCode.OPEN_API_COMMON, "未配置优惠券"); @@ -115,7 +114,9 @@ public class BsDiscountController { return exception; } finally { // 记录日志 - agentApiLogService.edit(apiLog); + if (apiLog.getAppId() != null) { + agentApiLogService.edit(apiLog); + } log.info("========= END 推送优惠券 END ==========="); } } @@ -126,13 +127,7 @@ public class BsDiscountController { public ResponseData pushPk(@Validated @RequestBody RequestPushPkDiscountModel body) { log.info("========= Start 推送优惠券包 Start ==========="); log.info("请求参数:" + JSONObject.toJSONString(body)); - BsAgentApiLogWithBLOBs apiLog = new BsAgentApiLogWithBLOBs(); - apiLog.setAppId(body.getAppId()); - apiLog.setRequestId(body.getReqId()); - apiLog.setRequestUrl("discount/pushPk"); - apiLog.setRequestParam(JSONObject.toJSONString(body)); - try { // 验证签名 BsAgentApiParam apiParam = agentApiParamService.getParamByAppId(body.getAppId()); @@ -143,6 +138,11 @@ public class BsDiscountController { if (agentApiLogService.isExist(body.getAppId(), body.getReqId())) { throw ErrorHelp.genException(SysCode.OpenApi, ErrorCode.OPEN_API_REQ_ID_ERR, ""); } + apiLog.setAppId(body.getAppId()); + apiLog.setRequestId(body.getReqId()); + apiLog.setRequestUrl("discount/pushPk"); + apiLog.setRequestParam(JSONObject.toJSONString(body)); + // 查询代理商是否拥有优惠券包权限 if (agentDiscountService.getDetail(apiParam.getAgentId(),2,body.getDiscountPkNo()) == null) { throw ErrorHelp.genException(SysCode.OpenApi, ErrorCode.OPEN_API_COMMON, "未配置优惠券包"); @@ -185,7 +185,9 @@ public class BsDiscountController { return exception; } finally { // 记录日志 - agentApiLogService.edit(apiLog); + if (apiLog.getAppId() != null) { + agentApiLogService.edit(apiLog); + } log.info("========= END 推送优惠券包 END ==========="); } } @@ -198,10 +200,6 @@ public class BsDiscountController { log.info("请求参数:" + JSONObject.toJSONString(body)); BsAgentApiLogWithBLOBs apiLog = new BsAgentApiLogWithBLOBs(); - apiLog.setAppId(body.getAppId()); - apiLog.setRequestId(body.getReqId()); - apiLog.setRequestUrl("discount/queryCode"); - apiLog.setRequestParam(JSONObject.toJSONString(body)); try { // 验证签名 @@ -213,6 +211,11 @@ public class BsDiscountController { if (agentApiLogService.isExist(body.getAppId(), body.getReqId())) { throw ErrorHelp.genException(SysCode.OpenApi, ErrorCode.OPEN_API_REQ_ID_ERR, ""); } + apiLog.setAppId(body.getAppId()); + apiLog.setRequestId(body.getReqId()); + apiLog.setRequestUrl("discount/queryCode"); + apiLog.setRequestParam(JSONObject.toJSONString(body)); + // 查询优惠券编码 BsDiscountUser discountUser = discountUserService.getDetailByCodeId(body.getCode()); if (discountUser == null) { @@ -240,7 +243,9 @@ public class BsDiscountController { return exception; } finally { // 记录日志 - agentApiLogService.edit(apiLog); + if (apiLog.getAppId() != null) { + agentApiLogService.edit(apiLog); + } log.info("========= END 查询优惠券编码 END ==========="); } } diff --git a/openapi/target/classes/com/openapi/controller/BsDiscountController.class b/openapi/target/classes/com/openapi/controller/BsDiscountController.class index 87a7b5e..5573c42 100644 Binary files a/openapi/target/classes/com/openapi/controller/BsDiscountController.class and b/openapi/target/classes/com/openapi/controller/BsDiscountController.class differ diff --git a/openapi/target/oil-openapi-1.0-SNAPSHOT.jar b/openapi/target/oil-openapi-1.0-SNAPSHOT.jar index 6ca7447..ae007e2 100644 Binary files a/openapi/target/oil-openapi-1.0-SNAPSHOT.jar and b/openapi/target/oil-openapi-1.0-SNAPSHOT.jar differ diff --git a/openapi/target/oil-openapi-1.0-SNAPSHOT.jar.original b/openapi/target/oil-openapi-1.0-SNAPSHOT.jar.original index 27a35fc..6f06b56 100644 Binary files a/openapi/target/oil-openapi-1.0-SNAPSHOT.jar.original and b/openapi/target/oil-openapi-1.0-SNAPSHOT.jar.original differ diff --git a/schedule/src/main/java/com/hfkj/schedule/GasSchedule.java b/schedule/src/main/java/com/hfkj/schedule/GasSchedule.java index 936091a..cf260d5 100644 --- a/schedule/src/main/java/com/hfkj/schedule/GasSchedule.java +++ b/schedule/src/main/java/com/hfkj/schedule/GasSchedule.java @@ -19,6 +19,7 @@ public class GasSchedule { private NewLinkGasService newLinkGasService; @Resource private CqShellPetroleumGasService cqShellPetroleumGasService; + @Scheduled(cron = "5 0 0 * * ?") // 每日凌晨00:00:5执行一次 public void newLinkGasSchedule() { try { diff --git a/schedule/src/main/java/com/hfkj/schedule/OrderSettleSchedule.java b/schedule/src/main/java/com/hfkj/schedule/OrderSettleSchedule.java index c7f8ffc..7206ebf 100644 --- a/schedule/src/main/java/com/hfkj/schedule/OrderSettleSchedule.java +++ b/schedule/src/main/java/com/hfkj/schedule/OrderSettleSchedule.java @@ -27,6 +27,7 @@ public class OrderSettleSchedule { private BsOrderSettleService orderSettleService; @Resource private BsOrderSettleLedgerService orderSettleLedgerService; + @Scheduled(cron="0 0/3 * * * ?") //每3分钟执行一次 public void getBlxCoupon() { Map param = new HashMap<>(); diff --git a/service/src/main/java/com/hfkj/common/pay/util/SignatureUtil.java b/service/src/main/java/com/hfkj/common/pay/util/SignatureUtil.java index cb0e880..b9b2798 100644 --- a/service/src/main/java/com/hfkj/common/pay/util/SignatureUtil.java +++ b/service/src/main/java/com/hfkj/common/pay/util/SignatureUtil.java @@ -82,11 +82,11 @@ public class SignatureUtil { public static void main(String[] args) throws Exception { String paramStr = "{ \n" + - " \"reqId\": \"cs0001\",\n" + + " \"reqId\": \"cs0005\",\n" + " \"appId\": \"hf7356c71fb97ab0\",\n" + - " \"discountNo\": \"D10008\",\n" + + " \"discountPkNo\": \"DPK10018\",\n" + " \"number\": \"1\",\n" + - " \"phone\": \"123456\"" + + " \"phone\": \"17726395120\"" + "}"; String sign = createSign(JSONObject.parseObject(paramStr), "8aef995ff71485dc19b36e35f04c4016"); System.out.println(sign); diff --git a/service/src/main/java/com/hfkj/dao/BsDiscountUserGiveRecordMapper.java b/service/src/main/java/com/hfkj/dao/BsDiscountUserGiveRecordMapper.java new file mode 100644 index 0000000..a757d86 --- /dev/null +++ b/service/src/main/java/com/hfkj/dao/BsDiscountUserGiveRecordMapper.java @@ -0,0 +1,122 @@ +package com.hfkj.dao; + +import com.hfkj.entity.BsDiscountUserGiveRecord; +import com.hfkj.entity.BsDiscountUserGiveRecordExample; +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 BsDiscountUserGiveRecordMapper extends BsDiscountUserGiveRecordMapperExt { + @SelectProvider(type=BsDiscountUserGiveRecordSqlProvider.class, method="countByExample") + long countByExample(BsDiscountUserGiveRecordExample example); + + @DeleteProvider(type=BsDiscountUserGiveRecordSqlProvider.class, method="deleteByExample") + int deleteByExample(BsDiscountUserGiveRecordExample example); + + @Delete({ + "delete from bs_discount_user_give_record", + "where id = #{id,jdbcType=BIGINT}" + }) + int deleteByPrimaryKey(Long id); + + @Insert({ + "insert into bs_discount_user_give_record (discount_user_id, discount_stock_code, ", + "send_user_id, send_user_phone, ", + "receive_user_id, receive_user_phone, ", + "create_time, ext_1, ", + "ext_2, ext_3)", + "values (#{discountUserId,jdbcType=BIGINT}, #{discountStockCode,jdbcType=BIGINT}, ", + "#{sendUserId,jdbcType=BIGINT}, #{sendUserPhone,jdbcType=VARCHAR}, ", + "#{receiveUserId,jdbcType=BIGINT}, #{receiveUserPhone,jdbcType=VARCHAR}, ", + "#{createTime,jdbcType=TIMESTAMP}, #{ext1,jdbcType=VARCHAR}, ", + "#{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})" + }) + @Options(useGeneratedKeys=true,keyProperty="id") + int insert(BsDiscountUserGiveRecord record); + + @InsertProvider(type=BsDiscountUserGiveRecordSqlProvider.class, method="insertSelective") + @Options(useGeneratedKeys=true,keyProperty="id") + int insertSelective(BsDiscountUserGiveRecord record); + + @SelectProvider(type=BsDiscountUserGiveRecordSqlProvider.class, method="selectByExample") + @Results({ + @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), + @Result(column="discount_user_id", property="discountUserId", jdbcType=JdbcType.BIGINT), + @Result(column="discount_stock_code", property="discountStockCode", jdbcType=JdbcType.BIGINT), + @Result(column="send_user_id", property="sendUserId", jdbcType=JdbcType.BIGINT), + @Result(column="send_user_phone", property="sendUserPhone", jdbcType=JdbcType.VARCHAR), + @Result(column="receive_user_id", property="receiveUserId", jdbcType=JdbcType.BIGINT), + @Result(column="receive_user_phone", property="receiveUserPhone", jdbcType=JdbcType.VARCHAR), + @Result(column="create_time", property="createTime", 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 selectByExample(BsDiscountUserGiveRecordExample example); + + @Select({ + "select", + "id, discount_user_id, discount_stock_code, send_user_id, send_user_phone, receive_user_id, ", + "receive_user_phone, create_time, ext_1, ext_2, ext_3", + "from bs_discount_user_give_record", + "where id = #{id,jdbcType=BIGINT}" + }) + @Results({ + @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), + @Result(column="discount_user_id", property="discountUserId", jdbcType=JdbcType.BIGINT), + @Result(column="discount_stock_code", property="discountStockCode", jdbcType=JdbcType.BIGINT), + @Result(column="send_user_id", property="sendUserId", jdbcType=JdbcType.BIGINT), + @Result(column="send_user_phone", property="sendUserPhone", jdbcType=JdbcType.VARCHAR), + @Result(column="receive_user_id", property="receiveUserId", jdbcType=JdbcType.BIGINT), + @Result(column="receive_user_phone", property="receiveUserPhone", jdbcType=JdbcType.VARCHAR), + @Result(column="create_time", property="createTime", 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) + }) + BsDiscountUserGiveRecord selectByPrimaryKey(Long id); + + @UpdateProvider(type=BsDiscountUserGiveRecordSqlProvider.class, method="updateByExampleSelective") + int updateByExampleSelective(@Param("record") BsDiscountUserGiveRecord record, @Param("example") BsDiscountUserGiveRecordExample example); + + @UpdateProvider(type=BsDiscountUserGiveRecordSqlProvider.class, method="updateByExample") + int updateByExample(@Param("record") BsDiscountUserGiveRecord record, @Param("example") BsDiscountUserGiveRecordExample example); + + @UpdateProvider(type=BsDiscountUserGiveRecordSqlProvider.class, method="updateByPrimaryKeySelective") + int updateByPrimaryKeySelective(BsDiscountUserGiveRecord record); + + @Update({ + "update bs_discount_user_give_record", + "set discount_user_id = #{discountUserId,jdbcType=BIGINT},", + "discount_stock_code = #{discountStockCode,jdbcType=BIGINT},", + "send_user_id = #{sendUserId,jdbcType=BIGINT},", + "send_user_phone = #{sendUserPhone,jdbcType=VARCHAR},", + "receive_user_id = #{receiveUserId,jdbcType=BIGINT},", + "receive_user_phone = #{receiveUserPhone,jdbcType=VARCHAR},", + "create_time = #{createTime,jdbcType=TIMESTAMP},", + "ext_1 = #{ext1,jdbcType=VARCHAR},", + "ext_2 = #{ext2,jdbcType=VARCHAR},", + "ext_3 = #{ext3,jdbcType=VARCHAR}", + "where id = #{id,jdbcType=BIGINT}" + }) + int updateByPrimaryKey(BsDiscountUserGiveRecord record); +} \ No newline at end of file diff --git a/service/src/main/java/com/hfkj/dao/BsDiscountUserGiveRecordMapperExt.java b/service/src/main/java/com/hfkj/dao/BsDiscountUserGiveRecordMapperExt.java new file mode 100644 index 0000000..d077400 --- /dev/null +++ b/service/src/main/java/com/hfkj/dao/BsDiscountUserGiveRecordMapperExt.java @@ -0,0 +1,7 @@ +package com.hfkj.dao; + +/** + * mapper扩展类 + */ +public interface BsDiscountUserGiveRecordMapperExt { +} \ No newline at end of file diff --git a/service/src/main/java/com/hfkj/dao/BsDiscountUserGiveRecordSqlProvider.java b/service/src/main/java/com/hfkj/dao/BsDiscountUserGiveRecordSqlProvider.java new file mode 100644 index 0000000..cfe9357 --- /dev/null +++ b/service/src/main/java/com/hfkj/dao/BsDiscountUserGiveRecordSqlProvider.java @@ -0,0 +1,318 @@ +package com.hfkj.dao; + +import com.hfkj.entity.BsDiscountUserGiveRecord; +import com.hfkj.entity.BsDiscountUserGiveRecordExample.Criteria; +import com.hfkj.entity.BsDiscountUserGiveRecordExample.Criterion; +import com.hfkj.entity.BsDiscountUserGiveRecordExample; +import java.util.List; +import java.util.Map; +import org.apache.ibatis.jdbc.SQL; + +public class BsDiscountUserGiveRecordSqlProvider { + + public String countByExample(BsDiscountUserGiveRecordExample example) { + SQL sql = new SQL(); + sql.SELECT("count(*)").FROM("bs_discount_user_give_record"); + applyWhere(sql, example, false); + return sql.toString(); + } + + public String deleteByExample(BsDiscountUserGiveRecordExample example) { + SQL sql = new SQL(); + sql.DELETE_FROM("bs_discount_user_give_record"); + applyWhere(sql, example, false); + return sql.toString(); + } + + public String insertSelective(BsDiscountUserGiveRecord record) { + SQL sql = new SQL(); + sql.INSERT_INTO("bs_discount_user_give_record"); + + if (record.getDiscountUserId() != null) { + sql.VALUES("discount_user_id", "#{discountUserId,jdbcType=BIGINT}"); + } + + if (record.getDiscountStockCode() != null) { + sql.VALUES("discount_stock_code", "#{discountStockCode,jdbcType=BIGINT}"); + } + + if (record.getSendUserId() != null) { + sql.VALUES("send_user_id", "#{sendUserId,jdbcType=BIGINT}"); + } + + if (record.getSendUserPhone() != null) { + sql.VALUES("send_user_phone", "#{sendUserPhone,jdbcType=VARCHAR}"); + } + + if (record.getReceiveUserId() != null) { + sql.VALUES("receive_user_id", "#{receiveUserId,jdbcType=BIGINT}"); + } + + if (record.getReceiveUserPhone() != null) { + sql.VALUES("receive_user_phone", "#{receiveUserPhone,jdbcType=VARCHAR}"); + } + + if (record.getCreateTime() != null) { + sql.VALUES("create_time", "#{createTime,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(BsDiscountUserGiveRecordExample example) { + SQL sql = new SQL(); + if (example != null && example.isDistinct()) { + sql.SELECT_DISTINCT("id"); + } else { + sql.SELECT("id"); + } + sql.SELECT("discount_user_id"); + sql.SELECT("discount_stock_code"); + sql.SELECT("send_user_id"); + sql.SELECT("send_user_phone"); + sql.SELECT("receive_user_id"); + sql.SELECT("receive_user_phone"); + sql.SELECT("create_time"); + sql.SELECT("ext_1"); + sql.SELECT("ext_2"); + sql.SELECT("ext_3"); + sql.FROM("bs_discount_user_give_record"); + applyWhere(sql, example, false); + + if (example != null && example.getOrderByClause() != null) { + sql.ORDER_BY(example.getOrderByClause()); + } + + return sql.toString(); + } + + public String updateByExampleSelective(Map parameter) { + BsDiscountUserGiveRecord record = (BsDiscountUserGiveRecord) parameter.get("record"); + BsDiscountUserGiveRecordExample example = (BsDiscountUserGiveRecordExample) parameter.get("example"); + + SQL sql = new SQL(); + sql.UPDATE("bs_discount_user_give_record"); + + if (record.getId() != null) { + sql.SET("id = #{record.id,jdbcType=BIGINT}"); + } + + if (record.getDiscountUserId() != null) { + sql.SET("discount_user_id = #{record.discountUserId,jdbcType=BIGINT}"); + } + + if (record.getDiscountStockCode() != null) { + sql.SET("discount_stock_code = #{record.discountStockCode,jdbcType=BIGINT}"); + } + + if (record.getSendUserId() != null) { + sql.SET("send_user_id = #{record.sendUserId,jdbcType=BIGINT}"); + } + + if (record.getSendUserPhone() != null) { + sql.SET("send_user_phone = #{record.sendUserPhone,jdbcType=VARCHAR}"); + } + + if (record.getReceiveUserId() != null) { + sql.SET("receive_user_id = #{record.receiveUserId,jdbcType=BIGINT}"); + } + + if (record.getReceiveUserPhone() != null) { + sql.SET("receive_user_phone = #{record.receiveUserPhone,jdbcType=VARCHAR}"); + } + + if (record.getCreateTime() != null) { + sql.SET("create_time = #{record.createTime,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 parameter) { + SQL sql = new SQL(); + sql.UPDATE("bs_discount_user_give_record"); + + sql.SET("id = #{record.id,jdbcType=BIGINT}"); + sql.SET("discount_user_id = #{record.discountUserId,jdbcType=BIGINT}"); + sql.SET("discount_stock_code = #{record.discountStockCode,jdbcType=BIGINT}"); + sql.SET("send_user_id = #{record.sendUserId,jdbcType=BIGINT}"); + sql.SET("send_user_phone = #{record.sendUserPhone,jdbcType=VARCHAR}"); + sql.SET("receive_user_id = #{record.receiveUserId,jdbcType=BIGINT}"); + sql.SET("receive_user_phone = #{record.receiveUserPhone,jdbcType=VARCHAR}"); + sql.SET("create_time = #{record.createTime,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}"); + + BsDiscountUserGiveRecordExample example = (BsDiscountUserGiveRecordExample) parameter.get("example"); + applyWhere(sql, example, true); + return sql.toString(); + } + + public String updateByPrimaryKeySelective(BsDiscountUserGiveRecord record) { + SQL sql = new SQL(); + sql.UPDATE("bs_discount_user_give_record"); + + if (record.getDiscountUserId() != null) { + sql.SET("discount_user_id = #{discountUserId,jdbcType=BIGINT}"); + } + + if (record.getDiscountStockCode() != null) { + sql.SET("discount_stock_code = #{discountStockCode,jdbcType=BIGINT}"); + } + + if (record.getSendUserId() != null) { + sql.SET("send_user_id = #{sendUserId,jdbcType=BIGINT}"); + } + + if (record.getSendUserPhone() != null) { + sql.SET("send_user_phone = #{sendUserPhone,jdbcType=VARCHAR}"); + } + + if (record.getReceiveUserId() != null) { + sql.SET("receive_user_id = #{receiveUserId,jdbcType=BIGINT}"); + } + + if (record.getReceiveUserPhone() != null) { + sql.SET("receive_user_phone = #{receiveUserPhone,jdbcType=VARCHAR}"); + } + + if (record.getCreateTime() != null) { + sql.SET("create_time = #{createTime,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, BsDiscountUserGiveRecordExample example, boolean includeExamplePhrase) { + if (example == null) { + return; + } + + String parmPhrase1; + String parmPhrase1_th; + String parmPhrase2; + String parmPhrase2_th; + String parmPhrase3; + String parmPhrase3_th; + if (includeExamplePhrase) { + parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}"; + parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; + parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}"; + parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; + parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}"; + parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; + } else { + parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}"; + parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; + parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}"; + parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; + parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}"; + parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; + } + + StringBuilder sb = new StringBuilder(); + List oredCriteria = example.getOredCriteria(); + boolean firstCriteria = true; + for (int i = 0; i < oredCriteria.size(); i++) { + Criteria criteria = oredCriteria.get(i); + if (criteria.isValid()) { + if (firstCriteria) { + firstCriteria = false; + } else { + sb.append(" or "); + } + + sb.append('('); + List criterions = criteria.getAllCriteria(); + boolean firstCriterion = true; + for (int j = 0; j < criterions.size(); j++) { + Criterion criterion = criterions.get(j); + if (firstCriterion) { + firstCriterion = false; + } else { + sb.append(" and "); + } + + if (criterion.isNoValue()) { + sb.append(criterion.getCondition()); + } else if (criterion.isSingleValue()) { + if (criterion.getTypeHandler() == null) { + sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j)); + } else { + sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler())); + } + } else if (criterion.isBetweenValue()) { + if (criterion.getTypeHandler() == null) { + sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j)); + } else { + sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler())); + } + } else if (criterion.isListValue()) { + sb.append(criterion.getCondition()); + sb.append(" ("); + List listItems = (List) criterion.getValue(); + boolean comma = false; + for (int k = 0; k < listItems.size(); k++) { + if (comma) { + sb.append(", "); + } else { + comma = true; + } + if (criterion.getTypeHandler() == null) { + sb.append(String.format(parmPhrase3, i, j, k)); + } else { + sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler())); + } + } + sb.append(')'); + } + } + sb.append(')'); + } + } + + if (sb.length() > 0) { + sql.WHERE(sb.toString()); + } + } +} \ No newline at end of file diff --git a/service/src/main/java/com/hfkj/entity/BsDiscountUserGiveRecord.java b/service/src/main/java/com/hfkj/entity/BsDiscountUserGiveRecord.java new file mode 100644 index 0000000..e04e4d7 --- /dev/null +++ b/service/src/main/java/com/hfkj/entity/BsDiscountUserGiveRecord.java @@ -0,0 +1,216 @@ +package com.hfkj.entity; + +import java.io.Serializable; +import java.util.Date; + +/** + * bs_discount_user_give_record + * @author + */ +/** + * + * 代码由工具生成 + * + **/ +public class BsDiscountUserGiveRecord implements Serializable { + /** + * 主键 + */ + private Long id; + + /** + * 用户优惠券id + */ + private Long discountUserId; + + /** + * 优惠券库存code + */ + private Long discountStockCode; + + /** + * 发送用户id + */ + private Long sendUserId; + + /** + * 发送用户电话 + */ + private String sendUserPhone; + + /** + * 接收用户id + */ + private Long receiveUserId; + + /** + * 接收用户电话 + */ + private String receiveUserPhone; + + /** + * 创建时间 + */ + private Date createTime; + + 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 getDiscountUserId() { + return discountUserId; + } + + public void setDiscountUserId(Long discountUserId) { + this.discountUserId = discountUserId; + } + + public Long getDiscountStockCode() { + return discountStockCode; + } + + public void setDiscountStockCode(Long discountStockCode) { + this.discountStockCode = discountStockCode; + } + + public Long getSendUserId() { + return sendUserId; + } + + public void setSendUserId(Long sendUserId) { + this.sendUserId = sendUserId; + } + + public String getSendUserPhone() { + return sendUserPhone; + } + + public void setSendUserPhone(String sendUserPhone) { + this.sendUserPhone = sendUserPhone; + } + + public Long getReceiveUserId() { + return receiveUserId; + } + + public void setReceiveUserId(Long receiveUserId) { + this.receiveUserId = receiveUserId; + } + + public String getReceiveUserPhone() { + return receiveUserPhone; + } + + public void setReceiveUserPhone(String receiveUserPhone) { + this.receiveUserPhone = receiveUserPhone; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + 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; + } + BsDiscountUserGiveRecord other = (BsDiscountUserGiveRecord) that; + return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) + && (this.getDiscountUserId() == null ? other.getDiscountUserId() == null : this.getDiscountUserId().equals(other.getDiscountUserId())) + && (this.getDiscountStockCode() == null ? other.getDiscountStockCode() == null : this.getDiscountStockCode().equals(other.getDiscountStockCode())) + && (this.getSendUserId() == null ? other.getSendUserId() == null : this.getSendUserId().equals(other.getSendUserId())) + && (this.getSendUserPhone() == null ? other.getSendUserPhone() == null : this.getSendUserPhone().equals(other.getSendUserPhone())) + && (this.getReceiveUserId() == null ? other.getReceiveUserId() == null : this.getReceiveUserId().equals(other.getReceiveUserId())) + && (this.getReceiveUserPhone() == null ? other.getReceiveUserPhone() == null : this.getReceiveUserPhone().equals(other.getReceiveUserPhone())) + && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime())) + && (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 + ((getDiscountUserId() == null) ? 0 : getDiscountUserId().hashCode()); + result = prime * result + ((getDiscountStockCode() == null) ? 0 : getDiscountStockCode().hashCode()); + result = prime * result + ((getSendUserId() == null) ? 0 : getSendUserId().hashCode()); + result = prime * result + ((getSendUserPhone() == null) ? 0 : getSendUserPhone().hashCode()); + result = prime * result + ((getReceiveUserId() == null) ? 0 : getReceiveUserId().hashCode()); + result = prime * result + ((getReceiveUserPhone() == null) ? 0 : getReceiveUserPhone().hashCode()); + result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().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(", discountUserId=").append(discountUserId); + sb.append(", discountStockCode=").append(discountStockCode); + sb.append(", sendUserId=").append(sendUserId); + sb.append(", sendUserPhone=").append(sendUserPhone); + sb.append(", receiveUserId=").append(receiveUserId); + sb.append(", receiveUserPhone=").append(receiveUserPhone); + sb.append(", createTime=").append(createTime); + 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(); + } +} \ No newline at end of file diff --git a/service/src/main/java/com/hfkj/entity/BsDiscountUserGiveRecordExample.java b/service/src/main/java/com/hfkj/entity/BsDiscountUserGiveRecordExample.java new file mode 100644 index 0000000..54b64bf --- /dev/null +++ b/service/src/main/java/com/hfkj/entity/BsDiscountUserGiveRecordExample.java @@ -0,0 +1,933 @@ +package com.hfkj.entity; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class BsDiscountUserGiveRecordExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + private Integer limit; + + private Long offset; + + public BsDiscountUserGiveRecordExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + public void setLimit(Integer limit) { + this.limit = limit; + } + + public Integer getLimit() { + return limit; + } + + public void setOffset(Long offset) { + this.offset = offset; + } + + public Long getOffset() { + return offset; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andDiscountUserIdIsNull() { + addCriterion("discount_user_id is null"); + return (Criteria) this; + } + + public Criteria andDiscountUserIdIsNotNull() { + addCriterion("discount_user_id is not null"); + return (Criteria) this; + } + + public Criteria andDiscountUserIdEqualTo(Long value) { + addCriterion("discount_user_id =", value, "discountUserId"); + return (Criteria) this; + } + + public Criteria andDiscountUserIdNotEqualTo(Long value) { + addCriterion("discount_user_id <>", value, "discountUserId"); + return (Criteria) this; + } + + public Criteria andDiscountUserIdGreaterThan(Long value) { + addCriterion("discount_user_id >", value, "discountUserId"); + return (Criteria) this; + } + + public Criteria andDiscountUserIdGreaterThanOrEqualTo(Long value) { + addCriterion("discount_user_id >=", value, "discountUserId"); + return (Criteria) this; + } + + public Criteria andDiscountUserIdLessThan(Long value) { + addCriterion("discount_user_id <", value, "discountUserId"); + return (Criteria) this; + } + + public Criteria andDiscountUserIdLessThanOrEqualTo(Long value) { + addCriterion("discount_user_id <=", value, "discountUserId"); + return (Criteria) this; + } + + public Criteria andDiscountUserIdIn(List values) { + addCriterion("discount_user_id in", values, "discountUserId"); + return (Criteria) this; + } + + public Criteria andDiscountUserIdNotIn(List values) { + addCriterion("discount_user_id not in", values, "discountUserId"); + return (Criteria) this; + } + + public Criteria andDiscountUserIdBetween(Long value1, Long value2) { + addCriterion("discount_user_id between", value1, value2, "discountUserId"); + return (Criteria) this; + } + + public Criteria andDiscountUserIdNotBetween(Long value1, Long value2) { + addCriterion("discount_user_id not between", value1, value2, "discountUserId"); + return (Criteria) this; + } + + public Criteria andDiscountStockCodeIsNull() { + addCriterion("discount_stock_code is null"); + return (Criteria) this; + } + + public Criteria andDiscountStockCodeIsNotNull() { + addCriterion("discount_stock_code is not null"); + return (Criteria) this; + } + + public Criteria andDiscountStockCodeEqualTo(Long value) { + addCriterion("discount_stock_code =", value, "discountStockCode"); + return (Criteria) this; + } + + public Criteria andDiscountStockCodeNotEqualTo(Long value) { + addCriterion("discount_stock_code <>", value, "discountStockCode"); + return (Criteria) this; + } + + public Criteria andDiscountStockCodeGreaterThan(Long value) { + addCriterion("discount_stock_code >", value, "discountStockCode"); + return (Criteria) this; + } + + public Criteria andDiscountStockCodeGreaterThanOrEqualTo(Long value) { + addCriterion("discount_stock_code >=", value, "discountStockCode"); + return (Criteria) this; + } + + public Criteria andDiscountStockCodeLessThan(Long value) { + addCriterion("discount_stock_code <", value, "discountStockCode"); + return (Criteria) this; + } + + public Criteria andDiscountStockCodeLessThanOrEqualTo(Long value) { + addCriterion("discount_stock_code <=", value, "discountStockCode"); + return (Criteria) this; + } + + public Criteria andDiscountStockCodeIn(List values) { + addCriterion("discount_stock_code in", values, "discountStockCode"); + return (Criteria) this; + } + + public Criteria andDiscountStockCodeNotIn(List values) { + addCriterion("discount_stock_code not in", values, "discountStockCode"); + return (Criteria) this; + } + + public Criteria andDiscountStockCodeBetween(Long value1, Long value2) { + addCriterion("discount_stock_code between", value1, value2, "discountStockCode"); + return (Criteria) this; + } + + public Criteria andDiscountStockCodeNotBetween(Long value1, Long value2) { + addCriterion("discount_stock_code not between", value1, value2, "discountStockCode"); + return (Criteria) this; + } + + public Criteria andSendUserIdIsNull() { + addCriterion("send_user_id is null"); + return (Criteria) this; + } + + public Criteria andSendUserIdIsNotNull() { + addCriterion("send_user_id is not null"); + return (Criteria) this; + } + + public Criteria andSendUserIdEqualTo(Long value) { + addCriterion("send_user_id =", value, "sendUserId"); + return (Criteria) this; + } + + public Criteria andSendUserIdNotEqualTo(Long value) { + addCriterion("send_user_id <>", value, "sendUserId"); + return (Criteria) this; + } + + public Criteria andSendUserIdGreaterThan(Long value) { + addCriterion("send_user_id >", value, "sendUserId"); + return (Criteria) this; + } + + public Criteria andSendUserIdGreaterThanOrEqualTo(Long value) { + addCriterion("send_user_id >=", value, "sendUserId"); + return (Criteria) this; + } + + public Criteria andSendUserIdLessThan(Long value) { + addCriterion("send_user_id <", value, "sendUserId"); + return (Criteria) this; + } + + public Criteria andSendUserIdLessThanOrEqualTo(Long value) { + addCriterion("send_user_id <=", value, "sendUserId"); + return (Criteria) this; + } + + public Criteria andSendUserIdIn(List values) { + addCriterion("send_user_id in", values, "sendUserId"); + return (Criteria) this; + } + + public Criteria andSendUserIdNotIn(List values) { + addCriterion("send_user_id not in", values, "sendUserId"); + return (Criteria) this; + } + + public Criteria andSendUserIdBetween(Long value1, Long value2) { + addCriterion("send_user_id between", value1, value2, "sendUserId"); + return (Criteria) this; + } + + public Criteria andSendUserIdNotBetween(Long value1, Long value2) { + addCriterion("send_user_id not between", value1, value2, "sendUserId"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneIsNull() { + addCriterion("send_user_phone is null"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneIsNotNull() { + addCriterion("send_user_phone is not null"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneEqualTo(String value) { + addCriterion("send_user_phone =", value, "sendUserPhone"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneNotEqualTo(String value) { + addCriterion("send_user_phone <>", value, "sendUserPhone"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneGreaterThan(String value) { + addCriterion("send_user_phone >", value, "sendUserPhone"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneGreaterThanOrEqualTo(String value) { + addCriterion("send_user_phone >=", value, "sendUserPhone"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneLessThan(String value) { + addCriterion("send_user_phone <", value, "sendUserPhone"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneLessThanOrEqualTo(String value) { + addCriterion("send_user_phone <=", value, "sendUserPhone"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneLike(String value) { + addCriterion("send_user_phone like", value, "sendUserPhone"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneNotLike(String value) { + addCriterion("send_user_phone not like", value, "sendUserPhone"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneIn(List values) { + addCriterion("send_user_phone in", values, "sendUserPhone"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneNotIn(List values) { + addCriterion("send_user_phone not in", values, "sendUserPhone"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneBetween(String value1, String value2) { + addCriterion("send_user_phone between", value1, value2, "sendUserPhone"); + return (Criteria) this; + } + + public Criteria andSendUserPhoneNotBetween(String value1, String value2) { + addCriterion("send_user_phone not between", value1, value2, "sendUserPhone"); + return (Criteria) this; + } + + public Criteria andReceiveUserIdIsNull() { + addCriterion("receive_user_id is null"); + return (Criteria) this; + } + + public Criteria andReceiveUserIdIsNotNull() { + addCriterion("receive_user_id is not null"); + return (Criteria) this; + } + + public Criteria andReceiveUserIdEqualTo(Long value) { + addCriterion("receive_user_id =", value, "receiveUserId"); + return (Criteria) this; + } + + public Criteria andReceiveUserIdNotEqualTo(Long value) { + addCriterion("receive_user_id <>", value, "receiveUserId"); + return (Criteria) this; + } + + public Criteria andReceiveUserIdGreaterThan(Long value) { + addCriterion("receive_user_id >", value, "receiveUserId"); + return (Criteria) this; + } + + public Criteria andReceiveUserIdGreaterThanOrEqualTo(Long value) { + addCriterion("receive_user_id >=", value, "receiveUserId"); + return (Criteria) this; + } + + public Criteria andReceiveUserIdLessThan(Long value) { + addCriterion("receive_user_id <", value, "receiveUserId"); + return (Criteria) this; + } + + public Criteria andReceiveUserIdLessThanOrEqualTo(Long value) { + addCriterion("receive_user_id <=", value, "receiveUserId"); + return (Criteria) this; + } + + public Criteria andReceiveUserIdIn(List values) { + addCriterion("receive_user_id in", values, "receiveUserId"); + return (Criteria) this; + } + + public Criteria andReceiveUserIdNotIn(List values) { + addCriterion("receive_user_id not in", values, "receiveUserId"); + return (Criteria) this; + } + + public Criteria andReceiveUserIdBetween(Long value1, Long value2) { + addCriterion("receive_user_id between", value1, value2, "receiveUserId"); + return (Criteria) this; + } + + public Criteria andReceiveUserIdNotBetween(Long value1, Long value2) { + addCriterion("receive_user_id not between", value1, value2, "receiveUserId"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneIsNull() { + addCriterion("receive_user_phone is null"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneIsNotNull() { + addCriterion("receive_user_phone is not null"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneEqualTo(String value) { + addCriterion("receive_user_phone =", value, "receiveUserPhone"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneNotEqualTo(String value) { + addCriterion("receive_user_phone <>", value, "receiveUserPhone"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneGreaterThan(String value) { + addCriterion("receive_user_phone >", value, "receiveUserPhone"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneGreaterThanOrEqualTo(String value) { + addCriterion("receive_user_phone >=", value, "receiveUserPhone"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneLessThan(String value) { + addCriterion("receive_user_phone <", value, "receiveUserPhone"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneLessThanOrEqualTo(String value) { + addCriterion("receive_user_phone <=", value, "receiveUserPhone"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneLike(String value) { + addCriterion("receive_user_phone like", value, "receiveUserPhone"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneNotLike(String value) { + addCriterion("receive_user_phone not like", value, "receiveUserPhone"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneIn(List values) { + addCriterion("receive_user_phone in", values, "receiveUserPhone"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneNotIn(List values) { + addCriterion("receive_user_phone not in", values, "receiveUserPhone"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneBetween(String value1, String value2) { + addCriterion("receive_user_phone between", value1, value2, "receiveUserPhone"); + return (Criteria) this; + } + + public Criteria andReceiveUserPhoneNotBetween(String value1, String value2) { + addCriterion("receive_user_phone not between", value1, value2, "receiveUserPhone"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNull() { + addCriterion("create_time is null"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNotNull() { + addCriterion("create_time is not null"); + return (Criteria) this; + } + + public Criteria andCreateTimeEqualTo(Date value) { + addCriterion("create_time =", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotEqualTo(Date value) { + addCriterion("create_time <>", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThan(Date value) { + addCriterion("create_time >", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { + addCriterion("create_time >=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThan(Date value) { + addCriterion("create_time <", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThanOrEqualTo(Date value) { + addCriterion("create_time <=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeIn(List values) { + addCriterion("create_time in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotIn(List values) { + addCriterion("create_time not in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeBetween(Date value1, Date value2) { + addCriterion("create_time between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotBetween(Date value1, Date value2) { + addCriterion("create_time not between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andExt1IsNull() { + addCriterion("ext_1 is null"); + return (Criteria) this; + } + + public Criteria andExt1IsNotNull() { + addCriterion("ext_1 is not null"); + return (Criteria) this; + } + + public Criteria andExt1EqualTo(String value) { + addCriterion("ext_1 =", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotEqualTo(String value) { + addCriterion("ext_1 <>", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1GreaterThan(String value) { + addCriterion("ext_1 >", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1GreaterThanOrEqualTo(String value) { + addCriterion("ext_1 >=", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1LessThan(String value) { + addCriterion("ext_1 <", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1LessThanOrEqualTo(String value) { + addCriterion("ext_1 <=", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1Like(String value) { + addCriterion("ext_1 like", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotLike(String value) { + addCriterion("ext_1 not like", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1In(List values) { + addCriterion("ext_1 in", values, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotIn(List values) { + addCriterion("ext_1 not in", values, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1Between(String value1, String value2) { + addCriterion("ext_1 between", value1, value2, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotBetween(String value1, String value2) { + addCriterion("ext_1 not between", value1, value2, "ext1"); + return (Criteria) this; + } + + public Criteria andExt2IsNull() { + addCriterion("ext_2 is null"); + return (Criteria) this; + } + + public Criteria andExt2IsNotNull() { + addCriterion("ext_2 is not null"); + return (Criteria) this; + } + + public Criteria andExt2EqualTo(String value) { + addCriterion("ext_2 =", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotEqualTo(String value) { + addCriterion("ext_2 <>", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2GreaterThan(String value) { + addCriterion("ext_2 >", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2GreaterThanOrEqualTo(String value) { + addCriterion("ext_2 >=", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2LessThan(String value) { + addCriterion("ext_2 <", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2LessThanOrEqualTo(String value) { + addCriterion("ext_2 <=", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2Like(String value) { + addCriterion("ext_2 like", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotLike(String value) { + addCriterion("ext_2 not like", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2In(List values) { + addCriterion("ext_2 in", values, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotIn(List values) { + addCriterion("ext_2 not in", values, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2Between(String value1, String value2) { + addCriterion("ext_2 between", value1, value2, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotBetween(String value1, String value2) { + addCriterion("ext_2 not between", value1, value2, "ext2"); + return (Criteria) this; + } + + public Criteria andExt3IsNull() { + addCriterion("ext_3 is null"); + return (Criteria) this; + } + + public Criteria andExt3IsNotNull() { + addCriterion("ext_3 is not null"); + return (Criteria) this; + } + + public Criteria andExt3EqualTo(String value) { + addCriterion("ext_3 =", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotEqualTo(String value) { + addCriterion("ext_3 <>", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3GreaterThan(String value) { + addCriterion("ext_3 >", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3GreaterThanOrEqualTo(String value) { + addCriterion("ext_3 >=", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3LessThan(String value) { + addCriterion("ext_3 <", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3LessThanOrEqualTo(String value) { + addCriterion("ext_3 <=", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3Like(String value) { + addCriterion("ext_3 like", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotLike(String value) { + addCriterion("ext_3 not like", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3In(List values) { + addCriterion("ext_3 in", values, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotIn(List values) { + addCriterion("ext_3 not in", values, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3Between(String value1, String value2) { + addCriterion("ext_3 between", value1, value2, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotBetween(String value1, String value2) { + addCriterion("ext_3 not between", value1, value2, "ext3"); + return (Criteria) this; + } + } + + /** + */ + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/service/src/main/java/com/hfkj/service/agent/BsAgentDiscountService.java b/service/src/main/java/com/hfkj/service/agent/BsAgentDiscountService.java index fe053f9..e4bd9c6 100644 --- a/service/src/main/java/com/hfkj/service/agent/BsAgentDiscountService.java +++ b/service/src/main/java/com/hfkj/service/agent/BsAgentDiscountService.java @@ -34,10 +34,9 @@ public interface BsAgentDiscountService { /** * 查询列表 * @param agentId - * @param type * @return */ - List getList(Long agentId,Integer type, String objectNo); + List getList(Long agentId); diff --git a/service/src/main/java/com/hfkj/service/agent/impl/BsAgentDiscountServiceImpl.java b/service/src/main/java/com/hfkj/service/agent/impl/BsAgentDiscountServiceImpl.java index 8d054d3..28a8466 100644 --- a/service/src/main/java/com/hfkj/service/agent/impl/BsAgentDiscountServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/agent/impl/BsAgentDiscountServiceImpl.java @@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * @className: BsAgentDiscountServiceImpl @@ -36,7 +37,7 @@ public class BsAgentDiscountServiceImpl implements BsAgentDiscountService { data.setStatus(1); agentDiscountMapper.insert(data); - List list = getList(data.getAgentId(), null,null); + List list = getList(data.getAgentId()); list.add(data); // 加入缓存 redisUtil.hset(CACHE_KEY,""+data.getAgentId(), list); @@ -59,7 +60,11 @@ public class BsAgentDiscountServiceImpl implements BsAgentDiscountService { @Override public BsAgentDiscount getDetail(Long agentId, Integer type, String objectNo) { - List list = getList(agentId, type, objectNo); + List list = getList(agentId) + .stream() + .filter(o -> o.getType().equals(type)) + .filter(o -> o.getObjectNo().equals(objectNo)) + .collect(Collectors.toList()); if (!list.isEmpty()) { return list.get(0); } @@ -67,21 +72,13 @@ public class BsAgentDiscountServiceImpl implements BsAgentDiscountService { } @Override - public List getList(Long agentId, Integer type, String objectNo) { + public List getList(Long agentId) { Object cacheObj = redisUtil.hget(CACHE_KEY, "" + agentId); if (cacheObj != null) { return (List) cacheObj; } BsAgentDiscountExample example = new BsAgentDiscountExample(); - BsAgentDiscountExample.Criteria criteria = example.createCriteria() - .andStatusNotEqualTo(0) - .andAgentIdEqualTo(agentId); - if (type != null) { - criteria.andTypeEqualTo(type); - } - if (StringUtils.isNotBlank(objectNo)) { - criteria.andObjectNoEqualTo(objectNo); - } + example.createCriteria().andStatusNotEqualTo(0).andAgentIdEqualTo(agentId); example.setOrderByClause("create_time desc"); List list = agentDiscountMapper.selectByExample(example); // 加入缓存 diff --git a/service/src/main/java/com/hfkj/service/discount/BsDiscountUserGiveRecordService.java b/service/src/main/java/com/hfkj/service/discount/BsDiscountUserGiveRecordService.java new file mode 100644 index 0000000..d7ce4df --- /dev/null +++ b/service/src/main/java/com/hfkj/service/discount/BsDiscountUserGiveRecordService.java @@ -0,0 +1,17 @@ +package com.hfkj.service.discount; + +import com.hfkj.entity.BsDiscountUserGiveRecord; + +/** + * @className: BsDiscountUserGiveRecordService + * @author: HuRui + * @date: 2024/9/6 + **/ +public interface BsDiscountUserGiveRecordService { + + /** + * 创建 + * @param data + */ + void create(BsDiscountUserGiveRecord data); +} diff --git a/service/src/main/java/com/hfkj/service/discount/BsDiscountUserService.java b/service/src/main/java/com/hfkj/service/discount/BsDiscountUserService.java index b73a0a8..7e7d2f9 100644 --- a/service/src/main/java/com/hfkj/service/discount/BsDiscountUserService.java +++ b/service/src/main/java/com/hfkj/service/discount/BsDiscountUserService.java @@ -61,6 +61,14 @@ public interface BsDiscountUserService { */ BsDiscountUser getDetail(Long id); + /** + * 转增他人 + * @param codeId 用户优惠券codeId + * @param giveUserId 转增用户id + * @param phone 接收用户手机号 + */ + void give(Long codeId,Long giveUserId,String phone); + /** * 查询详情 * @param stockCodeId diff --git a/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountPkStockBatchServiceImpl.java b/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountPkStockBatchServiceImpl.java index 9945a0c..dcc99bf 100644 --- a/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountPkStockBatchServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountPkStockBatchServiceImpl.java @@ -6,6 +6,7 @@ import com.hfkj.common.exception.SysCode; import com.hfkj.dao.BsDiscountPkStockBatchMapper; import com.hfkj.entity.*; import com.hfkj.service.discount.*; +import com.hfkj.sysenum.discount.DiscountPkStockCodeStatusEnum; import com.hfkj.sysenum.discount.DiscountStockCodeStatusEnum; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; @@ -70,7 +71,7 @@ public class BsDiscountPkStockBatchServiceImpl implements BsDiscountPkStockBatch discountPkCode.setDiscountPkId(discountPk.getId()); discountPkCode.setDiscountPkNo(discountPk.getDiscountPkNo()); discountPkCode.setDiscountPkName(discountPk.getDiscountPkName()); - discountPkCode.setStatus(DiscountStockCodeStatusEnum.status1.getCode()); + discountPkCode.setStatus(DiscountPkStockCodeStatusEnum.status1.getCode()); discountPkCode.setCreateTime(new Date()); discountPkCode.setUpdateTime(new Date()); stockCodeList.add(discountPkCode); @@ -100,11 +101,11 @@ public class BsDiscountPkStockBatchServiceImpl implements BsDiscountPkStockBatch BsDiscountPkStockBatchExample.Criteria criteria = example.createCriteria().andStatusNotEqualTo(0); if (StringUtils.isNotBlank(MapUtils.getString(param, "discountPkNo"))) { - criteria.andDiscountPkNoEqualTo("%"+MapUtils.getString(param, "discountNo")+"%"); + criteria.andDiscountPkNoLike("%"+MapUtils.getString(param, "discountPkNo")+"%"); } if (StringUtils.isNotBlank(MapUtils.getString(param, "discountPkName"))) { - criteria.andDiscountPkNameEqualTo("%"+MapUtils.getString(param, "discountPkName")+"%"); + criteria.andDiscountPkNameLike("%"+MapUtils.getString(param, "discountPkName")+"%"); } if (StringUtils.isNotBlank(MapUtils.getString(param, "batchNo"))) { diff --git a/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountPkStockCodeServiceImpl.java b/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountPkStockCodeServiceImpl.java index d60a5e2..54f505d 100644 --- a/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountPkStockCodeServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountPkStockCodeServiceImpl.java @@ -76,6 +76,10 @@ public class BsDiscountPkStockCodeServiceImpl implements BsDiscountPkStockCodeSe criteria.andDiscountPkStockBatchNoLike("%"+MapUtils.getString(param, "batchNo")+"%"); } + if (StringUtils.isNotBlank(MapUtils.getString(param, "userPhone"))) { + criteria.andReceiveMerUserPhoneLike("%"+MapUtils.getString(param, "userPhone")+"%"); + } + if (MapUtils.getInteger(param, "status") != null) { criteria.andStatusEqualTo(MapUtils.getInteger(param, "status")); } diff --git a/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountStockCodeServiceImpl.java b/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountStockCodeServiceImpl.java index 67363ac..a83b6c9 100644 --- a/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountStockCodeServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountStockCodeServiceImpl.java @@ -80,6 +80,10 @@ public class BsDiscountStockCodeServiceImpl implements BsDiscountStockCodeServic criteria.andDiscountStockBatchNoLike("%"+MapUtils.getString(param, "batchNo")+"%"); } + if (StringUtils.isNotBlank(MapUtils.getString(param, "userPhone"))) { + criteria.andReceiveMerUserPhoneLike("%"+MapUtils.getString(param, "userPhone")+"%"); + } + if (MapUtils.getInteger(param, "status") != null) { criteria.andStatusEqualTo(MapUtils.getInteger(param, "status")); } diff --git a/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountUserGiveRecordServiceImpl.java b/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountUserGiveRecordServiceImpl.java new file mode 100644 index 0000000..eb8411e --- /dev/null +++ b/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountUserGiveRecordServiceImpl.java @@ -0,0 +1,26 @@ +package com.hfkj.service.discount.impl; + +import com.hfkj.dao.BsDiscountUserGiveRecordMapper; +import com.hfkj.entity.BsDiscountUserGiveRecord; +import com.hfkj.service.discount.BsDiscountUserGiveRecordService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; + +/** + * @className: BsDiscountUserGiveRecordServiceImpl + * @author: HuRui + * @date: 2024/9/6 + **/ +@Service("discountUserGiveRecordService") +public class BsDiscountUserGiveRecordServiceImpl implements BsDiscountUserGiveRecordService { + @Resource + private BsDiscountUserGiveRecordMapper discountUserGiveRecordMapper; + + @Override + public void create(BsDiscountUserGiveRecord data) { + data.setCreateTime(new Date()); + discountUserGiveRecordMapper.insert(data); + } +} diff --git a/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountUserServiceImpl.java b/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountUserServiceImpl.java index 6e2411f..44752f4 100644 --- a/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountUserServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/discount/impl/BsDiscountUserServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; +import java.util.concurrent.TimeUnit; /** * @className: BsDiscountUserServiceImpl @@ -42,6 +43,8 @@ public class BsDiscountUserServiceImpl implements BsDiscountUserService { @Resource private BsDiscountPkStockCodeService discountPkStockCodeService; @Resource + private BsDiscountUserGiveRecordService discountUserGiveRecordService; + @Resource private BsUserService userService; private static final String RECEIVE_DISCOUNT_LOCK_KEY = "RECEIVE_DISCOUNT"; @@ -68,6 +71,8 @@ public class BsDiscountUserServiceImpl implements BsDiscountUserService { Boolean lock = redisTemplate.opsForValue().setIfAbsent(lockKey, ""); if (Boolean.TRUE.equals(lock)) { try { + // 锁超时时间 10秒 + redisTemplate.expire(lockKey, 10, TimeUnit.SECONDS); // 查询优惠券 BsDiscount discount = discountService.getDetail(discountNo); if (discount == null) { @@ -96,7 +101,7 @@ public class BsDiscountUserServiceImpl implements BsDiscountUserService { discountStockCode.setObtainTime(new Date()); discountStockCode.setReceiveMerUserId(user.getId()); discountStockCode.setReceiveMerUserPhone(user.getPhone()); - discountStockCode.setStatus(DiscountStockCodeStatusEnum.status3.getCode()); + discountStockCode.setStatus(DiscountStockCodeStatusEnum.status2.getCode()); discountStockCode.setAgentAppid(agentAppid); discountStockCodeService.update(discountStockCode); @@ -161,6 +166,8 @@ public class BsDiscountUserServiceImpl implements BsDiscountUserService { Boolean lock = redisTemplate.opsForValue().setIfAbsent(lockKey, ""); if (Boolean.TRUE.equals(lock)) { try { + // 锁超时时间 10秒 + redisTemplate.expire(lockKey, 10, TimeUnit.SECONDS); // 查询优惠券包 BsDiscountPk discountPk = discountPkService.getDetail(discountPkNo); if (discountPk == null) { @@ -187,7 +194,7 @@ public class BsDiscountUserServiceImpl implements BsDiscountUserService { code.setObtainTime(new Date()); code.setReceiveMerUserId(user.getId()); code.setReceiveMerUserPhone(user.getPhone()); - code.setStatus(DiscountStockCodeStatusEnum.status3.getCode()); + code.setStatus(DiscountPkStockCodeStatusEnum.status2.getCode()); code.setAgentAppid(agentAppid); discountPkStockCodeService.update(code); @@ -305,6 +312,44 @@ public class BsDiscountUserServiceImpl implements BsDiscountUserService { return discountUserMapper.selectByPrimaryKey(id); } + @Override + @Transactional(propagation= Propagation.REQUIRED, rollbackFor= {RuntimeException.class}) + public void give(Long codeId,Long giveUserId, String phone) { + // 查询用户优惠券 + BsDiscountUser discountUser = getDetailByCodeId(codeId); + if (discountUser == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的优惠券"); + } + if (!discountUser.getStatus().equals(DiscountUserStatusEnum.type1.getCode())) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "优惠券无法赠送"); + } + // 转赠人 + BsUser giveUser = userService.getUser(giveUserId); + if (giveUser == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到转赠人信息"); + } + if (!giveUser.getId().equals(discountUser.getUserId())) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "优惠券无法赠送"); + } + // 查询接收人 + BsUser user = userService.getUser(phone); + if (user == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "手机号未在系统中注册,无法赠送!"); + } + discountUser.setUserId(user.getId()); + discountUser.setUserPhone(user.getPhone()); + editData(discountUser); + // 记录 + BsDiscountUserGiveRecord giveRecord = new BsDiscountUserGiveRecord(); + giveRecord.setDiscountUserId(discountUser.getId()); + giveRecord.setDiscountStockCode(discountUser.getDiscountStockCode()); + giveRecord.setSendUserId(giveUser.getId()); + giveRecord.setSendUserPhone(giveUser.getPhone()); + giveRecord.setReceiveUserId(user.getId()); + giveRecord.setReceiveUserPhone(user.getPhone()); + discountUserGiveRecordService.create(giveRecord); + } + @Override public BsDiscountUser getDetailByCodeId(Long stockCodeId) { BsDiscountUserExample example = new BsDiscountUserExample(); diff --git a/service/src/main/java/com/hfkj/service/order/impl/BsOrderRefundServiceImpl.java b/service/src/main/java/com/hfkj/service/order/impl/BsOrderRefundServiceImpl.java index b8ed372..65825cc 100644 --- a/service/src/main/java/com/hfkj/service/order/impl/BsOrderRefundServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/order/impl/BsOrderRefundServiceImpl.java @@ -12,6 +12,7 @@ import com.hfkj.entity.*; import com.hfkj.model.order.OrderChildModel; import com.hfkj.model.order.OrderModel; import com.hfkj.pay.HuiPayService; +import com.hfkj.service.discount.BsDiscountUserService; import com.hfkj.service.merchant.BsMerchantService; import com.hfkj.service.order.*; import com.hfkj.sysenum.order.*; @@ -49,7 +50,8 @@ public class BsOrderRefundServiceImpl implements BsOrderRefundService { private BsOrderSettleService orderSettleService; @Resource private OrderRefundBusiness orderRefundBusiness; - + @Resource + private BsDiscountUserService discountUserService; @Override public void editData(BsOrderRefund data) { data.setUpdateTime(new Date()); @@ -143,7 +145,7 @@ public class BsOrderRefundServiceImpl implements BsOrderRefundService { throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "退款失败!退货数量超过子订单可退数量"); } // 查询交易订单 - BsOrder order = orderService.getOrder(orderChild.getOrderNo()); + OrderModel order = orderService.getDetail(orderChild.getOrderNo()); if (order == null) { throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的交易订单"); } @@ -236,13 +238,17 @@ public class BsOrderRefundServiceImpl implements BsOrderRefundService { order.setOrderStatus(OrderStatusEnum.status4.getCode()); order.setRefundTime(new Date()); orderService.editData(order); + + if (order.getDeduction().getUserCouponDiscountId() != null) { + // 退回优惠券 + discountUserService.revokeUserDiscount(order.getDeduction().getUserCouponDiscountId()); + } } } // 删除缓存 orderService.cacheDelete(order.getOrderNo()); return orderRefund; - } @Override