|
@@ -203,7 +203,7 @@ public class CouponController {
|
|
|
@ApiOperation(value = "获取核销优惠券信息", httpMethod = "GET", notes = "获取核销优惠券信息")
|
|
|
public String selectCouponVerificationInfo(@ApiParam(value = "核销优惠券码", required = true) @RequestParam String couponNo,
|
|
|
@ApiParam(value = "用户unionId", required = true) @RequestParam String unionId){
|
|
|
- Gson gson =new Gson();
|
|
|
+ Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
|
|
|
ResultData resultData = null;
|
|
|
try {
|
|
|
if(StringUtils.isNotBlank(couponNo) && StringUtils.isNotBlank(unionId)){
|
|
@@ -226,9 +226,16 @@ public class CouponController {
|
|
|
}
|
|
|
boolean contains = verification.contains(stationId.toString());
|
|
|
if(contains){
|
|
|
+ //如果当前登录用户是异业端核销人员非加油站异业券核销
|
|
|
resultData = ResultData.success(couponInfo);
|
|
|
}else {
|
|
|
- resultData = ResultData.error(CodeMsg.ERROR_VERIFICATION);
|
|
|
+ Integer stationIdCoupon = couponInfo.getStationId();
|
|
|
+ Integer stationIdVer = cu.getStationId();
|
|
|
+ if(stationIdVer.toString().equals(stationIdCoupon.toString())){
|
|
|
+ resultData = ResultData.success(couponInfo);
|
|
|
+ }else {
|
|
|
+ resultData = ResultData.error(CodeMsg.ERROR_VERIFICATION);
|
|
|
+ }
|
|
|
}
|
|
|
}else {
|
|
|
resultData = ResultData.error(CodeMsg.NO_COUPON);
|
|
@@ -342,6 +349,7 @@ public class CouponController {
|
|
|
Coupon coupon = couponService.selectCouponTemplateInfo(couponParam);
|
|
|
//该优惠券是否存在
|
|
|
if(coupon != null) {
|
|
|
+ Integer couponCumulativeNum = coupon.getCouponCumulativeNum();
|
|
|
//该优惠券是否已被领完
|
|
|
if(coupon.getCouponNum() != null && coupon.getCouponNum() > 0) {
|
|
|
UserCoupon uc = new UserCoupon();
|
|
@@ -355,8 +363,8 @@ public class CouponController {
|
|
|
//获取该用户所持有此优惠券的张数,即未使用的优惠券
|
|
|
int userCouponCountNoUsed = couponService.selectUserCouponCount(uc);
|
|
|
//获取该用户
|
|
|
- if(userCouponCountNoUsed <= coupon.getCouponHoldNum()){
|
|
|
- if(userCouponCountSum <= coupon.getCouponReceiveNum()){
|
|
|
+ if(userCouponCountNoUsed < coupon.getCouponHoldNum()){
|
|
|
+ if(userCouponCountSum < coupon.getCouponReceiveNum()){
|
|
|
userCouponParam.setCouponIsUsed("0"); //是否使用:0、未使用;1、已使用;
|
|
|
long currentTimeMillis = System.currentTimeMillis();
|
|
|
String s = stationId + Long.toString(currentTimeMillis) + Math.round((Math.random() + 1) * 1000);
|
|
@@ -382,6 +390,12 @@ public class CouponController {
|
|
|
break;
|
|
|
}
|
|
|
if(couponService.addUserCoupon(userCouponParam) == 1) {
|
|
|
+ //更新该优惠券的领取数量
|
|
|
+ Coupon coupon_up = new Coupon();
|
|
|
+ coupon_up.setCouponId(couponId);
|
|
|
+ couponCumulativeNum = couponCumulativeNum + 1;
|
|
|
+ coupon_up.setCouponCumulativeNum(couponCumulativeNum);
|
|
|
+ couponService.updateCouponInfo(coupon_up);
|
|
|
//领取成功
|
|
|
successCouponList.add(couponId.toString());
|
|
|
//领取成功后次数 +1
|
|
@@ -456,7 +470,7 @@ public class CouponController {
|
|
|
@ResponseBody
|
|
|
@Transactional
|
|
|
public String findCouponVerificationUser(@RequestBody CouponVerificationUser couponVerificationUser){
|
|
|
- Gson gson =new Gson();
|
|
|
+ Gson gson =new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
|
|
|
ResultData resultData = null;
|
|
|
if(StringUtils.isNotBlank(couponVerificationUser.getMobilePhone()) && StringUtils.isNotBlank(couponVerificationUser.getUnionId())){
|
|
|
//手机号
|
|
@@ -495,7 +509,6 @@ public class CouponController {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
//异业端核销优惠券,兑换券
|
|
|
@RequestMapping(value = "/writeOffCoupon", consumes = "application/json", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
@@ -505,8 +518,6 @@ public class CouponController {
|
|
|
ResultData resultData = null;
|
|
|
try {
|
|
|
if(couponVerification !=null && StringUtils.isNoneBlank(couponVerification.getCouponNo()) && StringUtils.isNoneBlank(couponVerification.getUnionId())){
|
|
|
- //核销点
|
|
|
- String verificationId = couponVerification.getVerification();
|
|
|
String unionId = couponVerification.getUnionId();
|
|
|
//核销码
|
|
|
String couponNo = couponVerification.getCouponNo();
|
|
@@ -523,63 +534,71 @@ public class CouponController {
|
|
|
couponVerificationUser.setUnionId(unionId);
|
|
|
CouponVerificationUser cu = couponService.selectCouponVerificationUserInfo(couponVerificationUser);
|
|
|
if(cu !=null && cu.getStationId() !=null){
|
|
|
+ //核销人员手机号
|
|
|
+ String mobilePhone = cu.getMobilePhone();
|
|
|
+ userCoupon.setMobilePhone(mobilePhone);
|
|
|
+ //当前核销人员的核销点
|
|
|
+ String verificationId = cu.getStationId().toString();
|
|
|
//异业券核销,使用sys_user中账户核销
|
|
|
StationInfo stationInfo = new StationInfo();
|
|
|
stationInfo.setStationId(cu.getStationId());
|
|
|
StationInfo stationInfos = stationService.selectStationInfo(stationInfo);
|
|
|
//当前异业券的核销站点
|
|
|
String verification = userCouponInfo.getVerification();
|
|
|
+ userCoupon.setVerificationTime(new Date()); //核销时间
|
|
|
+ Integer stationIdCoupon = userCouponInfo.getStationId(); //当前优惠券所在发放站点
|
|
|
+ //如果当前异业券有核销站点
|
|
|
if(StringUtils.isNotBlank(verification)){
|
|
|
//当前优惠券是否共享
|
|
|
- if(StringUtils.isNotBlank(stationInfos.getCouponFlag()) && stationInfos.getCouponFlag().equals("1")){
|
|
|
- verificationId = stationInfos.getGroupId().toString();
|
|
|
- }
|
|
|
- boolean contains = verification.contains(verificationId);
|
|
|
- //是否能在该核销点核销
|
|
|
- if(contains){
|
|
|
- userCoupon.setCouponIsUsed("2");
|
|
|
- couponService.updateCouponUserInfo(userCoupon);
|
|
|
-// couponVerification.setCouponUserId(userCouponInfo.getId());
|
|
|
-// couponVerification.setCreateTime(new Date());
|
|
|
-// couponVerification.setVerification(cu.getStationId().toString());
|
|
|
-// couponService.addCouponVerificationRecord(couponVerification);
|
|
|
- resultData = ResultData.success("核销成功!");
|
|
|
- }else {
|
|
|
- //油站自己设置自己兑换券
|
|
|
- Integer stationIdVerification = cu.getStationId();
|
|
|
- Integer stationIdCoupon = userCouponInfo.getStationId();
|
|
|
- if(stationIdVerification.toString().equals(stationIdCoupon.toString())){
|
|
|
- userCoupon.setCouponIsUsed("2");
|
|
|
- couponService.updateCouponUserInfo(userCoupon);
|
|
|
- resultData = ResultData.success("核销成功!");
|
|
|
- }else {
|
|
|
- resultData = ResultData.error(CodeMsg.ERROR_VERIFICATION);
|
|
|
+ if(cu.getJiBie()!=null){
|
|
|
+ String jiBie = cu.getJiBie();
|
|
|
+ //核销人员所在站点的级别
|
|
|
+ switch (jiBie){
|
|
|
+ case "1":
|
|
|
+ if(StringUtils.isNotBlank(stationInfos.getCouponFlag()) && stationInfos.getCouponFlag().equals("1")){
|
|
|
+ verificationId = stationInfos.getGroupId().toString();
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ if(StringUtils.isNotBlank(stationInfos.getCouponFlag()) && stationInfos.getCouponFlag().equals("1")){
|
|
|
+ //表示为集团下优惠券共享
|
|
|
+ verificationId = stationInfos.getStationId().toString();
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
- //resultData = ResultData.error(CodeMsg.ERROR_VERIFICATION);
|
|
|
}
|
|
|
- }else {
|
|
|
- //油站自己设置自己兑换券
|
|
|
- Integer stationIdVerification = cu.getStationId();
|
|
|
- Integer stationIdCoupon = userCouponInfo.getStationId();
|
|
|
- if(stationIdVerification.toString().equals(stationIdCoupon.toString())){
|
|
|
- userCoupon.setCouponIsUsed("2");
|
|
|
+ //是否能在该核销点核销
|
|
|
+ Integer stationIdVerification = cu.getStationId(); //核销人员所在核销点
|
|
|
+ if(verification.contains(verificationId) || stationIdVerification.toString().equals(stationIdCoupon.toString())){
|
|
|
+ userCoupon.setCouponIsUsed("1");
|
|
|
couponService.updateCouponUserInfo(userCoupon);
|
|
|
resultData = ResultData.success("核销成功!");
|
|
|
}else {
|
|
|
resultData = ResultData.error(CodeMsg.ERROR_VERIFICATION);
|
|
|
}
|
|
|
+ }else if(verificationId.equals(stationIdCoupon.toString())){
|
|
|
+ //如果当前异业券没有核销站点,则为油站设置自己兑换券
|
|
|
+ userCoupon.setCouponIsUsed("1");
|
|
|
+ couponService.updateCouponUserInfo(userCoupon);
|
|
|
+ resultData = ResultData.success("核销成功!");
|
|
|
+ }else {
|
|
|
+ //当前异业券不能在此异业端核销
|
|
|
+ resultData = ResultData.error(CodeMsg.ERROR_VERIFICATION);
|
|
|
}
|
|
|
}else {
|
|
|
//此人不是核销人员
|
|
|
resultData = ResultData.error(CodeMsg.NOT_COUPON_VERIFICATION_USER);
|
|
|
}
|
|
|
}else{
|
|
|
+ //不是兑换券
|
|
|
resultData = ResultData.error(CodeMsg.NOT_COUPON_VERIFICATION);
|
|
|
}
|
|
|
}else {
|
|
|
+ //该兑换券已被使用
|
|
|
resultData = ResultData.error(CodeMsg.COUPON_VERIFICATION_USED);
|
|
|
}
|
|
|
}else {
|
|
|
+ //没有此兑换券
|
|
|
resultData = ResultData.error(CodeMsg.NO_COUPON);
|
|
|
}
|
|
|
}else {
|
|
@@ -602,7 +621,7 @@ public class CouponController {
|
|
|
@ApiOperation(value = "获取核销优惠券信息", httpMethod = "GET", notes = "获取核销优惠券信息")
|
|
|
public String selectCouponVerificationList(@ApiParam(value = "用户unionId", required = true) @RequestParam String unionId,
|
|
|
@RequestParam int pageNum, @RequestParam int pageSize) {
|
|
|
- Gson gson = new Gson();
|
|
|
+ Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
|
|
|
ResultData resultData = null;
|
|
|
if(StringUtils.isNotBlank(unionId)){
|
|
|
CouponVerificationUser couponVerificationUser = new CouponVerificationUser();
|
|
@@ -626,7 +645,7 @@ public class CouponController {
|
|
|
userCoupon.setStationId(stationId);
|
|
|
}
|
|
|
userCoupon.setCouponType("3");
|
|
|
- userCoupon.setCouponIsUsed("2");
|
|
|
+ userCoupon.setCouponIsUsed("1");
|
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
|
List<UserCoupon> userCoupons = couponService.selectCouponVerificationList(userCoupon);
|
|
|
PageInfo pageInfo = new PageInfo(userCoupons);
|