dev-discount
袁野 4 years ago
commit 594835ecec
  1. 5
      hai-bweb/src/main/java/com/bweb/controller/HighDiscountAgentRelController.java
  2. 23
      hai-bweb/src/main/java/com/bweb/controller/HighMerchantController.java
  3. 2
      hai-bweb/src/main/resources/prod/config.properties
  4. 23
      hai-bweb/src/test/common/ExcelModel.java
  5. 36
      hai-bweb/src/test/common/RegionTest.java
  6. 14
      hai-cweb/src/main/java/com/cweb/controller/HighCouponController.java
  7. 29
      hai-cweb/src/main/java/com/cweb/controller/HighDiscountController.java
  8. 8
      hai-cweb/src/main/java/com/cweb/controller/HighUserDiscountController.java
  9. 2
      hai-cweb/src/main/java/com/cweb/controller/pay/OrderController.java
  10. 16
      hai-schedule/src/main/java/com/hai/schedule/HighDiscountSchedule.java
  11. 12
      hai-service/src/main/java/com/hai/common/QRCodeGenerator.java
  12. 2
      hai-service/src/main/java/com/hai/common/security/UserCenter.java
  13. 108
      hai-service/src/main/java/com/hai/dao/HighDiscountAgentCodeMapper.java
  14. 33
      hai-service/src/main/java/com/hai/dao/HighDiscountAgentCodeMapperExt.java
  15. 276
      hai-service/src/main/java/com/hai/dao/HighDiscountAgentCodeSqlProvider.java
  16. 13
      hai-service/src/main/java/com/hai/dao/HighDiscountUserRelMapper.java
  17. 14
      hai-service/src/main/java/com/hai/dao/HighDiscountUserRelSqlProvider.java
  18. 6
      hai-service/src/main/java/com/hai/dao/HighOrderMapperExt.java
  19. 168
      hai-service/src/main/java/com/hai/entity/HighDiscountAgentCode.java
  20. 743
      hai-service/src/main/java/com/hai/entity/HighDiscountAgentCodeExample.java
  21. 16
      hai-service/src/main/java/com/hai/entity/HighDiscountUserRel.java
  22. 60
      hai-service/src/main/java/com/hai/entity/HighDiscountUserRelExample.java
  23. 12
      hai-service/src/main/java/com/hai/model/HighDiscountAgentRelModel.java
  24. 26
      hai-service/src/main/java/com/hai/model/HighOrderData.java
  25. 49
      hai-service/src/main/java/com/hai/service/HighDiscountAgentCodeService.java
  26. 2
      hai-service/src/main/java/com/hai/service/HighDiscountAgentRelService.java
  27. 2
      hai-service/src/main/java/com/hai/service/HighDiscountUserRelService.java
  28. 7
      hai-service/src/main/java/com/hai/service/HighOrderService.java
  29. 10
      hai-service/src/main/java/com/hai/service/impl/HighCouponCodeServiceImpl.java
  30. 55
      hai-service/src/main/java/com/hai/service/impl/HighDiscountAgentCodeServiceImpl.java
  31. 48
      hai-service/src/main/java/com/hai/service/impl/HighDiscountAgentRelServiceImpl.java
  32. 41
      hai-service/src/main/java/com/hai/service/impl/HighDiscountUserRelServiceImpl.java
  33. 22
      hai-service/src/main/java/com/hai/service/impl/HighOrderServiceImpl.java
  34. 11
      hai-service/src/main/java/com/hai/service/impl/HighUserCouponServiceImpl.java

@ -99,11 +99,12 @@ public class HighDiscountAgentRelController {
log.error("HighDiscountAgentRelController -> insertDiscountAgent() error!", discount.getDiscountName() + "重复分配给" + agent.getAgentName()); log.error("HighDiscountAgentRelController -> insertDiscountAgent() error!", discount.getDiscountName() + "重复分配给" + agent.getAgentName());
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, discount.getDiscountName() + "重复分配给" + agent.getAgentName()); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, discount.getDiscountName() + "重复分配给" + agent.getAgentName());
} }
highDiscountAgentRel.setCreateTime(new Date()); highDiscountAgentRel.setCreateTime(new Date());
highDiscountAgentRel.setStatus(1); highDiscountAgentRel.setStatus(1);
highDiscountAgentRelService.insertDiscountAgentRel(highDiscountAgentRel); highDiscountAgentRelService.insertDiscountAgentRel(highDiscountAgentRel);
// 生成二维码 /* // 生成二维码
String qrCodeImg = DateUtil.date2String(new Date(),agent.getId() + discount.getId() + "yyyyMMddHHmmss") + IDGenerator.nextId(2) +".png"; String qrCodeImg = DateUtil.date2String(new Date(),agent.getId() + discount.getId() + "yyyyMMddHHmmss") + IDGenerator.nextId(2) +".png";
String qrCodeUrl = SysConst.getSysConfig().getAgentQrCode() + "/" + qrCodeImg; String qrCodeUrl = SysConst.getSysConfig().getAgentQrCode() + "/" + qrCodeImg;
@ -111,7 +112,7 @@ public class HighDiscountAgentRelController {
String url = SysConst.getSysConfig().getAgentQrCodeWxUrl() + highDiscountAgentRel.getId(); String url = SysConst.getSysConfig().getAgentQrCodeWxUrl() + highDiscountAgentRel.getId();
QRCodeGenerator.generateQRCodeImage(url, 350, 350, qrCodeUrl); QRCodeGenerator.generateQRCodeImage(url, 350, 350, qrCodeUrl);
highDiscountAgentRel.setQrCode(qrCodeImg); highDiscountAgentRel.setQrCode(qrCodeImg);
highDiscountAgentRelService.updateDiscountAgentRel(highDiscountAgentRel); highDiscountAgentRelService.updateDiscountAgentRel(highDiscountAgentRel);*/
return ResponseMsgUtil.success("操作成功"); return ResponseMsgUtil.success("操作成功");
} catch (Exception e) { } catch (Exception e) {

@ -124,7 +124,6 @@ public class HighMerchantController {
|| StringUtils.isBlank(highMerchant.getMerchantName()) || StringUtils.isBlank(highMerchant.getMerchantName())
|| StringUtils.isBlank(highMerchant.getTelephone()) || StringUtils.isBlank(highMerchant.getTelephone())
|| StringUtils.isBlank(highMerchant.getAddress()) || StringUtils.isBlank(highMerchant.getAddress())
|| StringUtils.isBlank(highMerchant.getTelephone())
) { ) {
log.error("HighMerchantController -> updateMerchant() error!","参数错误"); log.error("HighMerchantController -> updateMerchant() error!","参数错误");
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
@ -156,13 +155,21 @@ public class HighMerchantController {
throw ErrorHelp.genException(SysCode.System, ErrorCode.PHONE_NUM_EXISTED, ""); throw ErrorHelp.genException(SysCode.System, ErrorCode.PHONE_NUM_EXISTED, "");
} }
highMerchant.setUpdateTime(new Date()); merchant.setMerchantName(highMerchant.getMerchantName());
highMerchant.setOperatorId(userInfoModel.getSecUser().getId()); merchant.setTelephone(highMerchant.getTelephone());
highMerchant.setOperatorName(userInfoModel.getSecUser().getUserName()); merchant.setAddress(highMerchant.getAddress());
highMerchant.setCompanyId(userInfoModel.getBsCompany().getId()); merchant.setBankName(highMerchant.getBankName());
highMerchantService.updateMerchant(highMerchant); merchant.setBankHolder(highMerchant.getBankHolder());
merchant.setBankAccount(highMerchant.getBankAccount());
return ResponseMsgUtil.success(highMerchant); merchant.setMerchantLogo(highMerchant.getMerchantLogo());
merchant.setMerchantDesc(highMerchant.getMerchantDesc());
merchant.setUpdateTime(new Date());
merchant.setOperatorId(userInfoModel.getSecUser().getId());
merchant.setOperatorName(userInfoModel.getSecUser().getUserName());
merchant.setCompanyId(userInfoModel.getBsCompany().getId());
highMerchantService.updateMerchant(merchant);
return ResponseMsgUtil.success(merchant);
} catch (Exception e) { } catch (Exception e) {
log.error("HighMerchantController -> updateMerchant() error!",e); log.error("HighMerchantController -> updateMerchant() error!",e);
return ResponseMsgUtil.exception(e); return ResponseMsgUtil.exception(e);

@ -1,4 +1,4 @@
fileUrl=/home/project/hsg/filesystem fileUrl=/home/project/hsg/filesystem
cmsPath=/home/project/hsg/filesystem/cmsPath cmsPath=/home/project/hsg/filesystem/cmsPath
agentQrCode=/home/project/hsg/filesystem/agentQrCode agentQrCode=/home/project/hsg/filesystem/agentQrCode
agentQrCodeWxUrl=https://hsgcs.dctpay.com/wx/test?id= agentQrCodeWxUrl=https://hsg.dctpay.com/wx/?action=gogogo&id=

@ -9,25 +9,14 @@ import com.alibaba.excel.annotation.ExcelProperty;
*/ */
public class ExcelModel { public class ExcelModel {
@ExcelProperty("卡券编码") @ExcelProperty("二维码地址")
private String key; private String codeUrl;
@ExcelProperty("商品编码") public String getCodeUrl() {
private String name; return codeUrl;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getName() {
return name;
} }
public void setName(String name) { public void setCodeUrl(String codeUrl) {
this.name = name; this.codeUrl = codeUrl;
} }
} }

@ -1,10 +1,15 @@
package common; package common;
import com.BWebApplication; import com.BWebApplication;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.hai.common.Base64Util;
import com.hai.common.security.AESEncodeUtil;
import com.hai.entity.HighDiscountAgentCode;
import com.hai.entity.SecRegion; import com.hai.entity.SecRegion;
import com.hai.service.CommonService; import com.hai.service.CommonService;
import com.hai.service.HighDiscountAgentCodeService;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
@ -33,6 +38,9 @@ public class RegionTest {
@Resource @Resource
private CommonService commonService; private CommonService commonService;
@Resource
private HighDiscountAgentCodeService highDiscountAgentCodeService;
@Test @Test
public void addLogs(){ public void addLogs(){
try { try {
@ -67,4 +75,32 @@ public class RegionTest {
e.printStackTrace(); e.printStackTrace();
} }
} }
@Test
public void simpleWrite() throws Exception {
// 写法1
String fileName = "D:\\simpleWrite.xlsx";
Map<String,Object> paramMap = new HashMap<>();
paramMap.put("discountAgentId", "");
List<HighDiscountAgentCode> codeList = highDiscountAgentCodeService.getDiscountCode(paramMap);
List<ExcelModel> list = new ArrayList<>();
ExcelModel excelModel;
Map<String,Object> map = new HashMap<>();
map.put("type", "DISCOUNT");
for (HighDiscountAgentCode code : codeList) {
excelModel = new ExcelModel();
map.put("id", code.getId());
String param = "https://hsg.dctpay.com/wx/?action=gogogo&id=" + Base64Util.encode(AESEncodeUtil.aesEncrypt(JSON.toJSONString(map)));
excelModel.setCodeUrl(param);
list.add(excelModel);
}
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
// 如果这里想使用03 则 传入excelType参数即可
EasyExcel.write(fileName, ExcelModel.class).sheet("模板").doWrite(list);
}
} }

@ -11,6 +11,7 @@ import com.hai.common.utils.ResponseMsgUtil;
import com.hai.entity.BsCompany; import com.hai.entity.BsCompany;
import com.hai.entity.HighCoupon; import com.hai.entity.HighCoupon;
import com.hai.entity.HighUserCoupon; import com.hai.entity.HighUserCoupon;
import com.hai.entity.SecRegion;
import com.hai.model.HighUserCouponModel; import com.hai.model.HighUserCouponModel;
import com.hai.model.HighUserModel; import com.hai.model.HighUserModel;
import com.hai.model.ResponseData; import com.hai.model.ResponseData;
@ -61,6 +62,9 @@ public class HighCouponController {
@Resource @Resource
private HighMerchantStoreService highMerchantStoreService; private HighMerchantStoreService highMerchantStoreService;
@Resource
private CommonService commonService;
@RequestMapping(value = "/getCouponList", method = RequestMethod.GET) @RequestMapping(value = "/getCouponList", method = RequestMethod.GET)
@ResponseBody @ResponseBody
@ApiOperation(value = "卡卷列表") @ApiOperation(value = "卡卷列表")
@ -73,7 +77,9 @@ public class HighCouponController {
@RequestParam(name = "pageSize", required = true) Integer pageSize) { @RequestParam(name = "pageSize", required = true) Integer pageSize) {
try { try {
BsCompany bsCompany = bsCompanyService.selectCompanyByRegion(regionId); SecRegion region = commonService.getRegionsById(Long.parseLong(regionId));
if (region != null && region.getParentId() != null) {
BsCompany bsCompany = bsCompanyService.selectCompanyByRegion(region.getParentId().toString());
if (bsCompany != null) { if (bsCompany != null) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("companyId", bsCompany.getId()); map.put("companyId", bsCompany.getId());
@ -86,7 +92,7 @@ public class HighCouponController {
PageHelper.startPage(pageNum, pageSize); PageHelper.startPage(pageNum, pageSize);
return ResponseMsgUtil.success(new PageInfo<>(highCouponService.getCouponList(map))); return ResponseMsgUtil.success(new PageInfo<>(highCouponService.getCouponList(map)));
} }
}
return ResponseMsgUtil.success(new PageInfo<>()); return ResponseMsgUtil.success(new PageInfo<>());
} catch (Exception e) { } catch (Exception e) {
@ -158,7 +164,7 @@ public class HighCouponController {
} }
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("highUserCoupon", "coupon"); map.put("highUserCoupon", coupon);
map.put("couponInfo", highCouponService.getCouponById(coupon.getCouponId())); map.put("couponInfo", highCouponService.getCouponById(coupon.getCouponId()));
map.put("couponCodeInfo", highCouponCodeService.getCouponCodeById(coupon.getCouponCodeId())); map.put("couponCodeInfo", highCouponCodeService.getCouponCodeById(coupon.getCouponCodeId()));
@ -186,7 +192,7 @@ public class HighCouponController {
HighUserCoupon userCoupon = highUserCouponService.againReceiveCoupon(userInfoModel.getHighUser().getId(), couponId); HighUserCoupon userCoupon = highUserCouponService.againReceiveCoupon(userInfoModel.getHighUser().getId(), couponId);
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("highUserCoupon", "coupon"); map.put("highUserCoupon", userCoupon);
map.put("couponInfo", highCouponService.getCouponById(userCoupon.getCouponId())); map.put("couponInfo", highCouponService.getCouponById(userCoupon.getCouponId()));
map.put("couponCodeInfo", highCouponCodeService.getCouponCodeById(userCoupon.getCouponCodeId())); map.put("couponCodeInfo", highCouponCodeService.getCouponCodeById(userCoupon.getCouponCodeId()));
return ResponseMsgUtil.success(map); return ResponseMsgUtil.success(map);

@ -1,12 +1,17 @@
package com.cweb.controller; package com.cweb.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.hai.common.Base64Util; import com.hai.common.Base64Util;
import com.hai.common.exception.ErrorCode; import com.hai.common.exception.ErrorCode;
import com.hai.common.exception.ErrorHelp; import com.hai.common.exception.ErrorHelp;
import com.hai.common.exception.SysCode; import com.hai.common.exception.SysCode;
import com.hai.common.security.AESEncodeUtil; import com.hai.common.security.AESEncodeUtil;
import com.hai.common.utils.ResponseMsgUtil; import com.hai.common.utils.ResponseMsgUtil;
import com.hai.entity.HighDiscountAgentCode;
import com.hai.entity.HighDiscountAgentRel;
import com.hai.model.ResponseData; import com.hai.model.ResponseData;
import com.hai.service.HighDiscountAgentCodeService;
import com.hai.service.HighDiscountAgentRelService; import com.hai.service.HighDiscountAgentRelService;
import com.hai.service.HighDiscountCouponRelService; import com.hai.service.HighDiscountCouponRelService;
import com.hai.service.HighDiscountService; import com.hai.service.HighDiscountService;
@ -18,6 +23,8 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
/** /**
* @Auther: 胡锐 * @Auther: 胡锐
@ -37,6 +44,9 @@ public class HighDiscountController {
@Resource @Resource
private HighDiscountCouponRelService highDiscountCouponRelService; private HighDiscountCouponRelService highDiscountCouponRelService;
@Resource
private HighDiscountAgentCodeService highDiscountAgentCodeService;
@Resource @Resource
private HighDiscountService highDiscountService; private HighDiscountService highDiscountService;
@ -45,14 +55,27 @@ public class HighDiscountController {
@ApiOperation(value = "根据二维码Code查询") @ApiOperation(value = "根据二维码Code查询")
public ResponseData getDiscountByQrCode(@RequestParam(name = "code", required = true) String code) { public ResponseData getDiscountByQrCode(@RequestParam(name = "code", required = true) String code) {
try { try {
String relId; String jsonData;
try { try {
relId = AESEncodeUtil.aesDecrypt(Base64Util.decode(code)); jsonData = AESEncodeUtil.aesDecrypt(Base64Util.decode(code));
} catch (Exception e) { } catch (Exception e) {
log.error("HighDiscountController -> getDiscountByQrCode() error!","code解码错误"); log.error("HighDiscountController -> getDiscountByQrCode() error!","code解码错误");
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "code解码错误"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "code解码错误");
} }
return ResponseMsgUtil.success(highDiscountAgentRelService.getRelById(Long.parseLong(relId)));
JSONObject jsonObject = JSON.parseObject(jsonData);
String type = jsonObject.getString("type");
Long id = jsonObject.getLong("id");
HighDiscountAgentCode discountAgentCode = highDiscountAgentCodeService.getCodeById(id);
if (discountAgentCode != null) {
HighDiscountAgentRel rel = highDiscountAgentRelService.getRelById(discountAgentCode.getDiscountAgentId());
if (rel != null) {
rel.setHighDiscountAgentCode(discountAgentCode);
return ResponseMsgUtil.success(rel);
}
}
return ResponseMsgUtil.success(null);
} catch (Exception e) { } catch (Exception e) {
log.error("HighDiscountController -> getDiscountByQrCode() error!",e); log.error("HighDiscountController -> getDiscountByQrCode() error!",e);

@ -10,10 +10,12 @@ import com.hai.common.security.SessionObject;
import com.hai.common.security.UserCenter; import com.hai.common.security.UserCenter;
import com.hai.common.utils.ResponseMsgUtil; import com.hai.common.utils.ResponseMsgUtil;
import com.hai.entity.HighDiscount; import com.hai.entity.HighDiscount;
import com.hai.entity.HighDiscountAgentCode;
import com.hai.entity.HighDiscountCouponRel; import com.hai.entity.HighDiscountCouponRel;
import com.hai.entity.HighDiscountUserRel; import com.hai.entity.HighDiscountUserRel;
import com.hai.model.HighUserModel; import com.hai.model.HighUserModel;
import com.hai.model.ResponseData; import com.hai.model.ResponseData;
import com.hai.service.HighDiscountAgentCodeService;
import com.hai.service.HighDiscountCouponRelService; import com.hai.service.HighDiscountCouponRelService;
import com.hai.service.HighDiscountUserRelService; import com.hai.service.HighDiscountUserRelService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -64,13 +66,13 @@ public class HighUserDiscountController {
HighUserModel userInfoModel = (HighUserModel) sessionObject.getObject(); HighUserModel userInfoModel = (HighUserModel) sessionObject.getObject();
JSONObject jsonObject = JSONObject.parseObject(reqBody); JSONObject jsonObject = JSONObject.parseObject(reqBody);
Long discountAgentId = jsonObject.getLong("discountAgentId"); Long codeId = jsonObject.getLong("codeId");
if (discountAgentId == null) { if (codeId == null) {
log.error("HighDiscountController -> receiveDiscount() error!", "参数错误"); log.error("HighDiscountController -> receiveDiscount() error!", "参数错误");
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
} }
// 领取 // 领取
highDiscountUserRelService.receiveDiscount(userInfoModel.getHighUser().getId(), discountAgentId); highDiscountUserRelService.receiveDiscount(userInfoModel.getHighUser().getId(), codeId);
return ResponseMsgUtil.success("领取成功"); return ResponseMsgUtil.success("领取成功");
} catch (Exception e) { } catch (Exception e) {

@ -109,7 +109,7 @@ public class OrderController {
// 商品类型 1:卡卷 2:金币充值 // 商品类型 1:卡卷 2:金币充值
for (HighChildOrder childOrder : order.getHighChildOrderList()) { for (HighChildOrder childOrder : order.getHighChildOrderList()) {
if (childOrder.getGoodsType() == 1) { if (childOrder.getGiveawayType() == false && childOrder.getGoodsType() == 1) {
HighCoupon coupon = highCouponService.getCouponById(childOrder.getGoodsId()); HighCoupon coupon = highCouponService.getCouponById(childOrder.getGoodsId());
// 支付类型:1.微信支付 2.金币支付 // 支付类型:1.微信支付 2.金币支付
if (coupon.getPayType() != 1) { if (coupon.getPayType() != 1) {

@ -1,7 +1,9 @@
package com.hai.schedule; package com.hai.schedule;
import com.hai.entity.HighDiscountAgentCode;
import com.hai.entity.HighDiscountUserRel; import com.hai.entity.HighDiscountUserRel;
import com.hai.entity.HighOrder; import com.hai.entity.HighOrder;
import com.hai.service.HighDiscountAgentCodeService;
import com.hai.service.HighDiscountUserRelService; import com.hai.service.HighDiscountUserRelService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -24,23 +26,33 @@ public class HighDiscountSchedule {
@Resource @Resource
private HighDiscountUserRelService highDiscountUserRelService; private HighDiscountUserRelService highDiscountUserRelService;
@Resource
private HighDiscountAgentCodeService highDiscountAgentCodeService;
/** /**
* @Author 胡锐 * @Author 胡锐
* @Description 处理过期的优惠券 * @Description 处理过期的优惠券
* @Date 2021/4/4 22:44 * @Date 2021/4/4 22:44
**/ **/
@Scheduled(cron = "5 0 0 * * ?") //每日凌晨12点5秒执行一次 //@Scheduled(cron = "5 0 0 * * ?") //每日凌晨12点5秒执行一次
@Scheduled(cron="0 0/1 * * * ?") //每1分钟执行一次
public void expiredDiscount() { public void expiredDiscount() {
List<HighDiscountUserRel> expiredDiscount = highDiscountUserRelService.getExpiredDiscount(); List<HighDiscountUserRel> expiredDiscount = highDiscountUserRelService.getExpiredDiscount();
for (HighDiscountUserRel rel : expiredDiscount) { for (HighDiscountUserRel rel : expiredDiscount) {
try { try {
rel.setStatus(0); rel.setStatus(0);
highDiscountUserRelService.updateDiscountUserRel(rel); highDiscountUserRelService.updateDiscountUserRel(rel);
// 二维码
HighDiscountAgentCode code = highDiscountAgentCodeService.getCodeById(rel.getDiscountAgentCodeId());
if (code != null) {
code.setStatus(4); // 状态 0:删除 1:待领取 2:待使用 3:已使用 4:已过期
highDiscountAgentCodeService.updateCode(code);
}
} catch (Exception e) { } catch (Exception e) {
log.error("HighCouponSchedule --> expiredCoupon() error!", e); log.error("HighCouponSchedule --> expiredCoupon() error!", e);
} }
} }
} }
} }

@ -6,6 +6,7 @@ import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix; import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter; import com.google.zxing.qrcode.QRCodeWriter;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.FileSystems; import java.nio.file.FileSystems;
import java.nio.file.Path; import java.nio.file.Path;
@ -22,15 +23,18 @@ public class QRCodeGenerator {
BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height); BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);
Path path = FileSystems.getDefault().getPath(filePath); File file = new File(filePath);
if(!file.exists()){
MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path); file.mkdirs();
}
//Path path = FileSystems.getDefault().getPath(filePath);
MatrixToImageWriter.writeToFile(bitMatrix, "PNG", file);
} }
public static void main(String[] args) { public static void main(String[] args) {
try { try {
generateQRCodeImage("This is my first QR Code", 350, 350, "D:\\qr.png"); generateQRCodeImage("This is my first QR Code", 350, 350, "D:\\/ss/qr1.png");
} catch (WriterException e) { } catch (WriterException e) {
System.out.println("Could not generate QR Code, WriterException :: " + e.getMessage()); System.out.println("Could not generate QR Code, WriterException :: " + e.getMessage());
} catch (IOException e) { } catch (IOException e) {

@ -19,7 +19,7 @@ public class UserCenter {
private static Logger log = LoggerFactory.getLogger(UserCenter.class); private static Logger log = LoggerFactory.getLogger(UserCenter.class);
private static final String COOKIE_FIELD = "_ida"; private static final String COOKIE_FIELD = "_ida";
private static final int EXPIRE = 43200;//过期时间为12小时 private static final int EXPIRE = 86400 * 7;//过期时间为24小时 * 7天
/** /**
* 判断用户是否登录,并且不能单个用户同时登录 * 判断用户是否登录,并且不能单个用户同时登录

@ -0,0 +1,108 @@
package com.hai.dao;
import com.hai.entity.HighDiscountAgentCode;
import com.hai.entity.HighDiscountAgentCodeExample;
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 HighDiscountAgentCodeMapper extends HighDiscountAgentCodeMapperExt {
@SelectProvider(type=HighDiscountAgentCodeSqlProvider.class, method="countByExample")
long countByExample(HighDiscountAgentCodeExample example);
@DeleteProvider(type=HighDiscountAgentCodeSqlProvider.class, method="deleteByExample")
int deleteByExample(HighDiscountAgentCodeExample example);
@Delete({
"delete from high_discount_agent_code",
"where id = #{id,jdbcType=BIGINT}"
})
int deleteByPrimaryKey(Long id);
@Insert({
"insert into high_discount_agent_code (discount_agent_id, qr_code, ",
"create_time, `status`, ",
"ext_1, ext_2, ext_3)",
"values (#{discountAgentId,jdbcType=BIGINT}, #{qrCode,jdbcType=VARCHAR}, ",
"#{createTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, ",
"#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
})
@Options(useGeneratedKeys=true,keyProperty="id")
int insert(HighDiscountAgentCode record);
@InsertProvider(type=HighDiscountAgentCodeSqlProvider.class, method="insertSelective")
@Options(useGeneratedKeys=true,keyProperty="id")
int insertSelective(HighDiscountAgentCode record);
@SelectProvider(type=HighDiscountAgentCodeSqlProvider.class, method="selectByExample")
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="discount_agent_id", property="discountAgentId", jdbcType=JdbcType.BIGINT),
@Result(column="qr_code", property="qrCode", jdbcType=JdbcType.VARCHAR),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@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<HighDiscountAgentCode> selectByExample(HighDiscountAgentCodeExample example);
@Select({
"select",
"id, discount_agent_id, qr_code, create_time, `status`, ext_1, ext_2, ext_3",
"from high_discount_agent_code",
"where id = #{id,jdbcType=BIGINT}"
})
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="discount_agent_id", property="discountAgentId", jdbcType=JdbcType.BIGINT),
@Result(column="qr_code", property="qrCode", jdbcType=JdbcType.VARCHAR),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@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)
})
HighDiscountAgentCode selectByPrimaryKey(Long id);
@UpdateProvider(type=HighDiscountAgentCodeSqlProvider.class, method="updateByExampleSelective")
int updateByExampleSelective(@Param("record") HighDiscountAgentCode record, @Param("example") HighDiscountAgentCodeExample example);
@UpdateProvider(type=HighDiscountAgentCodeSqlProvider.class, method="updateByExample")
int updateByExample(@Param("record") HighDiscountAgentCode record, @Param("example") HighDiscountAgentCodeExample example);
@UpdateProvider(type=HighDiscountAgentCodeSqlProvider.class, method="updateByPrimaryKeySelective")
int updateByPrimaryKeySelective(HighDiscountAgentCode record);
@Update({
"update high_discount_agent_code",
"set discount_agent_id = #{discountAgentId,jdbcType=BIGINT},",
"qr_code = #{qrCode,jdbcType=VARCHAR},",
"create_time = #{createTime,jdbcType=TIMESTAMP},",
"`status` = #{status,jdbcType=INTEGER},",
"ext_1 = #{ext1,jdbcType=VARCHAR},",
"ext_2 = #{ext2,jdbcType=VARCHAR},",
"ext_3 = #{ext3,jdbcType=VARCHAR}",
"where id = #{id,jdbcType=BIGINT}"
})
int updateByPrimaryKey(HighDiscountAgentCode record);
}

@ -0,0 +1,33 @@
package com.hai.dao;
import com.hai.entity.HighDiscountAgentCode;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* mapper扩展类
*/
public interface HighDiscountAgentCodeMapperExt {
@Insert({
"<script>",
"insert into high_discount_agent_code (discount_agent_id, qr_code, ",
"create_time, `status`, ",
"ext_1, ext_2, ext_3)",
"values " +
"<foreach collection='list' item='item' index='index' separator=','>",
"(#{discountAgentId,jdbcType=BIGINT}, ",
"#{qrCode,jdbcType=VARCHAR}, ",
"#{createTime,jdbcType=TIMESTAMP},",
"#{status,jdbcType=INTEGER}, ",
"#{ext1,jdbcType=VARCHAR},",
"#{ext2,jdbcType=VARCHAR}, ",
"#{ext3,jdbcType=VARCHAR})",
"</foreach>",
"</script>"
})
void insertListCode(@Param(value = "list") List<HighDiscountAgentCode> discountAgentCodeList);
}

@ -0,0 +1,276 @@
package com.hai.dao;
import com.hai.entity.HighDiscountAgentCode;
import com.hai.entity.HighDiscountAgentCodeExample.Criteria;
import com.hai.entity.HighDiscountAgentCodeExample.Criterion;
import com.hai.entity.HighDiscountAgentCodeExample;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.jdbc.SQL;
public class HighDiscountAgentCodeSqlProvider {
public String countByExample(HighDiscountAgentCodeExample example) {
SQL sql = new SQL();
sql.SELECT("count(*)").FROM("high_discount_agent_code");
applyWhere(sql, example, false);
return sql.toString();
}
public String deleteByExample(HighDiscountAgentCodeExample example) {
SQL sql = new SQL();
sql.DELETE_FROM("high_discount_agent_code");
applyWhere(sql, example, false);
return sql.toString();
}
public String insertSelective(HighDiscountAgentCode record) {
SQL sql = new SQL();
sql.INSERT_INTO("high_discount_agent_code");
if (record.getDiscountAgentId() != null) {
sql.VALUES("discount_agent_id", "#{discountAgentId,jdbcType=BIGINT}");
}
if (record.getQrCode() != null) {
sql.VALUES("qr_code", "#{qrCode,jdbcType=VARCHAR}");
}
if (record.getCreateTime() != null) {
sql.VALUES("create_time", "#{createTime,jdbcType=TIMESTAMP}");
}
if (record.getStatus() != null) {
sql.VALUES("`status`", "#{status,jdbcType=INTEGER}");
}
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(HighDiscountAgentCodeExample example) {
SQL sql = new SQL();
if (example != null && example.isDistinct()) {
sql.SELECT_DISTINCT("id");
} else {
sql.SELECT("id");
}
sql.SELECT("discount_agent_id");
sql.SELECT("qr_code");
sql.SELECT("create_time");
sql.SELECT("`status`");
sql.SELECT("ext_1");
sql.SELECT("ext_2");
sql.SELECT("ext_3");
sql.FROM("high_discount_agent_code");
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) {
HighDiscountAgentCode record = (HighDiscountAgentCode) parameter.get("record");
HighDiscountAgentCodeExample example = (HighDiscountAgentCodeExample) parameter.get("example");
SQL sql = new SQL();
sql.UPDATE("high_discount_agent_code");
if (record.getId() != null) {
sql.SET("id = #{record.id,jdbcType=BIGINT}");
}
if (record.getDiscountAgentId() != null) {
sql.SET("discount_agent_id = #{record.discountAgentId,jdbcType=BIGINT}");
}
if (record.getQrCode() != null) {
sql.SET("qr_code = #{record.qrCode,jdbcType=VARCHAR}");
}
if (record.getCreateTime() != null) {
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
}
if (record.getStatus() != null) {
sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
}
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("high_discount_agent_code");
sql.SET("id = #{record.id,jdbcType=BIGINT}");
sql.SET("discount_agent_id = #{record.discountAgentId,jdbcType=BIGINT}");
sql.SET("qr_code = #{record.qrCode,jdbcType=VARCHAR}");
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
HighDiscountAgentCodeExample example = (HighDiscountAgentCodeExample) parameter.get("example");
applyWhere(sql, example, true);
return sql.toString();
}
public String updateByPrimaryKeySelective(HighDiscountAgentCode record) {
SQL sql = new SQL();
sql.UPDATE("high_discount_agent_code");
if (record.getDiscountAgentId() != null) {
sql.SET("discount_agent_id = #{discountAgentId,jdbcType=BIGINT}");
}
if (record.getQrCode() != null) {
sql.SET("qr_code = #{qrCode,jdbcType=VARCHAR}");
}
if (record.getCreateTime() != null) {
sql.SET("create_time = #{createTime,jdbcType=TIMESTAMP}");
}
if (record.getStatus() != null) {
sql.SET("`status` = #{status,jdbcType=INTEGER}");
}
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, HighDiscountAgentCodeExample 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());
}
}
}

@ -40,11 +40,13 @@ public interface HighDiscountUserRelMapper extends HighDiscountUserRelMapperExt
@Insert({ @Insert({
"insert into high_discount_user_rel (discount_id, agent_id, ", "insert into high_discount_user_rel (discount_id, agent_id, ",
"user_id, `status`, use_time, ", "discount_agent_code_id, user_id, ",
"`status`, use_time, ",
"create_time, use_end_time, ", "create_time, use_end_time, ",
"ext_1, ext_2, ext_3)", "ext_1, ext_2, ext_3)",
"values (#{discountId,jdbcType=BIGINT}, #{agentId,jdbcType=BIGINT}, ", "values (#{discountId,jdbcType=BIGINT}, #{agentId,jdbcType=BIGINT}, ",
"#{userId,jdbcType=BIGINT}, #{status,jdbcType=INTEGER}, #{useTime,jdbcType=TIMESTAMP}, ", "#{discountAgentCodeId,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, ",
"#{status,jdbcType=INTEGER}, #{useTime,jdbcType=TIMESTAMP}, ",
"#{createTime,jdbcType=TIMESTAMP}, #{useEndTime,jdbcType=TIMESTAMP}, ", "#{createTime,jdbcType=TIMESTAMP}, #{useEndTime,jdbcType=TIMESTAMP}, ",
"#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})" "#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
}) })
@ -60,6 +62,7 @@ public interface HighDiscountUserRelMapper extends HighDiscountUserRelMapperExt
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="discount_id", property="discountId", jdbcType=JdbcType.BIGINT), @Result(column="discount_id", property="discountId", jdbcType=JdbcType.BIGINT),
@Result(column="agent_id", property="agentId", jdbcType=JdbcType.BIGINT), @Result(column="agent_id", property="agentId", jdbcType=JdbcType.BIGINT),
@Result(column="discount_agent_code_id", property="discountAgentCodeId", jdbcType=JdbcType.BIGINT),
@Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT), @Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), @Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@Result(column="use_time", property="useTime", jdbcType=JdbcType.TIMESTAMP), @Result(column="use_time", property="useTime", jdbcType=JdbcType.TIMESTAMP),
@ -73,8 +76,8 @@ public interface HighDiscountUserRelMapper extends HighDiscountUserRelMapperExt
@Select({ @Select({
"select", "select",
"id, discount_id, agent_id, user_id, `status`, use_time, create_time, use_end_time, ", "id, discount_id, agent_id, discount_agent_code_id, user_id, `status`, use_time, ",
"ext_1, ext_2, ext_3", "create_time, use_end_time, ext_1, ext_2, ext_3",
"from high_discount_user_rel", "from high_discount_user_rel",
"where id = #{id,jdbcType=BIGINT}" "where id = #{id,jdbcType=BIGINT}"
}) })
@ -82,6 +85,7 @@ public interface HighDiscountUserRelMapper extends HighDiscountUserRelMapperExt
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="discount_id", property="discountId", jdbcType=JdbcType.BIGINT), @Result(column="discount_id", property="discountId", jdbcType=JdbcType.BIGINT),
@Result(column="agent_id", property="agentId", jdbcType=JdbcType.BIGINT), @Result(column="agent_id", property="agentId", jdbcType=JdbcType.BIGINT),
@Result(column="discount_agent_code_id", property="discountAgentCodeId", jdbcType=JdbcType.BIGINT),
@Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT), @Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), @Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@Result(column="use_time", property="useTime", jdbcType=JdbcType.TIMESTAMP), @Result(column="use_time", property="useTime", jdbcType=JdbcType.TIMESTAMP),
@ -106,6 +110,7 @@ public interface HighDiscountUserRelMapper extends HighDiscountUserRelMapperExt
"update high_discount_user_rel", "update high_discount_user_rel",
"set discount_id = #{discountId,jdbcType=BIGINT},", "set discount_id = #{discountId,jdbcType=BIGINT},",
"agent_id = #{agentId,jdbcType=BIGINT},", "agent_id = #{agentId,jdbcType=BIGINT},",
"discount_agent_code_id = #{discountAgentCodeId,jdbcType=BIGINT},",
"user_id = #{userId,jdbcType=BIGINT},", "user_id = #{userId,jdbcType=BIGINT},",
"`status` = #{status,jdbcType=INTEGER},", "`status` = #{status,jdbcType=INTEGER},",
"use_time = #{useTime,jdbcType=TIMESTAMP},", "use_time = #{useTime,jdbcType=TIMESTAMP},",

@ -36,6 +36,10 @@ public class HighDiscountUserRelSqlProvider {
sql.VALUES("agent_id", "#{agentId,jdbcType=BIGINT}"); sql.VALUES("agent_id", "#{agentId,jdbcType=BIGINT}");
} }
if (record.getDiscountAgentCodeId() != null) {
sql.VALUES("discount_agent_code_id", "#{discountAgentCodeId,jdbcType=BIGINT}");
}
if (record.getUserId() != null) { if (record.getUserId() != null) {
sql.VALUES("user_id", "#{userId,jdbcType=BIGINT}"); sql.VALUES("user_id", "#{userId,jdbcType=BIGINT}");
} }
@ -80,6 +84,7 @@ public class HighDiscountUserRelSqlProvider {
} }
sql.SELECT("discount_id"); sql.SELECT("discount_id");
sql.SELECT("agent_id"); sql.SELECT("agent_id");
sql.SELECT("discount_agent_code_id");
sql.SELECT("user_id"); sql.SELECT("user_id");
sql.SELECT("`status`"); sql.SELECT("`status`");
sql.SELECT("use_time"); sql.SELECT("use_time");
@ -117,6 +122,10 @@ public class HighDiscountUserRelSqlProvider {
sql.SET("agent_id = #{record.agentId,jdbcType=BIGINT}"); sql.SET("agent_id = #{record.agentId,jdbcType=BIGINT}");
} }
if (record.getDiscountAgentCodeId() != null) {
sql.SET("discount_agent_code_id = #{record.discountAgentCodeId,jdbcType=BIGINT}");
}
if (record.getUserId() != null) { if (record.getUserId() != null) {
sql.SET("user_id = #{record.userId,jdbcType=BIGINT}"); sql.SET("user_id = #{record.userId,jdbcType=BIGINT}");
} }
@ -160,6 +169,7 @@ public class HighDiscountUserRelSqlProvider {
sql.SET("id = #{record.id,jdbcType=BIGINT}"); sql.SET("id = #{record.id,jdbcType=BIGINT}");
sql.SET("discount_id = #{record.discountId,jdbcType=BIGINT}"); sql.SET("discount_id = #{record.discountId,jdbcType=BIGINT}");
sql.SET("agent_id = #{record.agentId,jdbcType=BIGINT}"); sql.SET("agent_id = #{record.agentId,jdbcType=BIGINT}");
sql.SET("discount_agent_code_id = #{record.discountAgentCodeId,jdbcType=BIGINT}");
sql.SET("user_id = #{record.userId,jdbcType=BIGINT}"); sql.SET("user_id = #{record.userId,jdbcType=BIGINT}");
sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
sql.SET("use_time = #{record.useTime,jdbcType=TIMESTAMP}"); sql.SET("use_time = #{record.useTime,jdbcType=TIMESTAMP}");
@ -186,6 +196,10 @@ public class HighDiscountUserRelSqlProvider {
sql.SET("agent_id = #{agentId,jdbcType=BIGINT}"); sql.SET("agent_id = #{agentId,jdbcType=BIGINT}");
} }
if (record.getDiscountAgentCodeId() != null) {
sql.SET("discount_agent_code_id = #{discountAgentCodeId,jdbcType=BIGINT}");
}
if (record.getUserId() != null) { if (record.getUserId() != null) {
sql.SET("user_id = #{userId,jdbcType=BIGINT}"); sql.SET("user_id = #{userId,jdbcType=BIGINT}");
} }

