Commit fcb76e86 authored by 谢希宇's avatar 谢希宇

create by Strive

create date 2021/02/19
parent 21b4e363
......@@ -7,7 +7,9 @@ import com.cftech.core.sql.Conds;
import com.cftech.core.sql.Sort;
import com.cftech.couponrecord.model.Couponrecord;
import com.cftech.core.generic.GenericService;
import com.google.zxing.WriterException;
import java.io.IOException;
import java.util.List;
/**
......@@ -36,13 +38,13 @@ public interface CouponrecordService extends GenericService<Couponrecord> {
public JSONObject checkCouponDetails(CouponrecordVo vo);
/** 发放检测券
* @param couponId
* @param openid
/**
*
* @param openId
* @param accountsId
* @return
*/
boolean sendCouponRecord(Long couponId, String openid);
boolean sendCouponRecord(String openId, Long accountsId) throws IOException, WriterException;
/**
* 获取用户购药数量
......
......@@ -14,6 +14,7 @@ import com.cftech.core.generic.GenericDao;
import com.cftech.core.generic.GenericServiceImpl;
import com.cftech.core.sql.Conds;
import com.google.zxing.WriterException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
......@@ -29,6 +30,7 @@ import java.util.*;
* @author Strive
* @date: 2021-01-27 15:54
*/
@Slf4j
@Service("couponrecordService")
public class CouponrecordServiceImpl extends GenericServiceImpl<Couponrecord> implements CouponrecordService {
......@@ -47,7 +49,7 @@ public class CouponrecordServiceImpl extends GenericServiceImpl<Couponrecord> im
return couponrecordMapper;
}
public boolean sendCouponRecord(Long couponId, String openid, Long accountId) throws IOException, WriterException {
public boolean sendCouponRecord(String openid, Long accountId) throws IOException, WriterException {
Conds couponConds = new Conds();
couponConds.equal("t.del_flag", Constants.DEL_FLAG_0);
couponConds.equal("t.openid", openid);
......@@ -58,61 +60,45 @@ public class CouponrecordServiceImpl extends GenericServiceImpl<Couponrecord> im
int number = buyingMedicineNumber(openid);//购买数量
int years = 1;
switch (sendCouponNumber) {
case 0:
if (number >=3 && number <6) {//赠送第一年第一张券
double num = Math.floor(number / 3);//推送单数或双数券
double year = Math.ceil(num / 2);
if (num % 2 == 1) {//第一张
Checkcoupon checkcoupon = this.findCheckCoupon("1");
if (new Double(year).intValue() > Integer.parseInt(checkcoupon.getTakeEffectYear())) {
log.info("发券失败,超过时间限制");
return false;
}
//生成卡券发放记录编码
String no = codingruleUtils.getNumber(accountId, Couponrecord.class.getName());
Couponrecord couponrecord = new Couponrecord();
couponrecord.setNumber(no);
couponrecord.setTakeEffectYear(String.valueOf(years));
couponrecord.setNumber(codingruleUtils.getNumber(accountId, Couponrecord.class.getName()));
couponrecord.setTakeEffectYear(String.valueOf(year));
couponrecord.setTakeEffectMonth(checkcoupon.getTakeEffectMonth());
couponrecord.setExpireMonth(checkcoupon.getExpireMonth());
couponrecord.setType(checkcoupon.getType());
couponrecord.setOpenid(openid);
couponrecord.setInvalidDate(dateCalculation(new Date(), 12));
couponrecord.setTakeEffectDate(dateCalculation(new Date(), Integer.parseInt(checkcoupon.getTakeEffectMonth())));//生效时间
couponrecord.setExpireDate(dateCalculation(new Date(), Integer.parseInt(checkcoupon.getExpireMonth())));//过期时间
couponrecord.setQrcode(QrcodeUtil.generateQrcode(no));//生成二维码
couponrecordMapper.save(couponrecord);
} else {//第二张
//couponrecord.setInvalidDate(dateCalculation(new Date(), Integer.parseInt(checkcoupon.)));//失效时间
} else if (number >= 6) {
Checkcoupon checkcoupon = this.findCheckCoupon("2");
//生成卡券发放记录编码
String no = codingruleUtils.getNumber(accountId, Couponrecord.class.getName());
Couponrecord couponrecord = new Couponrecord();
couponrecord.setNumber(no);
couponrecord.setTakeEffectYear(String.valueOf(years));
couponrecord.setTakeEffectMonth(checkcoupon.getTakeEffectMonth());
couponrecord.setExpireMonth(checkcoupon.getExpireMonth());
couponrecord.setType(checkcoupon.getType());
couponrecord.setOpenid(openid);
couponrecord.setTakeEffectDate(dateCalculation(new Date(), Integer.parseInt(checkcoupon.getTakeEffectMonth())));//生效时间
couponrecord.setExpireDate(dateCalculation(new Date(), Integer.parseInt(checkcoupon.getExpireMonth())));//过期时间
couponrecord.setQrcode(QrcodeUtil.generateQrcode(no));//生成二维码
couponrecordMapper.save(couponrecord);
if (new Double(year).intValue() > Integer.parseInt(checkcoupon.getTakeEffectYear())) {
log.info("发券失败,超过时间限制");
return false;
}
break;
case 1:
//int number = buyingMedicineNumber(openid);//购买数量
if (number >= 6) {
Checkcoupon checkcoupon = this.findCheckCoupon("2");
//生成卡券发放记录编码
String no = codingruleUtils.getNumber(accountId, Couponrecord.class.getName());
Couponrecord couponrecord = new Couponrecord();
couponrecord.setNumber(no);
couponrecord.setTakeEffectYear(String.valueOf(years));
couponrecord.setNumber(codingruleUtils.getNumber(accountId, Couponrecord.class.getName()));
couponrecord.setTakeEffectYear(String.valueOf(year));
couponrecord.setTakeEffectMonth(checkcoupon.getTakeEffectMonth());
couponrecord.setExpireMonth(checkcoupon.getExpireMonth());
couponrecord.setType(checkcoupon.getType());
......@@ -122,49 +108,9 @@ public class CouponrecordServiceImpl extends GenericServiceImpl<Couponrecord> im
couponrecord.setQrcode(QrcodeUtil.generateQrcode(no));//生成二维码
couponrecordMapper.save(couponrecord);
}
break;
case 2:
//int number = buyingMedicineNumber(openid);//购买数量
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
default://0张
}
// int number = buyingMedicineNumber(openid);
// if (number == 0) {
//
// }
// Conds couponConds = new Conds();
// couponConds.equal("t.del_flag", Constants.DEL_FLAG_0);
// Map<String, Object> params = new HashMap<>();
// params.put("conds", couponConds);
// couponrecordMapper.fetchSearchByPage(params);
// int number = buyingMedicineNumber(openid);
// if (number >= 3 && number <6) {//赠送第一张券
// Conds couponConds = new Conds();
// couponConds.equal("t.del_flag", Constants.DEL_FLAG_0);
// couponConds.equal("t.type", "1");//第一张券
// couponrecordMapper.f
//
// } else if (number >= 6) {//赠送第二张券
//
// }
return false;
}
@Override
public boolean sendCouponRecord(Long couponId, String openid) {
return false;
}
......@@ -245,6 +191,8 @@ public class CouponrecordServiceImpl extends GenericServiceImpl<Couponrecord> im
}
/**
* 获取卡券最大失效时间。重新计算
*/
......
......@@ -39,5 +39,11 @@
<artifactId>logistics-module</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.cftech</groupId>
<artifactId>couponrecord-module</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -16,6 +16,7 @@ import com.cftech.core.util.Constants;
import com.cftech.core.util.DateFormatUtils;
import com.cftech.core.util.StringUtils;
import com.cftech.core.util.SystemConfig;
import com.cftech.couponrecord.service.CouponrecordService;
import com.cftech.invoice.model.Invoice;
import com.cftech.invoice.model.InvoiceDto;
import com.cftech.invoice.service.InvoiceService;
......@@ -85,6 +86,9 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
@Autowired
private QyMsgUtil qyMsgUtil;
@Autowired
private CouponrecordService couponrecordService;
@Override
public GenericDao<Order> getGenericMapper() {
......@@ -433,6 +437,11 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
return orderMapper.updateRemindType(id, option);
}
/**
* 微信支付回调事件
* @param request
* @return
*/
@Transactional
@Override
public String callBackPayStatus(HttpServletRequest request) {
......@@ -470,6 +479,7 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
order.setPayTime(date);
}
if (orderMapper.update(order) > 0) {
couponrecordService.sendCouponRecord(order.getOpenid(), order.getAccountsId());
sendQyWechatMassage(order.getId());
return WechatPayUtils.retSucXml;
}
......
......@@ -207,6 +207,7 @@
<!-- </servlet-mapping> -->
<session-config>
<session-timeout>60</session-timeout>
<cookie-config>
<!--<secure>true</secure>-->
<http-only>true</http-only>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment