Authored by zhaoqing

Merge branch 'dev-limitqueue-6.7' into test6.7

... ... @@ -17,4 +17,6 @@ public interface ProductLimitUserHelpMapper {
List<LimitProductHelpUserRespBO> selectHelpInfoByUidAndCode(@Param("list") List<Integer> uidList, @Param("limitProductCode") String limitProductCode);
Integer selectExistHelpInfo(@Param("helpUserId") String helpUserId, @Param("limitProductCode") String limitProductCode);
void addShareInfo(LimitProductHelpUser limitProductHelpUser);
}
... ...
... ... @@ -11,6 +11,15 @@ public class LimitProductHelpUser {
private String helpUserImgUrl;
private String limitProductCode;
private Integer createTime;
private String isShare;
public String getIsShare() {
return isShare;
}
public void setIsShare(String isShare) {
this.isShare = isShare;
}
public Integer getId() {
return id;
... ...
... ... @@ -8,10 +8,11 @@
<result column="help_user_name" property="helpUserName" jdbcType="VARCHAR" />
<result column="help_user_img_url" property="helpUserImgUrl" jdbcType="VARCHAR" />
<result column="limit_product_code" property="limitProductCode" jdbcType="VARCHAR" />
<result column="is_share" property="isShare" jdbcType="VARCHAR" />
<result column="create_time" property="createTime" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List" >
id, user_id, help_user_id,help_user_name,help_user_img_url,limit_product_code,create_time
id, user_id, help_user_id,help_user_name,help_user_img_url,limit_product_code,is_share,create_time
</sql>
<select id="selectHelpInfo" resultMap="BaseResultMap">
... ... @@ -29,6 +30,13 @@
)
</insert>
<insert id="addShareInfo" parameterType="com.yoho.activity.dal.model.LimitProductHelpUser">
insert into limit_product_help_user (user_id,limit_product_code,is_share,create_time)
values (#{userId,jdbcType=INTEGER}, #{limitProductCode,jdbcType=VARCHAR}, #{isShare,jdbcType=VARCHAR},
#{createTime,jdbcType=INTEGER}
)
</insert>
<select id="selectHelpInfoByUidAndCode" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
... ...
... ... @@ -3,6 +3,7 @@ package com.yoho.activity.queue.restapi;
import com.yoho.activity.queue.ApiResponse;
import com.yoho.activity.queue.service.IProductLimitUserHelpService;
import com.yoho.service.model.activity.drawline.request.LimitProductHelpUserRequestBO;
import com.yoho.service.model.activity.drawline.response.LimitProductHelpUserListBO;
import com.yoho.service.model.activity.drawline.response.LimitProductHelpUserRespBO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
... ... @@ -35,7 +36,7 @@ public class ProductLimitUserHelpRest {
if(null == limitProductHelpUserRequestBO.getUserId() || null == limitProductHelpUserRequestBO.getLimitProductCode()){
return new ApiResponse.ApiResponseBuilder().code(400).message("用户Id或限定商品Code不可为空").build();
}
List<LimitProductHelpUserRespBO> limitProductHelpUserList = iProductLimitUserHelpService.queryHelpInfo(limitProductHelpUserRequestBO);
LimitProductHelpUserListBO limitProductHelpUserList = iProductLimitUserHelpService.queryHelpInfo(limitProductHelpUserRequestBO);
return new ApiResponse.ApiResponseBuilder().code(200).data(limitProductHelpUserList).message("获取助力用户信息成功").build();
}
... ... @@ -58,4 +59,22 @@ public class ProductLimitUserHelpRest {
logger.info("ProductLimitUserHelpRest addHelpUserInfo success");
return new ApiResponse.ApiResponseBuilder().code(200).message("用户助力成功").build();
}
@RequestMapping(params = "method=app.limitProduct.addShareInfo")
@ResponseBody
public ApiResponse addShareInfo(LimitProductHelpUserRequestBO limitProductHelpUserRequestBO) {
logger.info("ProductLimitUserHelpRest addShareInfo params is{}", limitProductHelpUserRequestBO);
if (null == limitProductHelpUserRequestBO){
logger.info("ProductLimitUserHelpRest addShareInfo params can not null");
return new ApiResponse.ApiResponseBuilder().code(400).message("入参不可为空").build();
}
if (null == limitProductHelpUserRequestBO.getUserId() || null == limitProductHelpUserRequestBO.getLimitProductCode() || null == limitProductHelpUserRequestBO.getIsShare()){
logger.info("ProductLimitUserHelpRest addShareInfo missing params ");
return new ApiResponse.ApiResponseBuilder().code(400).message("入参不完整,缺少入参").build();
}
iProductLimitUserHelpService.addShareInfo(limitProductHelpUserRequestBO);
logger.info("ProductLimitUserHelpRest addShareInfo success");
return new ApiResponse.ApiResponseBuilder().code(200).message("用户增加是否分享信息成功").build();
}
}
... ...
package com.yoho.activity.queue.service;
import com.yoho.service.model.activity.drawline.request.LimitProductHelpUserRequestBO;
import com.yoho.service.model.activity.drawline.response.LimitProductHelpUserListBO;
import com.yoho.service.model.activity.drawline.response.LimitProductHelpUserRespBO;
import java.util.List;
... ... @@ -9,9 +10,11 @@ import java.util.List;
* Created by qing.zhao on 2018/6/14.
*/
public interface IProductLimitUserHelpService {
List<LimitProductHelpUserRespBO> queryHelpInfo(LimitProductHelpUserRequestBO limitProductHelpUserRequestBO);
LimitProductHelpUserListBO queryHelpInfo(LimitProductHelpUserRequestBO limitProductHelpUserRequestBO);
void addHelpUserInfo(LimitProductHelpUserRequestBO limitProductHelpUserRequestBO);
Boolean judgeHelpUserExist(LimitProductHelpUserRequestBO limitProductHelpUserRequestBO);
void addShareInfo(LimitProductHelpUserRequestBO limitProductHelpUserRequestBO);
}
... ...
... ... @@ -35,31 +35,33 @@ public class ProductLimitUserHelpServiceImpl implements IProductLimitUserHelpSer
@Autowired
private IDrawlineList2MapService drawlineList2MapService;
@Override
public List<LimitProductHelpUserRespBO> queryHelpInfo(LimitProductHelpUserRequestBO limitProductHelpUserRequestBO) {
public LimitProductHelpUserListBO queryHelpInfo(LimitProductHelpUserRequestBO limitProductHelpUserRequestBO) {
//先走缓存,缓存没有再走库里捞
String redisKeySuffix = limitProductHelpUserRequestBO.getUserId() + ":" + limitProductHelpUserRequestBO.getLimitProductCode();
LimitProductHelpUserListBO limitProductHelpUserListBO = redisValueCache.get(CacheKeyEnum.LIMIT_USER_HELP_INFO, redisKeySuffix, LimitProductHelpUserListBO.class);
if (null != limitProductHelpUserListBO){
logger.info("ProductLimitUserHelpServiceImpl :: queryHelpInfo getCache result is{}",limitProductHelpUserListBO);
return limitProductHelpUserListBO.getList();
return limitProductHelpUserListBO;
}
List<LimitProductHelpUser> limitProductHelpUserList = productLimitUserHelpMapper.selectHelpInfo(limitProductHelpUserRequestBO.getUserId(),limitProductHelpUserRequestBO.getLimitProductCode());
if (CollectionUtils.isEmpty(limitProductHelpUserList)){
logger.info("ProductLimitUserHelpServiceImpl :: queryHelpInfo result is null");
return null;
}
List<LimitProductHelpUserRespBO> limitProductHelpUserRespBOList = modelToBo(limitProductHelpUserList);
limitProductHelpUserListBO = new LimitProductHelpUserListBO();
List<LimitProductHelpUserRespBO> limitProductHelpUserRespBOList = modelToBo(limitProductHelpUserList,limitProductHelpUserListBO);
//获取用户头像
getUserInfo(limitProductHelpUserRequestBO.getUserId(), limitProductHelpUserRespBOList);
limitProductHelpUserListBO = new LimitProductHelpUserListBO();
limitProductHelpUserListBO.setList(limitProductHelpUserRespBOList);
redisValueCache.set(CacheKeyEnum.LIMIT_USER_HELP_INFO, redisKeySuffix, limitProductHelpUserListBO, 300, TimeUnit.SECONDS);
return limitProductHelpUserListBO.getList();
return limitProductHelpUserListBO;
}
private List<LimitProductHelpUserRespBO> modelToBo(List<LimitProductHelpUser> limitProductHelpUserList) {
private List<LimitProductHelpUserRespBO> modelToBo(List<LimitProductHelpUser> limitProductHelpUserList,LimitProductHelpUserListBO limitProductHelpUserListBO) {
List<LimitProductHelpUserRespBO> list = new ArrayList<>();
limitProductHelpUserListBO.setIsShare("N");
for (LimitProductHelpUser limitUser : limitProductHelpUserList){
if (null != limitUser && limitUser.getIsShare().equals("N")){
LimitProductHelpUserRespBO bo = new LimitProductHelpUserRespBO();
bo.setUserId(limitUser.getUserId());
bo.setHelpUserId(limitUser.getHelpUserId());
... ... @@ -67,6 +69,10 @@ public class ProductLimitUserHelpServiceImpl implements IProductLimitUserHelpSer
bo.setHelpUserName(limitUser.getHelpUserName());
bo.setLimitProductCode(limitUser.getLimitProductCode());
list.add(bo);
}else if (null != limitUser && limitUser.getIsShare().equals("Y")){
limitProductHelpUserListBO.setIsShare("Y");
}
}
return list;
}
... ... @@ -104,6 +110,19 @@ public class ProductLimitUserHelpServiceImpl implements IProductLimitUserHelpSer
return false;
}
@Override
public void addShareInfo(LimitProductHelpUserRequestBO limitProductHelpUserRequestBO) {
LimitProductHelpUser limitProductHelpUser = new LimitProductHelpUser();
limitProductHelpUser.setUserId(limitProductHelpUserRequestBO.getUserId());
limitProductHelpUser.setLimitProductCode(limitProductHelpUserRequestBO.getLimitProductCode());
limitProductHelpUser.setIsShare(limitProductHelpUserRequestBO.getIsShare());
limitProductHelpUser.setCreateTime(DateUtils.getCurrentTimeSecond());
productLimitUserHelpMapper.addShareInfo(limitProductHelpUser);
//清除缓存
String redisKeySuffix = limitProductHelpUserRequestBO.getUserId() + ":" + limitProductHelpUserRequestBO.getLimitProductCode();
redisValueCache.delete(CacheKeyEnum.LIMIT_USER_HELP_INFO, redisKeySuffix);
}
private LimitProductHelpUser converToModel(LimitProductHelpUserRequestBO limitProductHelpUserRequestBO) {
LimitProductHelpUser limitProductHelpUser = new LimitProductHelpUser();
limitProductHelpUser.setUserId(limitProductHelpUserRequestBO.getUserId());
... ...