@ -44,10 +44,10 @@ public interface HighOrderMapperExt {
@Select({ @Select({
"<script>", "<script>",
"select", "select",
"coupon_code_id, child_order_id,order_no,mem_name,mem_phone,pay_model,a.pay_type as pay_type, coupon.merchant_id as merchant_id, store_id,pay_gold,pay_price,pay_real_price, ", "coupon_code_id, child_order_id, goods_name , giveaway_type , order_no,mem_name,mem_phone,pay_model,a.pay_type as pay_type, coupon.merchant_id as merchant_id, store_id,pay_gold,pay_price,pay_real_price, ",
"pay_serial_no,order_status,total_price,a.create_time as create_time ,order_id,company_id, goods_type ", "pay_serial_no,order_status,total_price,a.create_time as create_time ,order_id,company_id, goods_type ",
"from high_coupon coupon join ( select * from high_order od ", "from high_coupon coupon join ( select * from high_order od ",
"join (select cc.id as coupon_code_id, cc.child_order_id, merchant_id,coupon_id,order_id,store_id, goods_type ", "join (select cc.id as coupon_code_id, co.goods_name , co.giveaway_type , cc.child_order_id, merchant_id,coupon_id,order_id,store_id, goods_type ",
"from high_coupon_code cc join high_child_order co on cc.child_order_id = co.id) cocc on cocc.order_id = od.id ", "from high_coupon_code cc join high_child_order co on cc.child_order_id = co.id) cocc on cocc.order_id = od.id ",
") a on coupon.id = a.coupon_id ", ") a on coupon.id = a.coupon_id ",
"where ", "where ",
@ -73,6 +73,8 @@ public interface HighOrderMapperExt {
@Result(column="pay_type", property="payType", jdbcType=JdbcType.INTEGER), @Result(column="pay_type", property="payType", jdbcType=JdbcType.INTEGER),
@Result(column="pay_gold", property="payGold", jdbcType=JdbcType.INTEGER), @Result(column="pay_gold", property="payGold", jdbcType=JdbcType.INTEGER),
@Result(column="pay_price", property="payPrice", jdbcType=JdbcType.DECIMAL), @Result(column="pay_price", property="payPrice", jdbcType=JdbcType.DECIMAL),
@Result(column="goods_name", property="goodsName", jdbcType=JdbcType.VARCHAR),
@Result(column="giveaway_type", property="giveawayType", jdbcType=JdbcType.BIT),
@Result(column="pay_real_price", property="payRealPrice", jdbcType=JdbcType.DECIMAL), @Result(column="pay_real_price", property="payRealPrice", jdbcType=JdbcType.DECIMAL),
@Result(column="pay_serial_no", property="paySerialNo", jdbcType=JdbcType.VARCHAR), @Result(column="pay_serial_no", property="paySerialNo", jdbcType=JdbcType.VARCHAR),
@Result(column="order_status", property="orderStatus", jdbcType=JdbcType.INTEGER), @Result(column="order_status", property="orderStatus", jdbcType=JdbcType.INTEGER),

@ -0,0 +1,168 @@
package com.hai.entity;
import java.io.Serializable;
import java.util.Date;
/**
* high_discount_agent_code
* @author
*/
/**
*
* 代码由工具生成
*
**/
public class HighDiscountAgentCode implements Serializable {
/**
* 主键
*/
private Long id;
/**
* 优惠券和代理商的id
*/
private Long discountAgentId;
/**
* 二维码
*/
private String qrCode;
/**
* 创建时间
*/
private Date createTime;
/**
* 状态 0删除 1待领取 2待使用 3已使用 4已过期
*/
private Integer status;
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 getDiscountAgentId() {
return discountAgentId;
}
public void setDiscountAgentId(Long discountAgentId) {
this.discountAgentId = discountAgentId;
}
public String getQrCode() {
return qrCode;
}
public void setQrCode(String qrCode) {
this.qrCode = qrCode;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
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;
}
HighDiscountAgentCode other = (HighDiscountAgentCode) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getDiscountAgentId() == null ? other.getDiscountAgentId() == null : this.getDiscountAgentId().equals(other.getDiscountAgentId()))
&& (this.getQrCode() == null ? other.getQrCode() == null : this.getQrCode().equals(other.getQrCode()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
&& (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 + ((getDiscountAgentId() == null) ? 0 : getDiscountAgentId().hashCode());
result = prime * result + ((getQrCode() == null) ? 0 : getQrCode().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getStatus() == null) ? 0 : getStatus().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(", discountAgentId=").append(discountAgentId);
sb.append(", qrCode=").append(qrCode);
sb.append(", createTime=").append(createTime);
sb.append(", status=").append(status);
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,743 @@
package com.hai.entity;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class HighDiscountAgentCodeExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
private Integer limit;
private Long offset;
public HighDiscountAgentCodeExample() {
oredCriteria = new ArrayList<Criteria>();
}
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<Criteria> 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<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> 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<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> 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 andDiscountAgentIdIsNull() {
addCriterion("discount_agent_id is null");
return (Criteria) this;
}
public Criteria andDiscountAgentIdIsNotNull() {
addCriterion("discount_agent_id is not null");
return (Criteria) this;
}
public Criteria andDiscountAgentIdEqualTo(Long value) {
addCriterion("discount_agent_id =", value, "discountAgentId");
return (Criteria) this;
}
public Criteria andDiscountAgentIdNotEqualTo(Long value) {
addCriterion("discount_agent_id <>", value, "discountAgentId");
return (Criteria) this;
}
public Criteria andDiscountAgentIdGreaterThan(Long value) {
addCriterion("discount_agent_id >", value, "discountAgentId");
return (Criteria) this;
}
public Criteria andDiscountAgentIdGreaterThanOrEqualTo(Long value) {
addCriterion("discount_agent_id >=", value, "discountAgentId");
return (Criteria) this;
}
public Criteria andDiscountAgentIdLessThan(Long value) {
addCriterion("discount_agent_id <", value, "discountAgentId");
return (Criteria) this;
}
public Criteria andDiscountAgentIdLessThanOrEqualTo(Long value) {
addCriterion("discount_agent_id <=", value, "discountAgentId");
return (Criteria) this;
}
public Criteria andDiscountAgentIdIn(List<Long> values) {
addCriterion("discount_agent_id in", values, "discountAgentId");
return (Criteria) this;
}
public Criteria andDiscountAgentIdNotIn(List<Long> values) {
addCriterion("discount_agent_id not in", values, "discountAgentId");
return (Criteria) this;
}
public Criteria andDiscountAgentIdBetween(Long value1, Long value2) {
addCriterion("discount_agent_id between", value1, value2, "discountAgentId");
return (Criteria) this;
}
public Criteria andDiscountAgentIdNotBetween(Long value1, Long value2) {
addCriterion("discount_agent_id not between", value1, value2, "discountAgentId");
return (Criteria) this;
}
public Criteria andQrCodeIsNull() {
addCriterion("qr_code is null");
return (Criteria) this;
}
public Criteria andQrCodeIsNotNull() {
addCriterion("qr_code is not null");
return (Criteria) this;
}
public Criteria andQrCodeEqualTo(String value) {
addCriterion("qr_code =", value, "qrCode");
return (Criteria) this;
}
public Criteria andQrCodeNotEqualTo(String value) {
addCriterion("qr_code <>", value, "qrCode");
return (Criteria) this;
}
public Criteria andQrCodeGreaterThan(String value) {
addCriterion("qr_code >", value, "qrCode");
return (Criteria) this;
}
public Criteria andQrCodeGreaterThanOrEqualTo(String value) {
addCriterion("qr_code >=", value, "qrCode");
return (Criteria) this;
}
public Criteria andQrCodeLessThan(String value) {
addCriterion("qr_code <", value, "qrCode");
return (Criteria) this;
}
public Criteria andQrCodeLessThanOrEqualTo(String value) {
addCriterion("qr_code <=", value, "qrCode");
return (Criteria) this;
}
public Criteria andQrCodeLike(String value) {
addCriterion("qr_code like", value, "qrCode");
return (Criteria) this;
}
public Criteria andQrCodeNotLike(String value) {
addCriterion("qr_code not like", value, "qrCode");
return (Criteria) this;
}
public Criteria andQrCodeIn(List<String> values) {
addCriterion("qr_code in", values, "qrCode");
return (Criteria) this;
}
public Criteria andQrCodeNotIn(List<String> values) {
addCriterion("qr_code not in", values, "qrCode");
return (Criteria) this;
}
public Criteria andQrCodeBetween(String value1, String value2) {
addCriterion("qr_code between", value1, value2, "qrCode");
return (Criteria) this;
}
public Criteria andQrCodeNotBetween(String value1, String value2) {
addCriterion("qr_code not between", value1, value2, "qrCode");
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<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> 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 andStatusIsNull() {
addCriterion("`status` is null");
return (Criteria) this;
}
public Criteria andStatusIsNotNull() {
addCriterion("`status` is not null");
return (Criteria) this;
}
public Criteria andStatusEqualTo(Integer value) {
addCriterion("`status` =", value, "status");
return (Criteria) this;
}
public Criteria andStatusNotEqualTo(Integer value) {
addCriterion("`status` <>", value, "status");
return (Criteria) this;
}
public Criteria andStatusGreaterThan(Integer value) {
addCriterion("`status` >", value, "status");
return (Criteria) this;
}
public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
addCriterion("`status` >=", value, "status");
return (Criteria) this;
}
public Criteria andStatusLessThan(Integer value) {
addCriterion("`status` <", value, "status");
return (Criteria) this;
}
public Criteria andStatusLessThanOrEqualTo(Integer value) {
addCriterion("`status` <=", value, "status");
return (Criteria) this;
}
public Criteria andStatusIn(List<Integer> values) {
addCriterion("`status` in", values, "status");
return (Criteria) this;
}
public Criteria andStatusNotIn(List<Integer> values) {
addCriterion("`status` not in", values, "status");
return (Criteria) this;
}
public Criteria andStatusBetween(Integer value1, Integer value2) {
addCriterion("`status` between", value1, value2, "status");
return (Criteria) this;
}
public Criteria andStatusNotBetween(Integer value1, Integer value2) {
addCriterion("`status` not between", value1, value2, "status");
return (Criteria) this;
}
public Criteria 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<String> values) {
addCriterion("ext_1 in", values, "ext1");
return (Criteria) this;
}
public Criteria andExt1NotIn(List<String> 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<String> values) {
addCriterion("ext_2 in", values, "ext2");
return (Criteria) this;
}
public Criteria andExt2NotIn(List<String> 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<String> values) {
addCriterion("ext_3 in", values, "ext3");
return (Criteria) this;
}
public Criteria andExt3NotIn(List<String> 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);
}
}
}

@ -30,6 +30,11 @@ public class HighDiscountUserRel extends HighDiscountUserRelModel implements Ser
*/ */
private Long agentId; private Long agentId;
/**
* 优惠券和代理商关系id
*/
private Long discountAgentCodeId;
/** /**
* 用户id * 用户id
*/ */
@ -87,6 +92,14 @@ public class HighDiscountUserRel extends HighDiscountUserRelModel implements Ser
this.agentId = agentId; this.agentId = agentId;
} }
public Long getDiscountAgentCodeId() {
return discountAgentCodeId;
}
public void setDiscountAgentCodeId(Long discountAgentCodeId) {
this.discountAgentCodeId = discountAgentCodeId;
}
public Long getUserId() { public Long getUserId() {
return userId; return userId;
} }
@ -166,6 +179,7 @@ public class HighDiscountUserRel extends HighDiscountUserRelModel implements Ser
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getDiscountId() == null ? other.getDiscountId() == null : this.getDiscountId().equals(other.getDiscountId())) && (this.getDiscountId() == null ? other.getDiscountId() == null : this.getDiscountId().equals(other.getDiscountId()))
&& (this.getAgentId() == null ? other.getAgentId() == null : this.getAgentId().equals(other.getAgentId())) && (this.getAgentId() == null ? other.getAgentId() == null : this.getAgentId().equals(other.getAgentId()))
&& (this.getDiscountAgentCodeId() == null ? other.getDiscountAgentCodeId() == null : this.getDiscountAgentCodeId().equals(other.getDiscountAgentCodeId()))
&& (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId())) && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus())) && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
&& (this.getUseTime() == null ? other.getUseTime() == null : this.getUseTime().equals(other.getUseTime())) && (this.getUseTime() == null ? other.getUseTime() == null : this.getUseTime().equals(other.getUseTime()))
@ -183,6 +197,7 @@ public class HighDiscountUserRel extends HighDiscountUserRelModel implements Ser
result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getDiscountId() == null) ? 0 : getDiscountId().hashCode()); result = prime * result + ((getDiscountId() == null) ? 0 : getDiscountId().hashCode());
result = prime * result + ((getAgentId() == null) ? 0 : getAgentId().hashCode()); result = prime * result + ((getAgentId() == null) ? 0 : getAgentId().hashCode());
result = prime * result + ((getDiscountAgentCodeId() == null) ? 0 : getDiscountAgentCodeId().hashCode());
result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode()); result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode()); result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
result = prime * result + ((getUseTime() == null) ? 0 : getUseTime().hashCode()); result = prime * result + ((getUseTime() == null) ? 0 : getUseTime().hashCode());
@ -203,6 +218,7 @@ public class HighDiscountUserRel extends HighDiscountUserRelModel implements Ser
sb.append(", id=").append(id); sb.append(", id=").append(id);
sb.append(", discountId=").append(discountId); sb.append(", discountId=").append(discountId);
sb.append(", agentId=").append(agentId); sb.append(", agentId=").append(agentId);
sb.append(", discountAgentCodeId=").append(discountAgentCodeId);
sb.append(", userId=").append(userId); sb.append(", userId=").append(userId);
sb.append(", status=").append(status); sb.append(", status=").append(status);
sb.append(", useTime=").append(useTime); sb.append(", useTime=").append(useTime);

@ -305,6 +305,66 @@ public class HighDiscountUserRelExample {
return (Criteria) this; return (Criteria) this;
} }
public Criteria andDiscountAgentCodeIdIsNull() {
addCriterion("discount_agent_code_id is null");
return (Criteria) this;
}
public Criteria andDiscountAgentCodeIdIsNotNull() {
addCriterion("discount_agent_code_id is not null");
return (Criteria) this;
}
public Criteria andDiscountAgentCodeIdEqualTo(Long value) {
addCriterion("discount_agent_code_id =", value, "discountAgentCodeId");
return (Criteria) this;
}
public Criteria andDiscountAgentCodeIdNotEqualTo(Long value) {
addCriterion("discount_agent_code_id <>", value, "discountAgentCodeId");
return (Criteria) this;
}
public Criteria andDiscountAgentCodeIdGreaterThan(Long value) {
addCriterion("discount_agent_code_id >", value, "discountAgentCodeId");
return (Criteria) this;
}
public Criteria andDiscountAgentCodeIdGreaterThanOrEqualTo(Long value) {
addCriterion("discount_agent_code_id >=", value, "discountAgentCodeId");
return (Criteria) this;
}
public Criteria andDiscountAgentCodeIdLessThan(Long value) {
addCriterion("discount_agent_code_id <", value, "discountAgentCodeId");
return (Criteria) this;
}
public Criteria andDiscountAgentCodeIdLessThanOrEqualTo(Long value) {
addCriterion("discount_agent_code_id <=", value, "discountAgentCodeId");
return (Criteria) this;
}
public Criteria andDiscountAgentCodeIdIn(List<Long> values) {
addCriterion("discount_agent_code_id in", values, "discountAgentCodeId");
return (Criteria) this;
}
public Criteria andDiscountAgentCodeIdNotIn(List<Long> values) {
addCriterion("discount_agent_code_id not in", values, "discountAgentCodeId");
return (Criteria) this;
}
public Criteria andDiscountAgentCodeIdBetween(Long value1, Long value2) {
addCriterion("discount_agent_code_id between", value1, value2, "discountAgentCodeId");
return (Criteria) this;
}
public Criteria andDiscountAgentCodeIdNotBetween(Long value1, Long value2) {
addCriterion("discount_agent_code_id not between", value1, value2, "discountAgentCodeId");
return (Criteria) this;
}
public Criteria andUserIdIsNull() { public Criteria andUserIdIsNull() {
addCriterion("user_id is null"); addCriterion("user_id is null");
return (Criteria) this; return (Criteria) this;

@ -2,6 +2,7 @@ package com.hai.model;
import com.hai.entity.HighAgent; import com.hai.entity.HighAgent;
import com.hai.entity.HighDiscount; import com.hai.entity.HighDiscount;
import com.hai.entity.HighDiscountAgentCode;
/** /**
* @Auther: 胡锐 * @Auther: 胡锐
@ -13,6 +14,9 @@ public class HighDiscountAgentRelModel {
// 优惠券信息 // 优惠券信息
private HighDiscount highDiscount; private HighDiscount highDiscount;
// 优惠券二维码
private HighDiscountAgentCode highDiscountAgentCode;
// 代理商信息 // 代理商信息
private HighAgent highAgent; private HighAgent highAgent;
@ -24,6 +28,14 @@ public class HighDiscountAgentRelModel {
this.highDiscount = highDiscount; this.highDiscount = highDiscount;
} }
public HighDiscountAgentCode getHighDiscountAgentCode() {
return highDiscountAgentCode;
}
public void setHighDiscountAgentCode(HighDiscountAgentCode highDiscountAgentCode) {
this.highDiscountAgentCode = highDiscountAgentCode;
}
public HighAgent getHighAgent() { public HighAgent getHighAgent() {
return highAgent; return highAgent;
} }

@ -35,6 +35,16 @@ public class HighOrderData extends HighOrder {
*/ */
private Integer goodsType; private Integer goodsType;
/**
* 商品的名称
*/
private String goodsName;
/**
* 是否是赠品 0 1
*/
private Boolean giveawayType;
public Long getChildOrderId() { public Long getChildOrderId() {
return childOrderId; return childOrderId;
} }
@ -82,4 +92,20 @@ public class HighOrderData extends HighOrder {
public void setGoodsType(Integer goodsType) { public void setGoodsType(Integer goodsType) {
this.goodsType = goodsType; this.goodsType = goodsType;
} }
public String getGoodsName() {
return goodsName;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
public Boolean getGiveawayType() {
return giveawayType;
}
public void setGiveawayType(Boolean giveawayType) {
this.giveawayType = giveawayType;
}
} }

@ -0,0 +1,49 @@
package com.hai.service;
import com.hai.entity.HighDiscountAgentCode;
import java.util.List;
import java.util.Map;
/**
* @Auther: 胡锐
* @Description: 代理商的优惠券二维码
* @Date: 2021/4/14 22:07
*/
public interface HighDiscountAgentCodeService {
/**
* @Author 胡锐
* @Description 批量增加
* @Date 2021/4/14 22:08
**/
void insertCodeList(List<HighDiscountAgentCode> discountAgentCodeList);
/**
* @Author 胡锐
* @Description 增加
* @Date 2021/4/14 22:32
**/
void insertCode(HighDiscountAgentCode highDiscountAgentCode);
/**
* @Author 胡锐
* @Description 修改
* @Date 2021/4/14 22:32
**/
void updateCode(HighDiscountAgentCode highDiscountAgentCode);
/**
* @Author 胡锐
* @Description 查询
* @Date 2021/4/16 22:20
**/
List<HighDiscountAgentCode> getDiscountCode(Map<String,Object> map);
/**
* @Author 胡锐
* @Description 根据id 查询二维码
* @Date 2021/4/14 23:38
**/
HighDiscountAgentCode getCodeById(Long id);
}

@ -17,7 +17,7 @@ public interface HighDiscountAgentRelService {
* @Description 增加 * @Description 增加
* @Date 2021/4/4 0:32 * @Date 2021/4/4 0:32
**/ **/
void insertDiscountAgentRel(HighDiscountAgentRel highDiscountAgentRel); void insertDiscountAgentRel(HighDiscountAgentRel highDiscountAgentRel) throws Exception;
/** /**
* @Author 胡锐 * @Author 胡锐

@ -18,7 +18,7 @@ public interface HighDiscountUserRelService {
* @Description 领取优惠券 * @Description 领取优惠券
* @Date 2021/4/4 15:12 * @Date 2021/4/4 15:12
**/ **/
void receiveDiscount(Long userId,Long discountAgentId); void receiveDiscount(Long userId,Long codeId);
/** /**
* @Author 胡锐 * @Author 胡锐

@ -49,6 +49,13 @@ public interface HighOrderService {
**/ **/
HighChildOrder getChildOrderById(Long childOrderId); HighChildOrder getChildOrderById(Long childOrderId);
/**
* @Author 胡锐
* @Description 根据用户和商品id 查询
* @Date 2021/4/15 21:38
**/
HighChildOrder getChildOrderByUserGoods(Long userId,Integer goodsType,Long goodsId);
/** /**
* 根据订单id 查询子商品 * 根据订单id 查询子商品
* @param orderId * @param orderId

@ -98,7 +98,7 @@ public class HighCouponCodeServiceImpl implements HighCouponCodeService {
} }
// 卡券来源:1.中石化 // 卡券来源:1.中石化
if (coupon.getCouponSource() == 1) { if (coupon.getCouponSource() == 1) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "此卡券无法消核"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "中石化卡券无法消核,请前往中石化门店");
} }
salesCode.setStoreId(userInfoModel.getMerchantStore().getId()); salesCode.setStoreId(userInfoModel.getMerchantStore().getId());
salesCode.setConsumeTime(new Date()); salesCode.setConsumeTime(new Date());
@ -110,12 +110,16 @@ public class HighCouponCodeServiceImpl implements HighCouponCodeService {
if (userCoupon == null) { if (userCoupon == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "卡卷状态异常"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "卡卷状态异常");
} }
HighChildOrder order = highOrderService.getChildOrderByUserGoods(userCoupon.getUserId(), 1, userCoupon.getCouponCodeId());
if (order == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到订单");
}
userCoupon.setStoreId(userInfoModel.getMerchantStore().getId()); userCoupon.setStoreId(userInfoModel.getMerchantStore().getId());
userCoupon.setConsumeTime(new Date()); userCoupon.setConsumeTime(new Date());
userCoupon.setStatus(2); // 状态 0:已过期 1:未使用 2:已使用 userCoupon.setStatus(2); // 状态 0:已过期 1:未使用 2:已使用
highUserCouponService.updateUserCoupon(userCoupon); highUserCouponService.updateUserCoupon(userCoupon);
highOrderService.childOrderComplete(order.getId());
highOrderService.childOrderComplete(salesCode.getChildOrderId());
} }
@Override @Override

@ -0,0 +1,55 @@
package com.hai.service.impl;
import com.hai.dao.HighDiscountAgentCodeMapper;
import com.hai.entity.HighDiscountAgentCode;
import com.hai.entity.HighDiscountAgentCodeExample;
import com.hai.service.HighDiscountAgentCodeService;
import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* @Auther: 胡锐
* @Description:
* @Date: 2021/4/14 22:09
*/
@Service("highDiscountAgentCodeService")
public class HighDiscountAgentCodeServiceImpl implements HighDiscountAgentCodeService {
@Resource
private HighDiscountAgentCodeMapper highDiscountAgentCodeMapper;
@Override
public void insertCodeList(List<HighDiscountAgentCode> discountAgentCodeList) {
highDiscountAgentCodeMapper.insertListCode(discountAgentCodeList);
}
@Override
public void insertCode(HighDiscountAgentCode highDiscountAgentCode) {
highDiscountAgentCodeMapper.insert(highDiscountAgentCode);
}
@Override
public void updateCode(HighDiscountAgentCode highDiscountAgentCode) {
highDiscountAgentCodeMapper.updateByPrimaryKey(highDiscountAgentCode);
}
@Override
public List<HighDiscountAgentCode> getDiscountCode(Map<String, Object> map) {
HighDiscountAgentCodeExample example = new HighDiscountAgentCodeExample();
HighDiscountAgentCodeExample.Criteria criteria = example.createCriteria();
if (MapUtils.getLong(map, "discountAgentId") != null) {
criteria.andDiscountAgentIdEqualTo(MapUtils.getLong(map, "discountAgentId"));
}
return highDiscountAgentCodeMapper.selectByExample(example);
}
@Override
public HighDiscountAgentCode getCodeById(Long id) {
return highDiscountAgentCodeMapper.selectByPrimaryKey(id);
}
}

@ -1,19 +1,25 @@
package com.hai.service.impl; package com.hai.service.impl;
import com.alibaba.fastjson.JSON;
import com.hai.common.Base64Util;
import com.hai.common.QRCodeGenerator;
import com.hai.common.security.AESEncodeUtil;
import com.hai.common.utils.DateUtil;
import com.hai.common.utils.IDGenerator;
import com.hai.dao.HighDiscountAgentRelMapper; import com.hai.dao.HighDiscountAgentRelMapper;
import com.hai.entity.HighAgent; import com.hai.entity.*;
import com.hai.entity.HighDiscount;
import com.hai.entity.HighDiscountAgentRel;
import com.hai.entity.HighDiscountAgentRelExample;
import com.hai.service.HighAgentService; import com.hai.service.HighAgentService;
import com.hai.service.HighDiscountAgentCodeService;
import com.hai.service.HighDiscountAgentRelService; import com.hai.service.HighDiscountAgentRelService;
import com.hai.service.HighDiscountService; import com.hai.service.HighDiscountService;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.io.File;
import java.util.Map; import java.util.*;
/** /**
* @Auther: 胡锐 * @Auther: 胡锐
@ -32,9 +38,37 @@ public class HighDiscountAgentRelServiceImpl implements HighDiscountAgentRelServ
@Resource @Resource
private HighDiscountService highDiscountService; private HighDiscountService highDiscountService;
@Resource
private HighDiscountAgentCodeService highDiscountAgentCodeService;
@Override @Override
public void insertDiscountAgentRel(HighDiscountAgentRel highDiscountAgentRel) { @Transactional(propagation= Propagation.REQUIRES_NEW)
public void insertDiscountAgentRel(HighDiscountAgentRel highDiscountAgentRel) throws Exception {
highDiscountAgentRelMapper.insert(highDiscountAgentRel); highDiscountAgentRelMapper.insert(highDiscountAgentRel);
Map<String,Object> map = new HashMap<>();
map.put("type", "DISCOUNT");
HighDiscountAgentCode code;
String path = "/home/project/hsg/filesystem/agentQrCode/";
String folder = highDiscountAgentRel.getAgentId() + "/" + highDiscountAgentRel.getDiscountId() + "/";
for (int i = 0;i < highDiscountAgentRel.getStockCount();i++) {
code = new HighDiscountAgentCode();
code.setDiscountAgentId(highDiscountAgentRel.getId());
code.setStatus(1);
code.setCreateTime(new Date());
highDiscountAgentCodeService.insertCode(code);
// 二维码参数
map.put("id", code.getId());
String qrCodeImg = DateUtil.date2String(new Date(),highDiscountAgentRel.getId()+"yyyyMMddHHmmss") + IDGenerator.nextId(10) +".png";
// 生成二维码
String param = "https://hsg.dctpay.com/wx/?action=gogogo&id=" + Base64Util.encode(AESEncodeUtil.aesEncrypt(JSON.toJSONString(map)));
QRCodeGenerator.generateQRCodeImage(param, 350, 350, path + folder + qrCodeImg);
code.setQrCode(qrCodeImg);
code.setExt1(param);
highDiscountAgentCodeService.updateCode(code);
}
} }
@Override @Override

@ -4,16 +4,12 @@ import com.hai.common.exception.ErrorCode;
import com.hai.common.exception.ErrorHelp; import com.hai.common.exception.ErrorHelp;
import com.hai.common.exception.SysCode; import com.hai.common.exception.SysCode;
import com.hai.dao.HighDiscountUserRelMapper; import com.hai.dao.HighDiscountUserRelMapper;
import com.hai.entity.HighDiscount; import com.hai.entity.*;
import com.hai.entity.HighDiscountAgentRel; import com.hai.service.*;
import com.hai.entity.HighDiscountUserRel;
import com.hai.entity.HighDiscountUserRelExample;
import com.hai.service.HighAgentService;
import com.hai.service.HighDiscountAgentRelService;
import com.hai.service.HighDiscountService;
import com.hai.service.HighDiscountUserRelService;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -43,12 +39,28 @@ public class HighDiscountUserRelServiceImpl implements HighDiscountUserRelServic
@Resource @Resource
private HighDiscountService highDiscountService; private HighDiscountService highDiscountService;
@Resource
private HighDiscountAgentCodeService highDiscountAgentCodeService;
@Override @Override
@Transactional(propagation= Propagation.REQUIRES_NEW) @Transactional(propagation= Propagation.REQUIRES_NEW,isolation= Isolation.SERIALIZABLE)
public void receiveDiscount(Long userId, Long discountAgentId) { public void receiveDiscount(Long userId, Long codeId) {
// 查询优惠券二维码
HighDiscountAgentCode code = highDiscountAgentCodeService.getCodeById(codeId);
if(code == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "二维码不存在");
}
// 状态 0:删除 1:待领取 2:待使用 3:已使用 4:已过期
if(code.getStatus() != 1) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "二维码不存在或已被领取");
}
code.setStatus(2);
highDiscountAgentCodeService.updateCode(code);
// 查询优惠券信息 // 查询优惠券信息
HighDiscountAgentRel rel = highDiscountAgentRelService.getRelById(discountAgentId); HighDiscountAgentRel rel = highDiscountAgentRelService.getRelById(code.getDiscountAgentId());
if (rel == null || rel.getHighDiscount() == null || rel.getAgentId() == null){ if (rel == null || rel.getHighDiscount() == null || rel.getAgentId() == null){
throw ErrorHelp.genException(SysCode.System, ErrorCode.NOT_FOUND_DISCOUNT, ""); throw ErrorHelp.genException(SysCode.System, ErrorCode.NOT_FOUND_DISCOUNT, "");
} }
@ -57,9 +69,9 @@ public class HighDiscountUserRelServiceImpl implements HighDiscountUserRelServic
// 校验卡卷状态 // 校验卡卷状态
if (rel.getHighDiscount().getStatus() != 2) { if (rel.getHighDiscount().getStatus() != 2) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "卡券已下架"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "无法领取,优惠券已过期");
} }
if (rel.getStockCount() <= 0) { /* if (rel.getStockCount() <= 0) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.DISCOUNT_STOCK_COUNT_ERROR, ""); throw ErrorHelp.genException(SysCode.System, ErrorCode.DISCOUNT_STOCK_COUNT_ERROR, "");
} }
@ -68,7 +80,7 @@ public class HighDiscountUserRelServiceImpl implements HighDiscountUserRelServic
example.createCriteria().andUserIdEqualTo(userId).andDiscountIdEqualTo(rel.getDiscountId()).andStatusEqualTo(1); example.createCriteria().andUserIdEqualTo(userId).andDiscountIdEqualTo(rel.getDiscountId()).andStatusEqualTo(1);
if (highDiscountUserRelMapper.selectByExample(example).size() > 0) { if (highDiscountUserRelMapper.selectByExample(example).size() > 0) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "重复领取卡券,请使用后再进行领取"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "重复领取卡券,请使用后再进行领取");
} }*/
HighDiscountUserRel userRel = new HighDiscountUserRel(); HighDiscountUserRel userRel = new HighDiscountUserRel();
userRel.setDiscountId(rel.getDiscountId()); userRel.setDiscountId(rel.getDiscountId());
@ -76,6 +88,7 @@ public class HighDiscountUserRelServiceImpl implements HighDiscountUserRelServic
userRel.setUserId(userId); userRel.setUserId(userId);
userRel.setStatus(1); // 状态 0:已过期 1:未使用 2:已使用 userRel.setStatus(1); // 状态 0:已过期 1:未使用 2:已使用
userRel.setCreateTime(new Date()); userRel.setCreateTime(new Date());
userRel.setDiscountAgentCodeId(code.getId());
// 计算使用有效期 // 计算使用有效期
Calendar userEndTime = Calendar.getInstance(); Calendar userEndTime = Calendar.getInstance();
userEndTime.setTime(new Date()); userEndTime.setTime(new Date());

@ -60,6 +60,9 @@ public class HighOrderServiceImpl implements HighOrderService {
@Resource @Resource
private HighDiscountUserRelService highDiscountUserRelService; private HighDiscountUserRelService highDiscountUserRelService;
@Resource
private HighDiscountAgentCodeService highDiscountAgentCodeService;
@Override @Override
@Transactional(propagation= Propagation.REQUIRES_NEW) @Transactional(propagation= Propagation.REQUIRES_NEW)
public void insertOrder(HighOrder highOrder) throws Exception { public void insertOrder(HighOrder highOrder) throws Exception {
@ -71,6 +74,10 @@ public class HighOrderServiceImpl implements HighOrderService {
discountUserRel.setUseTime(new Date()); // 使用时间 discountUserRel.setUseTime(new Date()); // 使用时间
discountUserRel.setStatus(2); //状态 0:已过期 1:未使用 2:已使用 discountUserRel.setStatus(2); //状态 0:已过期 1:未使用 2:已使用
highDiscountUserRelService.updateDiscountUserRel(discountUserRel); highDiscountUserRelService.updateDiscountUserRel(discountUserRel);
HighDiscountAgentCode code = highDiscountAgentCodeService.getCodeById(discountUserRel.getDiscountAgentCodeId());
code.setStatus(3);
highDiscountAgentCodeService.updateCode(code);
} }
for (int i = 0; i < highOrder.getHighChildOrderList().size();i++) { for (int i = 0; i < highOrder.getHighChildOrderList().size();i++) {
@ -214,6 +221,17 @@ public class HighOrderServiceImpl implements HighOrderService {
return highChildOrderMapper.selectByPrimaryKey(childOrderId); return highChildOrderMapper.selectByPrimaryKey(childOrderId);
} }
@Override
public HighChildOrder getChildOrderByUserGoods(Long userId, Integer goodsType, Long goodsId) {
HighChildOrderExample example = new HighChildOrderExample();
example.createCriteria().andMemIdEqualTo(userId).andGoodsTypeEqualTo(goodsType).andGoodsIdEqualTo(goodsId);
List<HighChildOrder> list = highChildOrderMapper.selectByExample(example);
if (list.size() > 0) {
return list.get(0);
}
return null;
}
@Override @Override
public List<HighChildOrder> getChildOrderByOrder(Long orderId) { public List<HighChildOrder> getChildOrderByOrder(Long orderId) {
HighChildOrderExample example = new HighChildOrderExample(); HighChildOrderExample example = new HighChildOrderExample();
@ -372,6 +390,10 @@ public class HighOrderServiceImpl implements HighOrderService {
rel.setStatus(1); // 状态 0:已过期 1:未使用 2:已使用 rel.setStatus(1); // 状态 0:已过期 1:未使用 2:已使用
rel.setUseTime(null); rel.setUseTime(null);
highDiscountUserRelService.updateDiscountUserRel(rel); highDiscountUserRelService.updateDiscountUserRel(rel);
HighDiscountAgentCode code = highDiscountAgentCodeService.getCodeById(rel.getDiscountAgentCodeId());
code.setStatus(4);
highDiscountAgentCodeService.updateCode(code);
} }
} }
updateOrder(order); updateOrder(order);

@ -102,7 +102,7 @@ public class HighUserCouponServiceImpl implements HighUserCouponService {
@Override @Override
public HighUserCoupon getUserCoupon(Long userId, Long couponId) { public HighUserCoupon getUserCoupon(Long userId, Long couponId) {
HighUserCouponExample example = new HighUserCouponExample(); HighUserCouponExample example = new HighUserCouponExample();
example.createCriteria().andUserIdEqualTo(userId).andCouponIdEqualTo(couponId); example.createCriteria().andUserIdEqualTo(userId).andCouponIdEqualTo(couponId).andStatusNotEqualTo(100);
List<HighUserCoupon> coupons = highUserCouponMapper.selectByExample(example); List<HighUserCoupon> coupons = highUserCouponMapper.selectByExample(example);
if (coupons != null && coupons.size() > 0) { if (coupons != null && coupons.size() > 0) {
return coupons.get(0); return coupons.get(0);
@ -133,20 +133,22 @@ public class HighUserCouponServiceImpl implements HighUserCouponService {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "无法重新领取"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "无法重新领取");
} }
userCoupon.setStatus(100); // 删除 userCoupon.setStatus(100); // 删除
highUserCouponMapper.updateByPrimaryKey(userCoupon);
HighCoupon coupon = highCouponService.getCouponById(userCoupon.getCouponId()); HighCoupon coupon = highCouponService.getCouponById(userCoupon.getCouponId());
if (coupon == null) { if (coupon == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到卡卷"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到卡卷");
} }
// 查询待销售 // 查询待销售
List<HighCouponCode> list = highCouponCodeService.getNoSaleCode(coupon.getId()); List<HighCouponCode> list = highCouponCodeService.getNoSaleCode(coupon.getId());
if (list == null || list.size() == 0) { if (list == null || list.size() == 0) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, coupon.getCouponName() + "暂无库存,请联系客服"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, coupon.getCouponName() + "暂无库存,请联系客服");
} }
HighCouponCode highCouponCode = list.get(0); HighCouponCode highCouponCode = list.get(0);
highCouponCode.setChildOrderId(userCoupon.getId()); //highCouponCode.setChildOrderId(userCoupon.getId());
highCouponCode.setStatus(2); // 状态:1.待销售 2.未使用 3.已使用 99.预支付 highCouponCode.setStatus(2); // 状态:1.待销售 2.未使用 3.已使用 99.预支付
highCouponCode.setReceiveTime(new Date());
highCouponCodeService.updateCouponCode(highCouponCode); highCouponCodeService.updateCouponCode(highCouponCode);
// 卡卷关联用户 // 卡卷关联用户
@ -166,6 +168,7 @@ public class HighUserCouponServiceImpl implements HighUserCouponService {
highUserCoupon.setUseEndTime(userEndTime.getTime()); highUserCoupon.setUseEndTime(userEndTime.getTime());
} }
highUserCoupon.setStatus(1); // 状态 0:已过期 1:未使用 2:已使用 highUserCoupon.setStatus(1); // 状态 0:已过期 1:未使用 2:已使用
highUserCoupon.setQrCodeImg(highCouponCode.getExt1());
highUserCouponMapper.insert(highUserCoupon); highUserCouponMapper.insert(highUserCoupon);
return highUserCoupon; return highUserCoupon;
@ -187,7 +190,7 @@ public class HighUserCouponServiceImpl implements HighUserCouponService {
// 查询卡券信息 // 查询卡券信息
HighCoupon coupon = highCouponService.getCouponById(highUserCoupon.getCouponId()); HighCoupon coupon = highCouponService.getCouponById(highUserCoupon.getCouponId());
HighChildOrder childOrder = highOrderService.getChildOrderById(couponCode.getChildOrderId()); HighChildOrder childOrder = highOrderService.getChildOrderByUserGoods(highUserCoupon.getUserId(),1, highUserCoupon.getCouponCodeId());
HighOrder order = highOrderService.getOrderById(childOrder.getOrderId()); HighOrder order = highOrderService.getOrderById(childOrder.getOrderId());
// 归库记录 // 归库记录

Loading…
Cancel
Save