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