parent
e73d579d82
commit
950ad159fa
@ -0,0 +1,41 @@
|
|||||||
|
package com.bsd.say.controller;
|
||||||
|
|
||||||
|
import com.bsd.say.beans.AjaxRequest;
|
||||||
|
import com.bsd.say.beans.AjaxResult;
|
||||||
|
import com.bsd.say.entities.Coupon;
|
||||||
|
import com.bsd.say.service.CouponService;
|
||||||
|
import com.bsd.say.service.UsersService;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("coupon")
|
||||||
|
@CrossOrigin
|
||||||
|
public class CouponController extends BaseController<CouponService, Coupon>{
|
||||||
|
@Resource
|
||||||
|
private CouponService couponService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CouponService getBaseService() {
|
||||||
|
return super.getBaseService();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领取优惠券
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/receive-coupon")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult receiveCoupon(@RequestBody AjaxRequest ajaxRequest){
|
||||||
|
AjaxResult ajaxResult = new AjaxResult();
|
||||||
|
try {
|
||||||
|
ajaxResult = couponService.receiveCoupon(ajaxRequest);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
String errMsg = e.getMessage() != null ? e.getMessage() : "操作失败";
|
||||||
|
ajaxResult.setRetcode(AjaxResult.FAILED);
|
||||||
|
ajaxResult.setRetmsg(errMsg);
|
||||||
|
}
|
||||||
|
return ajaxResult;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
package com.bsd.say.controller;
|
||||||
|
|
||||||
|
import com.bsd.say.beans.AjaxRequest;
|
||||||
|
import com.bsd.say.beans.AjaxResult;
|
||||||
|
import com.bsd.say.entities.Users;
|
||||||
|
import com.bsd.say.service.UsersService;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("users")
|
||||||
|
@CrossOrigin
|
||||||
|
public class UsersController extends BaseController<UsersService, Users>{
|
||||||
|
@Resource
|
||||||
|
private UsersService usersService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UsersService getBaseService() {
|
||||||
|
return super.getBaseService();
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/send-note")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult sendNote(@RequestBody AjaxRequest ajaxRequest){
|
||||||
|
|
||||||
|
AjaxResult ajaxResult = new AjaxResult();
|
||||||
|
try {
|
||||||
|
ajaxResult = usersService.sendNote(ajaxRequest);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
String errMsg = e.getMessage() != null ? e.getMessage() : "操作失败";
|
||||||
|
ajaxResult.setRetcode(AjaxResult.FAILED);
|
||||||
|
ajaxResult.setRetmsg(errMsg);
|
||||||
|
}
|
||||||
|
return ajaxResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,6 +1,9 @@
|
|||||||
package com.bsd.say.service;
|
package com.bsd.say.service;
|
||||||
|
|
||||||
|
import com.bsd.say.beans.AjaxRequest;
|
||||||
|
import com.bsd.say.beans.AjaxResult;
|
||||||
import com.bsd.say.entities.Coupon;
|
import com.bsd.say.entities.Coupon;
|
||||||
|
|
||||||
public interface CouponService extends BaseService<Coupon> {
|
public interface CouponService extends BaseService<Coupon> {
|
||||||
|
AjaxResult receiveCoupon(AjaxRequest ajaxRequest);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
package com.bsd.say.service;
|
package com.bsd.say.service;
|
||||||
|
|
||||||
|
import com.bsd.say.beans.AjaxRequest;
|
||||||
|
import com.bsd.say.beans.AjaxResult;
|
||||||
import com.bsd.say.entities.Users;
|
import com.bsd.say.entities.Users;
|
||||||
|
|
||||||
public interface UsersService extends BaseService<Users>{
|
public interface UsersService extends BaseService<Users>{
|
||||||
|
AjaxResult sendNote(AjaxRequest ajaxRequest);
|
||||||
|
|
||||||
|
AjaxResult confirmNote(AjaxRequest ajaxRequest);
|
||||||
}
|
}
|
||||||
|
@ -1,20 +1,102 @@
|
|||||||
package com.bsd.say.service.impl;
|
package com.bsd.say.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.bsd.say.beans.AjaxRequest;
|
||||||
|
import com.bsd.say.beans.AjaxResult;
|
||||||
import com.bsd.say.entities.Coupon;
|
import com.bsd.say.entities.Coupon;
|
||||||
|
import com.bsd.say.entities.Users;
|
||||||
import com.bsd.say.mapper.CouponMapper;
|
import com.bsd.say.mapper.CouponMapper;
|
||||||
|
import com.bsd.say.mapper.UsersMapper;
|
||||||
import com.bsd.say.service.CouponService;
|
import com.bsd.say.service.CouponService;
|
||||||
|
import com.bsd.say.util.HttpRequestUtils;
|
||||||
|
import com.bsd.say.util.MD5Utils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
@Service("couponService")
|
@Service("couponService")
|
||||||
@Transactional
|
@Transactional
|
||||||
public class CouponServiceImpl extends BaseServiceImpl<CouponMapper, Coupon> implements CouponService {
|
public class CouponServiceImpl extends BaseServiceImpl<CouponMapper, Coupon> implements CouponService {
|
||||||
|
|
||||||
|
@Value("${bsd.addCouponUrl}")
|
||||||
|
private String addCouponUrl;
|
||||||
|
@Value("${bsd.tokenkey}")
|
||||||
|
private String tokenkey;
|
||||||
|
@Resource
|
||||||
|
private UsersMapper usersMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
protected CouponMapper couponMapper;
|
protected CouponMapper couponMapper;
|
||||||
|
@Resource
|
||||||
|
private RedisTemplate redisTemplate;
|
||||||
@Override
|
@Override
|
||||||
public CouponMapper getBaseMapper() {
|
public CouponMapper getBaseMapper() {
|
||||||
return this.couponMapper;
|
return this.couponMapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领取优惠券
|
||||||
|
* @param ajaxRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public AjaxResult receiveCoupon(AjaxRequest ajaxRequest) {
|
||||||
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
AjaxResult ajaxResult = new AjaxResult();
|
||||||
|
JSONObject data = ajaxRequest.getData();
|
||||||
|
if (data == null){
|
||||||
|
ajaxResult.setRetmsg("DATA MISSING");
|
||||||
|
ajaxResult.setRetcode(AjaxResult.FAILED);
|
||||||
|
return ajaxResult;
|
||||||
|
}else {
|
||||||
|
String phone = data.getString("phone");
|
||||||
|
String code = data.getString("code");
|
||||||
|
String receiverName = data.getString("receiverName");
|
||||||
|
if (StringUtils.isEmpty(phone)||StringUtils.isEmpty(code)){
|
||||||
|
ajaxResult.setRetcode(AjaxResult.FAILED);
|
||||||
|
ajaxResult.setRetmsg("PHONE OR CODE MISSING");
|
||||||
|
return ajaxResult;
|
||||||
|
}else {
|
||||||
|
if (code.equals(redisTemplate.opsForValue().get(phone))){
|
||||||
|
String token = MD5Utils.md5(tokenkey+df.format(new Date()));
|
||||||
|
//验证成功,领券
|
||||||
|
JSONObject request = new JSONObject();
|
||||||
|
request.put("mobileNo",phone);
|
||||||
|
request.put("couponsGroupNo","Q00001326");
|
||||||
|
String url = addCouponUrl + token;
|
||||||
|
try {
|
||||||
|
String result = HttpRequestUtils.sendPost(url,request);
|
||||||
|
JSONObject resultJson = JSONObject.parseObject(result);
|
||||||
|
if (resultJson.getBoolean("success")){
|
||||||
|
Coupon coupon = new Coupon();
|
||||||
|
Users users = usersMapper.selectOne(Wrappers.<Users>lambdaQuery().eq(Users::getPhone,phone)
|
||||||
|
.and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1)));
|
||||||
|
coupon.setUserId(users.getId());
|
||||||
|
coupon.setReceiverName(receiverName);
|
||||||
|
couponMapper.insert(coupon);
|
||||||
|
ajaxResult.setRetmsg("SUCCESS");
|
||||||
|
ajaxResult.setRetcode(AjaxResult.SUCCESS);
|
||||||
|
}else {
|
||||||
|
ajaxResult.setRetcode(AjaxResult.FAILED);
|
||||||
|
ajaxResult.setRetmsg(resultJson.getString("errorMessage"));
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
ajaxResult.setRetcode(AjaxResult.FAILED);
|
||||||
|
ajaxResult.setRetmsg("ERROR CODE");
|
||||||
|
}
|
||||||
|
return ajaxResult;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
package com.bsd.say.util;
|
||||||
|
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by zhuyaoyao on 2016/12/26.
|
||||||
|
*/
|
||||||
|
public class MD5Utils {
|
||||||
|
|
||||||
|
public static String md5(String str) {
|
||||||
|
|
||||||
|
MessageDigest md5;
|
||||||
|
try {
|
||||||
|
md5 = MessageDigest.getInstance("MD5");
|
||||||
|
byte[] md5Bytes = md5.digest(str.getBytes());
|
||||||
|
StringBuffer hexValue = new StringBuffer();
|
||||||
|
for (int i = 0; i < md5Bytes.length; i++) {
|
||||||
|
int val = ((int) md5Bytes[i]) & 0xff;
|
||||||
|
if (val < 16)
|
||||||
|
hexValue.append("0");
|
||||||
|
hexValue.append(Integer.toHexString(val));
|
||||||
|
}
|
||||||
|
str = hexValue.toString();
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue