Antiloveg 8 anni fa
parent
commit
336afdeca5

+ 2 - 0
schema/20170722-alter-activityUser2.sql

@@ -0,0 +1,2 @@
+ALTER TABLE `activity_user` 
+add COLUMN `last_update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录最后更改时间';

+ 40 - 0
src/main/java/com/goafanti/activityUser/controller/UserActivityUserApiController.java

@@ -0,0 +1,40 @@
+package com.goafanti.activityUser.controller;
+
+import javax.annotation.Resource;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.goafanti.activityUser.service.ActivityUserService;
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.constant.ErrorConstants;
+import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.common.model.ActivityUser;
+import com.goafanti.core.shiro.token.TokenManager;
+
+@RestController
+@RequestMapping(value = "/api/user/activity")
+public class UserActivityUserApiController extends BaseApiController {
+	@Resource
+	private ActivityUserService activityUserService;
+	
+	/**
+	 * 报名
+	 */
+	@RequestMapping(value = "/signUp", method = RequestMethod.POST)
+	public Result signUp(Long aid){
+		Result res = new Result();
+		if (null == aid) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "活动ID"));
+			return res;
+		}
+		ActivityUser au = activityUserService.selectByUid(TokenManager.getUserId());
+		if (null == au){
+			activityUserService.save(aid);
+		} else {
+			activityUserService.update(au);
+		}
+		return res;
+	}
+}

+ 13 - 0
src/main/java/com/goafanti/activityUser/service/ActivityUserService.java

@@ -0,0 +1,13 @@
+package com.goafanti.activityUser.service;
+
+import com.goafanti.common.model.ActivityUser;
+
+public interface ActivityUserService {
+
+	ActivityUser selectByUid(String userId);
+
+	void save(Long aid);
+
+	int update(ActivityUser au);
+
+}

+ 42 - 0
src/main/java/com/goafanti/activityUser/service/impl/ActivityUserServiceImpl.java

@@ -0,0 +1,42 @@
+package com.goafanti.activityUser.service.impl;
+
+import java.util.Calendar;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.goafanti.activityUser.service.ActivityUserService;
+import com.goafanti.common.dao.ActivityUserMapper;
+import com.goafanti.common.model.ActivityUser;
+import com.goafanti.core.shiro.token.TokenManager;
+@Service
+public class ActivityUserServiceImpl implements ActivityUserService {
+	
+	@Autowired
+	private ActivityUserMapper activityUserMapper;
+	@Override
+	public ActivityUser selectByUid(String uid) {
+		return activityUserMapper.selectByUid(uid);
+	}
+
+	@Override
+	public void save(Long aid) {
+		ActivityUser au = new ActivityUser();
+		au.setAid(aid);
+		au.setUid(TokenManager.getUserId());
+		Calendar now = Calendar.getInstance();
+		now.set(Calendar.MILLISECOND, 0);
+		au.setCreateTime(now.getTime());
+		au.setLastUpdateTime(au.getCreateTime());
+		activityUserMapper.insert(au);
+	}
+
+	@Override
+	public int update(ActivityUser au) {
+		Calendar now = Calendar.getInstance();
+		now.set(Calendar.MILLISECOND, 0);
+		au.setLastUpdateTime(now.getTime());
+		return activityUserMapper.updateByPrimaryKey(au);
+	}
+
+}

+ 20 - 0
src/main/java/com/goafanti/common/dao/ActivityUserMapper.java

@@ -0,0 +1,20 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.ActivityUser;
+import com.goafanti.common.model.ActivityUserKey;
+
+public interface ActivityUserMapper {
+    int deleteByPrimaryKey(ActivityUserKey key);
+
+    int insert(ActivityUser record);
+
+    int insertSelective(ActivityUser record);
+
+    ActivityUser selectByPrimaryKey(ActivityUserKey key);
+
+    int updateByPrimaryKeySelective(ActivityUser record);
+
+    int updateByPrimaryKey(ActivityUser record);
+
+	ActivityUser selectByUid(String uid);
+}

+ 56 - 0
src/main/java/com/goafanti/common/enums/ActivityStatus.java

@@ -0,0 +1,56 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+
+public enum ActivityStatus {
+	
+	ENROLL(0, "报名中"),
+	CLOSED(1,"结束"),
+	OTHER(2, "其他");
+
+	private ActivityStatus(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	private static Map<Integer, ActivityStatus> status = new HashMap<Integer, ActivityStatus>();
+
+	static {
+		for (ActivityStatus value : ActivityStatus.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+
+	public static ActivityStatus getStatus(Integer code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+
+	public static ActivityStatus getStatus(String code) {
+		if (StringUtils.isNumeric(code)) {
+			return getStatus(Integer.parseInt(code));
+		}
+		return OTHER;
+	}
+
+	public static boolean containsType(Integer code) {
+		return status.containsKey(code);
+	}
+
+	private Integer	code;
+	private String	desc;
+
+	public Integer getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}

+ 82 - 0
src/main/java/com/goafanti/common/mapper/ActivityUserMapper.xml

@@ -0,0 +1,82 @@
+<?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.goafanti.common.dao.ActivityUserMapper" >
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.ActivityUser" >
+    <id column="aid" property="aid" jdbcType="BIGINT" />
+    <id column="uid" property="uid" jdbcType="VARCHAR" />
+    <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
+    <result column="last_update_time" property="lastUpdateTime" jdbcType="TIMESTAMP" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    aid, uid, create_time, last_update_time
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="com.goafanti.common.model.ActivityUserKey" >
+    select 
+    <include refid="Base_Column_List" />
+    from activity_user
+    where aid = #{aid,jdbcType=BIGINT}
+      and uid = #{uid,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="com.goafanti.common.model.ActivityUserKey" >
+    delete from activity_user
+    where aid = #{aid,jdbcType=BIGINT}
+      and uid = #{uid,jdbcType=VARCHAR}
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.ActivityUser" >
+    insert into activity_user (aid, uid, create_time, 
+      last_update_time)
+    values (#{aid,jdbcType=BIGINT}, #{uid,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
+      #{lastUpdateTime,jdbcType=TIMESTAMP})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.ActivityUser" >
+    insert into activity_user
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="aid != null" >
+        aid,
+      </if>
+      <if test="uid != null" >
+        uid,
+      </if>
+      <if test="createTime != null" >
+        create_time,
+      </if>
+      <if test="lastUpdateTime != null" >
+        last_update_time,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="aid != null" >
+        #{aid,jdbcType=BIGINT},
+      </if>
+      <if test="uid != null" >
+        #{uid,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null" >
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="lastUpdateTime != null" >
+        #{lastUpdateTime,jdbcType=TIMESTAMP},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.ActivityUser" >
+    update activity_user
+    <set >
+      <if test="createTime != null" >
+        create_time = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="lastUpdateTime != null" >
+        last_update_time = #{lastUpdateTime,jdbcType=TIMESTAMP},
+      </if>
+    </set>
+    where aid = #{aid,jdbcType=BIGINT}
+      and uid = #{uid,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.ActivityUser" >
+    update activity_user
+    set create_time = #{createTime,jdbcType=TIMESTAMP},
+      last_update_time = #{lastUpdateTime,jdbcType=TIMESTAMP}
+    where aid = #{aid,jdbcType=BIGINT}
+      and uid = #{uid,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 15 - 0
src/main/java/com/goafanti/common/model/Activity.java

@@ -7,6 +7,7 @@ import org.apache.commons.lang3.time.DateFormatUtils;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat.Shape;
 import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.enums.ActivityStatus;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 public class Activity {
@@ -267,4 +268,18 @@ public class Activity {
 	public void setEnrollDeadlineFormattedDate(String enrollDeadlineFormattedDate) {
 
 	}
+	
+	public Integer getActivityStatus(){
+		if (this.endTime == null){
+			return ActivityStatus.ENROLL.getCode();
+		} 
+		if (new Date().getTime() > this.endTime.getTime()){
+			return ActivityStatus.CLOSED.getCode();
+		}
+		return ActivityStatus.ENROLL.getCode();
+	}
+	
+	public void setActivityStatus(Integer activityStatus){
+		
+	}
 }

+ 31 - 0
src/main/java/com/goafanti/common/model/ActivityUser.java

@@ -0,0 +1,31 @@
+package com.goafanti.common.model;
+
+import java.util.Date;
+
+public class ActivityUser extends ActivityUserKey {
+    /**
+    * 报名时间
+    */
+    private Date createTime;
+
+    /**
+    * 记录最后更改时间
+    */
+    private Date lastUpdateTime;
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getLastUpdateTime() {
+        return lastUpdateTime;
+    }
+
+    public void setLastUpdateTime(Date lastUpdateTime) {
+        this.lastUpdateTime = lastUpdateTime;
+    }
+}

+ 29 - 0
src/main/java/com/goafanti/common/model/ActivityUserKey.java

@@ -0,0 +1,29 @@
+package com.goafanti.common.model;
+
+public class ActivityUserKey {
+    /**
+    * 活动id
+    */
+    private Long aid;
+
+    /**
+    * 用户ID
+    */
+    private String uid;
+
+    public Long getAid() {
+        return aid;
+    }
+
+    public void setAid(Long aid) {
+        this.aid = aid;
+    }
+
+    public String getUid() {
+        return uid;
+    }
+
+    public void setUid(String uid) {
+        this.uid = uid;
+    }
+}

+ 2 - 2
src/main/java/com/goafanti/user/controller/UserApiController.java

@@ -11,12 +11,12 @@ import javax.validation.Valid;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Controller;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 
 import com.goafanti.cognizance.bo.InputOrgHumanResource;
 import com.goafanti.cognizance.service.OrgRatepayService;
@@ -76,7 +76,7 @@ import com.goafanti.user.service.UserIdentityService;
 import com.goafanti.user.service.UserInfoService;
 import com.goafanti.user.service.UserService;
 
-@Controller
+@RestController
 @RequestMapping(value = "/api/user")
 public class UserApiController extends BaseApiController {
 	@Resource