抽奖功能

master
ck 5 years ago
parent 29aeaefaba
commit 58aedd1a69

@ -8,11 +8,14 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("award-list")
public class AwardListController extends BaseController<AwardListService, AwardList>{
@Resource
private AwardListService awardListService;
@Override
public AwardListService getBaseService() {
return super.getBaseService();
@ -32,4 +35,18 @@ public class AwardListController extends BaseController<AwardListService, AwardL
System.out.println(ajaxResult);
return ajaxResult;
}
@RequestMapping("award")
public AjaxResult award(@RequestBody AjaxRequest ajaxRequest){
AjaxResult ajaxResult = new AjaxResult();
try {
ajaxResult = awardListService.award(ajaxRequest);
} catch (Exception e) {
e.printStackTrace();
String errMsg = e.getMessage() != null ? e.getMessage() : "操作失败";
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg(errMsg);
}
return ajaxResult;
}
}

@ -21,6 +21,16 @@ public class AwardList extends BaseEntity{
*/
private String awardName;
/**
*
*/
private String awardUrl;
/**
*
*/
private Integer awardNumber;
/**
*
*/

@ -29,5 +29,5 @@ public class BaseEntity {
timezone = "GMT+8"
)
private Date updateDateTime;
private int state;
private int state = 1;
}

@ -3,9 +3,9 @@ package com.bsd.say.entities;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@TableName("user")
@TableName("users")
@Data
public class User extends BaseEntity{
public class Users extends BaseEntity{
/**
*
*/

@ -6,4 +6,5 @@ import org.springframework.stereotype.Repository;
@Repository("awardListMapper")
public interface AwardListMapper extends BaseMapper<AwardList> {
AwardList selectByMaxId();
}

@ -0,0 +1,9 @@
package com.bsd.say.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bsd.say.entities.Users;
import org.springframework.stereotype.Repository;
@Repository("usersMapper")
public interface UsersMapper extends BaseMapper<Users> {
}

@ -1,6 +1,9 @@
package com.bsd.say.service;
import com.bsd.say.beans.AjaxRequest;
import com.bsd.say.beans.AjaxResult;
import com.bsd.say.entities.AwardList;
public interface AwardListService extends BaseService<AwardList>{
AjaxResult award(AjaxRequest ajaxRequest);
}

@ -0,0 +1,6 @@
package com.bsd.say.service;
import com.bsd.say.entities.Users;
public interface UsersService extends BaseService<Users>{
}

@ -1,15 +1,24 @@
package com.bsd.say.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.bsd.say.beans.AjaxRequest;
import com.bsd.say.beans.AjaxResult;
import com.bsd.say.entities.AwardList;
import com.bsd.say.mapper.AwardListMapper;
import com.bsd.say.service.AwardListService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
@Service("awardListService")
@Transactional
public class AwardListServiceImpl extends BaseServiceImpl<AwardListMapper, AwardList> implements AwardListService {
@Value("${award.rule}")
private Integer rule;
@Autowired
protected AwardListMapper awardListMapper;
@ -17,4 +26,50 @@ public class AwardListServiceImpl extends BaseServiceImpl<AwardListMapper, Award
public AwardListMapper getBaseMapper() {
return this.awardListMapper;
}
/**
*
* @param ajaxRequest
* @return
*/
@Override
public AjaxResult award(AjaxRequest ajaxRequest) {
synchronized(this){
AjaxResult ajaxResult = new AjaxResult();
JSONObject data = ajaxRequest.getData();
if (data == null){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("DATA MISSING");
return ajaxResult;
}else {
Integer userId = data.getInteger("userId");
if (userId == null){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("USERID MISSING");
return ajaxResult;
}else {
AwardList maxIdAward = awardListMapper.selectByMaxId();
Integer newAwardNumner = maxIdAward.getAwardNumber()+ 1;
AwardList awardList = new AwardList();
awardList.setUserId(userId);
awardList.setAwardNumber(newAwardNumner);
awardList.setCreateDateTime(new Date());
awardList.setUpdateDateTime(new Date());
//中大奖
if (newAwardNumner % rule == 0){
awardList.setAwardName("波司登羽绒服");
awardList.setAwardType(1);
ajaxResult.setRetmsg("恭喜中一等奖,羽绒服");
}else {
awardList.setAwardName("波司登优惠券");
awardList.setAwardType(2);
ajaxResult.setRetmsg("恭喜中二等奖,优惠券");
}
awardListMapper.insert(awardList);
}
}
ajaxResult.setRetcode(AjaxResult.SUCCESS);
return ajaxResult;
}
}
}

@ -0,0 +1,20 @@
package com.bsd.say.service.impl;
import com.bsd.say.entities.Users;
import com.bsd.say.mapper.UsersMapper;
import com.bsd.say.service.UsersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service("usersService")
@Transactional
public class UsersServiceImpl extends BaseServiceImpl<UsersMapper,Users> implements UsersService {
@Autowired
protected UsersMapper usersMapper;
@Override
public UsersMapper getBaseMapper() {
return this.usersMapper;
}
}

@ -39,6 +39,9 @@ logging:
server:
port: 8082
award:
rule: 5
### 上传文件路径
#upload:
# excel:

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bsd.say.mapper.AwardListMapper">
<select id="selectByMaxId" resultType="com.bsd.say.entities.AwardList">
select `id`,`user_id`,`award_type`,`award_name`,`award_url`,`award_number`,`province`,`city`,`area`,`address`,
`create_date_time`,`update_date_time`,`state` from award_list
where id = (SELECT max(id) FROM award_list where state = 1)
</select>
</mapper>
Loading…
Cancel
Save