Commit 7cc127bc by 阮思源

Merge branch 'feat-1002623' into 'master'

1002623小睿好友

See merge request rays/pcloud-book!610
parents 8d9b72d2 2585a8e1
...@@ -632,4 +632,6 @@ public interface BookBiz { ...@@ -632,4 +632,6 @@ public interface BookBiz {
* 根据isbn模糊匹配,获得所有book_id * 根据isbn模糊匹配,获得所有book_id
*/ */
List<Long> getBookIdsByIsbn(String isbn); List<Long> getBookIdsByIsbn(String isbn);
BookDto getAdviserBook(Long bookId, Long adviserId, Long channelId);
} }
...@@ -1985,6 +1985,25 @@ public class BookBizImpl implements BookBiz { ...@@ -1985,6 +1985,25 @@ public class BookBizImpl implements BookBiz {
return pageBeanNew; return pageBeanNew;
} }
@ParamLog("获取书刊")
@Override
public BookDto getAdviserBook(Long bookId, Long adviserId, Long channelId) {
if (bookId==null||adviserId==null||channelId==null){
throw new BookBizException(BookBizException.PARAM_IS_NULL,"参数有误");
}
Map<String, Object> paramMap = Maps.newHashMap();
paramMap.put("bookId", bookId);
paramMap.put("adviserId", adviserId);
paramMap.put("channelId", channelId);
BookDto bookDto = bookDao.getById(paramMap);
if (bookDto == null) {
return new BookDto();
}
// 设置模板名字
bookSet.setTemplateName(bookDto);
return bookDto;
}
@ParamLog("填充书刊信息") @ParamLog("填充书刊信息")
private void fillBookInfo(List<BookDto> list) { private void fillBookInfo(List<BookDto> list) {
if (ListUtils.isEmpty(list)){ if (ListUtils.isEmpty(list)){
......
...@@ -712,4 +712,12 @@ public interface BookFacade { ...@@ -712,4 +712,12 @@ public interface BookFacade {
@RequestParam(value = "startDate", required = false) @ApiParam("开始日期") String startDate, @RequestParam(value = "startDate", required = false) @ApiParam("开始日期") String startDate,
@RequestParam(value = "endDate", required = false) @ApiParam("结束日期") String endDate @RequestParam(value = "endDate", required = false) @ApiParam("结束日期") String endDate
) throws PermissionException, JsonParseException, BizException; ) throws PermissionException, JsonParseException, BizException;
@ApiOperation("获取书刊")
@GetMapping("getAdviserBook")
ResponseDto<?> getAdviserBook(
@RequestParam(value = "bookId") Long bookId,
@RequestParam(value = "adviserId") Long adviserId,
@RequestParam(value = "channelId") Long channelId
) throws BizException, PermissionException;
} }
...@@ -978,4 +978,15 @@ public class BookFacadeImpl implements BookFacade { ...@@ -978,4 +978,15 @@ public class BookFacadeImpl implements BookFacade {
PageBeanNew<BookDto> pageBean = bookBiz.getBookAndServeList4Channel(currentPage,numPerPage,channelId,name,isFundSupport,startDate,endDate); PageBeanNew<BookDto> pageBean = bookBiz.getBookAndServeList4Channel(currentPage,numPerPage,channelId,name,isFundSupport,startDate,endDate);
return new ResponseDto<>(pageBean); return new ResponseDto<>(pageBean);
} }
@ApiOperation("获取书刊")
@GetMapping("getAdviserBook")
@Override
public ResponseDto<?> getAdviserBook(
@RequestParam(value = "bookId") Long bookId,
@RequestParam(value = "adviserId") Long adviserId,
@RequestParam(value = "channelId") Long channelId
) throws BizException, PermissionException {
return new ResponseDto<>(bookBiz.getAdviserBook(bookId,adviserId,channelId));
}
} }
\ No newline at end of file
...@@ -2,9 +2,13 @@ package com.pcloud.book.cultivate.biz; ...@@ -2,9 +2,13 @@ package com.pcloud.book.cultivate.biz;
import com.pcloud.book.book.vo.SearchBookVO; import com.pcloud.book.book.vo.SearchBookVO;
import com.pcloud.book.cultivate.dto.CreateCultivateDTO; import com.pcloud.book.cultivate.dto.CreateCultivateDTO;
import com.pcloud.book.cultivate.dto.CultivateDTO;
import com.pcloud.book.cultivate.dto.EnergyConsumptionDTO; import com.pcloud.book.cultivate.dto.EnergyConsumptionDTO;
import com.pcloud.book.cultivate.dto.FishBallConversionDTO; import com.pcloud.book.cultivate.dto.FishBallConversionDTO;
import com.pcloud.book.cultivate.dto.FishBallPickDTO; import com.pcloud.book.cultivate.dto.FishBallPickDTO;
import com.pcloud.book.cultivate.dto.FriendDTO;
import com.pcloud.book.cultivate.dto.GiveEnergyDTO;
import com.pcloud.book.cultivate.dto.HoldSeatDTO;
import com.pcloud.book.cultivate.dto.SkillUseDTO; import com.pcloud.book.cultivate.dto.SkillUseDTO;
import com.pcloud.book.cultivate.entity.Cultivate; import com.pcloud.book.cultivate.entity.Cultivate;
import com.pcloud.book.cultivate.entity.CultivateBookUser; import com.pcloud.book.cultivate.entity.CultivateBookUser;
...@@ -54,4 +58,28 @@ public interface CultivateBiz { ...@@ -54,4 +58,28 @@ public interface CultivateBiz {
CultivateBookUser getLastCultivateBookUser(Long wechatUserId); CultivateBookUser getLastCultivateBookUser(Long wechatUserId);
PageBeanNew<SearchBookVO> getBookSearchRecord(Long wechatUserId, Integer currentPage, Integer numPerPage); PageBeanNew<SearchBookVO> getBookSearchRecord(Long wechatUserId, Integer currentPage, Integer numPerPage);
List<FriendDTO> getFriendList(Long cultivateId);
void giveEnergy(GiveEnergyDTO giveEnergyDTO);
//占座
void holdSeat(HoldSeatDTO holdSeatDTO);
//踢人
void kickPeople(HoldSeatDTO holdSeatDTO);
//退出
Integer signOut(HoldSeatDTO holdSeatDTO);
//找回 返回好友养成id
Long getBack(Long cultivateId);
//占座好友
List<FriendDTO> getHoldSeatFriend(Long cultivateId);
//判断占座之前是否在学习中
Boolean beforeHoldSeat(Long cultivateId);
CultivateDTO getCultivateBaseInfo(Long cultivateId);
} }
...@@ -23,4 +23,8 @@ public class CultivateConstant { ...@@ -23,4 +23,8 @@ public class CultivateConstant {
public static final Integer sixth_MEDAL_STAR=500; public static final Integer sixth_MEDAL_STAR=500;
public static final Integer seventh_MEDAL_STAR=1000; public static final Integer seventh_MEDAL_STAR=1000;
public static final Integer eighth_MEDAL_STAR=2000;
public static final Double HOLD_SEAT_PROPORTION =0.3D;
} }
...@@ -9,4 +9,10 @@ public interface CultivateDao extends BaseDao<Cultivate> { ...@@ -9,4 +9,10 @@ public interface CultivateDao extends BaseDao<Cultivate> {
Cultivate getByWechatUserId(Long wechatUserId); Cultivate getByWechatUserId(Long wechatUserId);
List<Cultivate> getAllOrderByStar(); List<Cultivate> getAllOrderByStar();
void updateIsHome(Integer isHome,Long cultivateId);
List<Cultivate> getRandomUserId(Long cultivateId,Long friendCultivateId);
List<Cultivate> getByCultivateIds(List<Long> cultivateIds);
} }
package com.pcloud.book.cultivate.dao;
import com.pcloud.book.cultivate.entity.CultivateHoldSeat;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
public interface CultivateHoldSeatDao extends BaseDao<CultivateHoldSeat> {
void deleteById(Long cultivateId,Long friendCultivateId);
List<Long> getCultivateIdByFriendId(Long friendCultivateId);
Long getFriendCultivateIdById(Long cultivateId);
CultivateHoldSeat getById(Long cultivateId,Long friendCultivateId);
}
...@@ -2,7 +2,6 @@ package com.pcloud.book.cultivate.dao; ...@@ -2,7 +2,6 @@ package com.pcloud.book.cultivate.dao;
import com.pcloud.book.cultivate.entity.CultivateRecord; import com.pcloud.book.cultivate.entity.CultivateRecord;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
import com.pcloud.common.page.PageBeanNew;
import java.util.List; import java.util.List;
...@@ -16,4 +15,7 @@ public interface CultivateRecordDao extends BaseDao<CultivateRecord> { ...@@ -16,4 +15,7 @@ public interface CultivateRecordDao extends BaseDao<CultivateRecord> {
CultivateRecord getLastLighten(Long wechatUserId, Long cultivateId); CultivateRecord getLastLighten(Long wechatUserId, Long cultivateId);
CultivateRecord getLastEnergyConsumptionBefore(Long cultivateRecordId, Long wechatUserId); CultivateRecord getLastEnergyConsumptionBefore(Long cultivateRecordId, Long wechatUserId);
List<CultivateRecord> getHoldSeatFriendList(Long cultivateId, Long lastLightenRecordId);
} }
...@@ -5,7 +5,9 @@ import com.pcloud.book.cultivate.entity.Cultivate; ...@@ -5,7 +5,9 @@ import com.pcloud.book.cultivate.entity.Cultivate;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
@Component("cultivateDao") @Component("cultivateDao")
public class CultivateDaoImpl extends BaseDaoImpl<Cultivate> implements CultivateDao { public class CultivateDaoImpl extends BaseDaoImpl<Cultivate> implements CultivateDao {
...@@ -18,4 +20,27 @@ public class CultivateDaoImpl extends BaseDaoImpl<Cultivate> implements Cultivat ...@@ -18,4 +20,27 @@ public class CultivateDaoImpl extends BaseDaoImpl<Cultivate> implements Cultivat
public List<Cultivate> getAllOrderByStar() { public List<Cultivate> getAllOrderByStar() {
return getSessionTemplate().selectList(getStatement("getAllOrderByStar")); return getSessionTemplate().selectList(getStatement("getAllOrderByStar"));
} }
@Override
public void updateIsHome(Integer isHome, Long cultivateId) {
Map<String,Object> map=new HashMap<>();
map.put("isHome",isHome);
map.put("cultivateId",cultivateId);
super.getSessionTemplate().update(getStatement("updateIsHome"),map);
}
@Override
public List<Cultivate> getRandomUserId(Long cultivateId,Long friendCultivateId) {
Map<String,Object> map=new HashMap<>();
map.put("cultivateId",cultivateId);
map.put("friendCultivateId",friendCultivateId);
return super.getSessionTemplate().selectList(getStatement("getRandomUserId"),map);
}
@Override
public List<Cultivate> getByCultivateIds(List<Long> cultivateIds) {
Map<String,Object> map=new HashMap<>();
map.put("cultivateIds",cultivateIds);
return super.getSessionTemplate().selectList(getStatement("getByCultivateIds"),map);
}
} }
package com.pcloud.book.cultivate.dao.impl;
import com.pcloud.book.cultivate.dao.CultivateHoldSeatDao;
import com.pcloud.book.cultivate.entity.CultivateHoldSeat;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Component("cultivateHoldSeatDao")
public class CultivateHoldSeatDaoImpl extends BaseDaoImpl<CultivateHoldSeat> implements CultivateHoldSeatDao {
@Override
public void deleteById(Long cultivateId,Long friendCultivateId) {
Map<String,Object> map=new HashMap<>();
map.put("cultivateId",cultivateId);
map.put("friendCultivateId",friendCultivateId);
super.getSqlSession().update(getStatement("deleteById"), map);
}
@Override
public List<Long> getCultivateIdByFriendId(Long friendCultivateId) {
Map<String,Object> map=new HashMap<>();
map.put("friendCultivateId",friendCultivateId);
return super.getSqlSession().selectList(getStatement("getCultivateIdByFriendId"), map);
}
@Override
public Long getFriendCultivateIdById(Long cultivateId) {
Map<String,Object> map=new HashMap<>();
map.put("cultivateId",cultivateId);
return super.getSqlSession().selectOne(getStatement("getFriendCultivateIdById"), map);
}
@Override
public CultivateHoldSeat getById(Long cultivateId, Long friendCultivateId) {
Map<String,Object> map=new HashMap<>();
map.put("cultivateId",cultivateId);
map.put("friendCultivateId",friendCultivateId);
return super.getSqlSession().selectOne(getStatement("getById"), map);
}
}
...@@ -5,6 +5,7 @@ import com.pcloud.book.cultivate.entity.CultivateRecord; ...@@ -5,6 +5,7 @@ import com.pcloud.book.cultivate.entity.CultivateRecord;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -51,4 +52,12 @@ public class CultivateRecordDaoImpl extends BaseDaoImpl<CultivateRecord> impleme ...@@ -51,4 +52,12 @@ public class CultivateRecordDaoImpl extends BaseDaoImpl<CultivateRecord> impleme
return super.getSqlSession().selectOne(getStatement("getLastEnergyConsumptionBefore"), map); return super.getSqlSession().selectOne(getStatement("getLastEnergyConsumptionBefore"), map);
} }
@Override
public List<CultivateRecord> getHoldSeatFriendList(Long cultivateId, Long lastLightenRecordId) {
Map<String,Object> map=new HashMap<>();
map.put("cultivateId",cultivateId);
map.put("lastLightenRecordId",lastLightenRecordId);
return super.getSqlSession().selectList(getStatement("getHoldSeatFriendList"), map);
}
} }
package com.pcloud.book.cultivate.dto;
import com.pcloud.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("小睿基本信息")
public class CultivateDTO extends BaseEntity {
@ApiModelProperty("用户id")
private Long wechatUserId;
@ApiModelProperty("能量")
private Integer energy;
@ApiModelProperty("银两")
private Integer fishBall;
@ApiModelProperty("书币")
private Integer star;
@ApiModelProperty("是否点亮")
private Boolean lighten;
@ApiModelProperty("是否在家")
private Boolean isHome;
@ApiModelProperty("等级")
private Integer level;
@ApiModelProperty("排序用")
private Integer seq;
@ApiModelProperty("用户头像")
private String picUrl;
}
package com.pcloud.book.cultivate.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
@Data
public class DealHoldSeatFriendFishBallDTO {
@ApiModelProperty("养成id")
private Long cultivateId;
@ApiModelProperty("自己还剩银两")
private Integer ownHasFishBall;
@ApiModelProperty("占座好友应该分得的银两Map")
private Map<Long,Double> friendFishBallMap;
}
package com.pcloud.book.cultivate.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class FriendDTO {
@ApiModelProperty("养成id")
private Long cultivateId;
@ApiModelProperty("用户微信id")
private Long wechatUserId;
@ApiModelProperty("用户头像")
private String headPic;
@ApiModelProperty("用户等级")
private Integer level;
@ApiModelProperty("占位")
private Boolean inSeat;
}
package com.pcloud.book.cultivate.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class GiveEnergyDTO {
@ApiModelProperty("养成id")
private Long cultivateId;
@ApiModelProperty("好友养成id")
private Long friendCultivateId;
@ApiModelProperty("能量数")
private Integer energy;
}
package com.pcloud.book.cultivate.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class HoldSeatDTO {
@ApiModelProperty("占座人Id")
private Long cultivateId;
@ApiModelProperty("被占座人Id")
private Long friendCultivateId;
}
package com.pcloud.book.cultivate.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class HoldTimeDTO {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("开始占座时间")
private Date startHold;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("结束占座时间")
private Date endHold;
@ApiModelProperty("好友id")
private Long friendCultivateId;
@ApiModelProperty("是否还在")
private Boolean stay;
}
...@@ -17,13 +17,22 @@ public class Cultivate extends BaseEntity { ...@@ -17,13 +17,22 @@ public class Cultivate extends BaseEntity {
@ApiModelProperty("能量") @ApiModelProperty("能量")
private Integer energy; private Integer energy;
@ApiModelProperty("鱼丸") @ApiModelProperty("银两")
private Integer fishBall; private Integer fishBall;
@ApiModelProperty("星星") @ApiModelProperty("书币")
private Integer star; private Integer star;
@ApiModelProperty("是否点亮") @ApiModelProperty("是否点亮")
private Boolean lighten; private Boolean lighten;
@ApiModelProperty("是否在家")
private Boolean isHome;
@ApiModelProperty("等级")
private Integer level;
@ApiModelProperty("排序用")
private Integer seq;
} }
package com.pcloud.book.cultivate.entity;
import com.pcloud.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("占座")
public class CultivateHoldSeat extends BaseEntity {
@ApiModelProperty("占座人Id")
private Long cultivateId;
@ApiModelProperty("被占座人Id")
private Long friendCultivateId;
}
...@@ -21,7 +21,7 @@ public class CultivateRecord extends BaseEntity { ...@@ -21,7 +21,7 @@ public class CultivateRecord extends BaseEntity {
@ApiModelProperty("用户id") @ApiModelProperty("用户id")
private Long wechatUserId; private Long wechatUserId;
@ApiModelProperty("动态类型(1鱼丸获取2点亮3熄灭4升级5使用能量值6使用技能7鱼丸兑换星星)") @ApiModelProperty("动态类型(1银两获取2点亮3熄灭4升级5使用能量值6使用技能7银两兑换书币)")
private Integer changeType; private Integer changeType;
@ApiModelProperty("备注信息") @ApiModelProperty("备注信息")
...@@ -30,13 +30,13 @@ public class CultivateRecord extends BaseEntity { ...@@ -30,13 +30,13 @@ public class CultivateRecord extends BaseEntity {
@ApiModelProperty("能量变化") @ApiModelProperty("能量变化")
private Integer energyChange; private Integer energyChange;
@ApiModelProperty("鱼丸变化") @ApiModelProperty("银两变化")
private Integer fishBallChange; private Integer fishBallChange;
@ApiModelProperty("鱼丸变化类型:1用户自己收,2熄灯之后系统自动收取") @ApiModelProperty("银两变化类型:1用户自己收,2熄灯之后系统自动收取")
private Integer fishBallChangeType; private Integer fishBallChangeType;
@ApiModelProperty("星星变化") @ApiModelProperty("书币变化")
private Integer starChange; private Integer starChange;
@ApiModelProperty("使用技能类型") @ApiModelProperty("使用技能类型")
...@@ -48,4 +48,7 @@ public class CultivateRecord extends BaseEntity { ...@@ -48,4 +48,7 @@ public class CultivateRecord extends BaseEntity {
) )
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
private Date createTime; private Date createTime;
@ApiModelProperty("好友养成id")
private Long friendCultivateId;
} }
...@@ -2,11 +2,11 @@ package com.pcloud.book.cultivate.enums; ...@@ -2,11 +2,11 @@ package com.pcloud.book.cultivate.enums;
public enum CultivateChangeTypeEnum { public enum CultivateChangeTypeEnum {
//1鱼丸获取2点亮3熄灭4升级5使用能量值6使用技能7鱼丸兑换星星 //1银两获取2点亮3熄灭4升级5使用能量值6使用技能7银两兑换书币,(鱼丸=银两,星星=书币)
/** /**
* 鱼丸获取 * 银两获取
*/ */
GET_FISH_BALL(1, "鱼丸获取"), GET_FISH_BALL(1, "银两获取"),
/** /**
* 点亮 * 点亮
...@@ -29,9 +29,48 @@ public enum CultivateChangeTypeEnum { ...@@ -29,9 +29,48 @@ public enum CultivateChangeTypeEnum {
*/ */
USE_SKILL(6,"使用技能"), USE_SKILL(6,"使用技能"),
/** /**
* 鱼丸兑换星星 * 银两兑换书币
*/ */
FISH_BALL_CONVERT_STAR(7,"鱼丸兑换星星"); FISH_BALL_CONVERT_STAR(7,"银两兑换书币"),
/**
* 赠送能量给好友
*/
GIVE_ENERGY_TO_FRIEND(8,"赠送能量给好友"),
/**
* 被好友赠送能量
*/
GET_ENERGY_BY_FRIEND(9,"被好友赠送能量"),
/**
* 占好友座位
*/
HOLD_FRIEND_SEAT(10,"占好友座位"),
/**
* 被好友占座(我)
*/
HOLD_SEAT_BY_FRIEND(11,"被好友占座"),
/**
* 退出好友座位
*/
EXIT_FRIEND_SEAT(12,"退出好友座位"),
/**
* 好友退出我的座位(我)
*/
FRIEND_EXIT_SEAT(13,"好友退出我的座位"),
/**
* 将好友踢出座位(我)
*/
KICK_OUT_FRIEND_BY_SELF(14,"将好友踢出座位"),
/**
* 被好友踢出座位
*/
KICK_OUT_BY_FRIEND(15,"被好友踢出座位"),
/**
* 占座好友灯熄灭
*/
FRIEND_LIGHTS_OUT(16,"占座好友灯熄灭");
public final Integer code; public final Integer code;
......
...@@ -8,7 +8,19 @@ public enum FishBallChangeTypeEnum { ...@@ -8,7 +8,19 @@ public enum FishBallChangeTypeEnum {
/** /**
* 2熄灯之后系统自动收取 * 2熄灯之后系统自动收取
*/ */
AUTO_CHANGE(2); AUTO_CHANGE(2),
/**
* 退出好友座位获取银两
*/
EXIT_FRIEND_SEAT_CHANGE(3),
/**
* 被占座好友踢走获取银两
*/
KICK_OUT_BY_FRIEND_CHANGE(4),
/**
* 占座好友熄灯获取到的银两
*/
FRIEND_LIGHTS_OUT_CHANGE(5);
public final Integer value; public final Integer value;
......
...@@ -6,6 +6,8 @@ import com.pcloud.book.cultivate.dto.CreateCultivateDTO; ...@@ -6,6 +6,8 @@ import com.pcloud.book.cultivate.dto.CreateCultivateDTO;
import com.pcloud.book.cultivate.dto.EnergyConsumptionDTO; import com.pcloud.book.cultivate.dto.EnergyConsumptionDTO;
import com.pcloud.book.cultivate.dto.FishBallConversionDTO; import com.pcloud.book.cultivate.dto.FishBallConversionDTO;
import com.pcloud.book.cultivate.dto.FishBallPickDTO; import com.pcloud.book.cultivate.dto.FishBallPickDTO;
import com.pcloud.book.cultivate.dto.GiveEnergyDTO;
import com.pcloud.book.cultivate.dto.HoldSeatDTO;
import com.pcloud.book.cultivate.dto.SkillUseDTO; import com.pcloud.book.cultivate.dto.SkillUseDTO;
import com.pcloud.book.cultivate.entity.CultivateBookUser; import com.pcloud.book.cultivate.entity.CultivateBookUser;
import com.pcloud.book.cultivate.entity.CultivateRobotClassify; import com.pcloud.book.cultivate.entity.CultivateRobotClassify;
...@@ -13,12 +15,10 @@ import com.pcloud.common.dto.ResponseDto; ...@@ -13,12 +15,10 @@ import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.permission.PermissionException; import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.NumberUtil; import com.pcloud.common.utils.NumberUtil;
import com.pcloud.common.utils.cookie.Cookie;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -72,10 +72,10 @@ public class CultivateFacade { ...@@ -72,10 +72,10 @@ public class CultivateFacade {
return new ResponseDto<>(); return new ResponseDto<>();
} }
@ApiOperation("鱼丸兑换") @ApiOperation("银两兑换")
@PostMapping("/fishBallConversion") @PostMapping("/fishBallConversion")
public ResponseDto<?> fishBallConversion( public ResponseDto<?> fishBallConversion(
@RequestBody @ApiParam("鱼丸兑换") FishBallConversionDTO fishBallConversionDTO @RequestBody @ApiParam("银两兑换") FishBallConversionDTO fishBallConversionDTO
) throws BizException, PermissionException { ) throws BizException, PermissionException {
cultivateBiz.fishBallConversion(fishBallConversionDTO); cultivateBiz.fishBallConversion(fishBallConversionDTO);
return new ResponseDto<>(); return new ResponseDto<>();
...@@ -84,7 +84,7 @@ public class CultivateFacade { ...@@ -84,7 +84,7 @@ public class CultivateFacade {
@ApiOperation("新增技能使用记录") @ApiOperation("新增技能使用记录")
@PostMapping("/addUseSkillRecord") @PostMapping("/addUseSkillRecord")
public ResponseDto<?> addUseSkillRecord( public ResponseDto<?> addUseSkillRecord(
@RequestBody @ApiParam("鱼丸兑换") SkillUseDTO skillUseDTO @RequestBody @ApiParam("技能使用") SkillUseDTO skillUseDTO
) throws BizException, PermissionException { ) throws BizException, PermissionException {
Long wechatUserId=skillUseDTO.getWechatUserId(); Long wechatUserId=skillUseDTO.getWechatUserId();
cultivateBiz.addUseSkillRecord(wechatUserId,skillUseDTO); cultivateBiz.addUseSkillRecord(wechatUserId,skillUseDTO);
...@@ -92,16 +92,16 @@ public class CultivateFacade { ...@@ -92,16 +92,16 @@ public class CultivateFacade {
} }
@ApiOperation("鱼丸摘取") @ApiOperation("银两摘取")
@PostMapping("/fishBallPick") @PostMapping("/fishBallPick")
public ResponseDto<?> fishBallPick( public ResponseDto<?> fishBallPick(
@RequestBody @ApiParam("鱼丸摘取") FishBallPickDTO fishBallPickDTO @RequestBody @ApiParam("银两摘取") FishBallPickDTO fishBallPickDTO
) throws BizException, PermissionException { ) throws BizException, PermissionException {
cultivateBiz.fishBallPick(fishBallPickDTO); cultivateBiz.fishBallPick(fishBallPickDTO);
return new ResponseDto<>(); return new ResponseDto<>();
} }
@ApiOperation("待摘取鱼丸数量获取") @ApiOperation("待摘取银两数量获取")
@GetMapping("/getFishBallNotPick") @GetMapping("/getFishBallNotPick")
public ResponseDto<?> getFishBallNotPick( public ResponseDto<?> getFishBallNotPick(
@RequestParam("cultivateId") @ApiParam("养成id") Long cultivateId @RequestParam("cultivateId") @ApiParam("养成id") Long cultivateId
...@@ -190,5 +190,83 @@ public class CultivateFacade { ...@@ -190,5 +190,83 @@ public class CultivateFacade {
return new ResponseDto<>(cultivateBiz.getBookSearchRecord(wechatUserId,currentPage,numPerPage)); return new ResponseDto<>(cultivateBiz.getBookSearchRecord(wechatUserId,currentPage,numPerPage));
} }
@ApiOperation("获取好友列表")
@GetMapping("/getFriendList")
public ResponseDto<?> getFriendList(
@RequestParam("cultivateId") @ApiParam("养成id") Long cultivateId
) throws BizException, PermissionException {
if(!NumberUtil.isNumber(cultivateId)){
throw new BizException(BizException.PARAM_IS_NULL.getCode(), "cultivateId 不能为空");
}
return new ResponseDto<>(cultivateBiz.getFriendList(cultivateId));
}
@ApiOperation("能量赠送")
@PostMapping("/giveEnergy")
public ResponseDto<?> giveEnergy(
@RequestBody @ApiParam("养成id") GiveEnergyDTO giveEnergyDTO
) throws BizException, PermissionException {
cultivateBiz.giveEnergy(giveEnergyDTO);
return new ResponseDto<>();
}
@ApiOperation("占位之前判断是否要切换占座")
@GetMapping("/beforeHoldSeat")
public ResponseDto<?> beforeHoldSeat(
@RequestParam("cultivateId") @ApiParam("养成id") Long cultivateId
) throws BizException, PermissionException {
return new ResponseDto<>(cultivateBiz.beforeHoldSeat(cultivateId));
}
@ApiOperation("占位")
@PostMapping("/holdSeat")
public ResponseDto<?> holdSeat(
@RequestBody @ApiParam("占座") HoldSeatDTO holdSeatDTO
) throws BizException, PermissionException {
cultivateBiz.holdSeat(holdSeatDTO);
return new ResponseDto<>();
}
@ApiOperation("踢人")
@PostMapping("/kickPeople")
public ResponseDto<?> kickPeople(
@RequestBody @ApiParam("踢人") HoldSeatDTO holdSeatDTO
) throws BizException, PermissionException {
cultivateBiz.kickPeople(holdSeatDTO);
return new ResponseDto<>();
}
@ApiOperation("退出")
@PostMapping("/signOut")
public ResponseDto<?> signOut(
@RequestBody @ApiParam("退出") HoldSeatDTO holdSeatDTO
) throws BizException, PermissionException {
Integer proFishBall = cultivateBiz.signOut(holdSeatDTO);
return new ResponseDto<>(proFishBall);
}
@ApiOperation("找回")
@GetMapping("/getBack")
public ResponseDto<?> getBack(
@RequestParam("cultivateId") @ApiParam("养成id") Long cultivateId
) throws BizException, PermissionException {
return new ResponseDto<>(cultivateBiz.getBack(cultivateId));
}
@ApiOperation("占座两个好友")
@GetMapping("/getHoldSeatFriend")
public ResponseDto<?> getHoldSeatFriend(
@RequestParam("cultivateId") @ApiParam("养成id") Long cultivateId
) throws BizException, PermissionException {
return new ResponseDto<>(cultivateBiz.getHoldSeatFriend(cultivateId));
}
@ApiOperation("获取养成基本信息")
@GetMapping("/getCultivateBaseInfo")
public ResponseDto<?> getCultivateBaseInfo(
@RequestParam("cultivateId") @ApiParam("养成id") Long cultivateId
) throws BizException, PermissionException {
return new ResponseDto<>(cultivateBiz.getCultivateBaseInfo(cultivateId));
}
} }
...@@ -33,4 +33,15 @@ public class ThreadPoolUtils { ...@@ -33,4 +33,15 @@ public class ThreadPoolUtils {
public static final ExecutorService SEND_MAOPAO_THREAD_POOL = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.SECONDS, public static final ExecutorService SEND_MAOPAO_THREAD_POOL = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.SECONDS,
new LinkedBlockingQueue<>(), new ThreadFactoryBuilder().setNameFormat("other-pool-%d").build(), new ThreadPoolExecutor.CallerRunsPolicy()); new LinkedBlockingQueue<>(), new ThreadFactoryBuilder().setNameFormat("other-pool-%d").build(), new ThreadPoolExecutor.CallerRunsPolicy());
/**
* 小程序小睿蹭光退出线程池
*/
public static final ExecutorService SIGN_OUT_THREAD_POOL = new ThreadPoolExecutor(5, 5, 0L, TimeUnit.SECONDS,
new LinkedBlockingQueue<>(), new ThreadFactoryBuilder().setNameFormat("sign-out-pool-%d").build(), new ThreadPoolExecutor.CallerRunsPolicy());
/**
* 其他线程池
*/
public static final ExecutorService OTHER_POOL = new ThreadPoolExecutor(8, 8, 0L, TimeUnit.SECONDS,
new LinkedBlockingQueue<>(), new ThreadFactoryBuilder().setNameFormat("other-pool-%d").build(), new ThreadPoolExecutor.CallerRunsPolicy());
} }
...@@ -5,8 +5,8 @@ server: ...@@ -5,8 +5,8 @@ server:
eureka: eureka:
instance: instance:
status-page-url-path: /book/v1.0/swagger-ui.html status-page-url-path: /book/v1.0/swagger-ui.html
# client: #client:
# register-with-eureka: false #禁止自己当做服务注册 #register-with-eureka: false #禁止自己当做服务注册
spring: spring:
application: application:
......
...@@ -8,12 +8,13 @@ ...@@ -8,12 +8,13 @@
<result column="fish_ball" property="fishBall" jdbcType="INTEGER" /> <result column="fish_ball" property="fishBall" jdbcType="INTEGER" />
<result column="star" property="star" jdbcType="INTEGER" /> <result column="star" property="star" jdbcType="INTEGER" />
<result column="lighten" property="lighten" jdbcType="BOOLEAN" /> <result column="lighten" property="lighten" jdbcType="BOOLEAN" />
<result column="is_home" property="isHome" jdbcType="BOOLEAN" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" /> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >
id, wechat_user_id, energy, fish_ball, star, lighten, create_time,update_time id, wechat_user_id, energy, fish_ball, star, lighten, create_time,update_time,is_home
</sql> </sql>
<insert id="insert" parameterType="com.pcloud.book.cultivate.entity.Cultivate" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="com.pcloud.book.cultivate.entity.Cultivate" useGeneratedKeys="true" keyProperty="id">
...@@ -25,7 +26,8 @@ ...@@ -25,7 +26,8 @@
star, star,
lighten, lighten,
create_time, create_time,
update_time update_time,
is_home
) )
values ( values (
#{wechatUserId}, #{wechatUserId},
...@@ -34,7 +36,8 @@ ...@@ -34,7 +36,8 @@
#{star}, #{star},
#{lighten}, #{lighten},
NOW(), NOW(),
NOW() NOW(),
1
) )
</insert> </insert>
...@@ -79,4 +82,38 @@ ...@@ -79,4 +82,38 @@
cultivate order by star desc cultivate order by star desc
</select> </select>
<select id="updateIsHome" parameterType="map">
update cultivate
set is_home=#{isHome}
where id=#{cultivateId}
</select>
<select id="getRandomUserId" parameterType="map" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"/> FROM cultivate
WHERE id >= (SELECT floor(RAND() * (SELECT count(1) FROM cultivate)))
and id!=#{cultivateId}
<if test="friendCultivateId !=null">
and id!=#{friendCultivateId}
ORDER BY lighten desc,id asc LIMIT 9
</if>
<if test="friendCultivateId ==null">
ORDER BY lighten desc,id asc LIMIT 10
</if>
</select>
<select id="getByCultivateIds" parameterType="map" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
cultivate
where id IN
<foreach collection="cultivateIds" open="(" close=")" separator="," item="item">
#{item}
</foreach>
group by id
</select>
</mapper> </mapper>
\ No newline at end of file
<?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.pcloud.book.cultivate.dao.impl.CultivateHoldSeatDaoImpl" >
<resultMap id="BaseResultMap" type="com.pcloud.book.cultivate.entity.CultivateHoldSeat" >
<id column="id" property="id" jdbcType="BIGINT" />
<result column="cultivate_id" property="cultivateId" jdbcType="BIGINT" />
<result column="friend_cultivate_id" property="friendCultivateId" jdbcType="BIGINT" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
</resultMap>
<sql id="Base_Column_List" >
id, cultivate_id, friend_cultivate_id, create_time,update_time
</sql>
<insert id="insert" parameterType="com.pcloud.book.cultivate.entity.CultivateHoldSeat" useGeneratedKeys="true" keyProperty="id">
insert into cultivate_hold_seat
(
cultivate_id,
friend_cultivate_id,
create_time,
update_time
)
values (
#{cultivateId},
#{friendCultivateId},
NOW(),
NOW()
)
</insert>
<select id="deleteById" parameterType="map">
DELETE from cultivate_hold_seat
WHERE cultivate_id=#{cultivateId}
and friend_cultivate_id=#{friendCultivateId}
</select>
<select id="getCultivateIdByFriendId" parameterType="map" resultType="long">
SELECT DISTINCT cultivate_id
FROM cultivate_hold_seat
where friend_cultivate_id=#{friendCultivateId}
</select>
<select id="getFriendCultivateIdById" parameterType="map" resultType="long">
select friend_cultivate_id from cultivate_hold_seat
where cultivate_id=#{cultivateId}
limit 1
</select>
<select id="getById" parameterType="map" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from cultivate_hold_seat
where cultivate_id=#{cultivateId}
and friend_cultivate_id=#{friendCultivateId}
limit 1
</select>
</mapper>
\ No newline at end of file
...@@ -13,18 +13,19 @@ ...@@ -13,18 +13,19 @@
<result column="star_change" property="starChange" jdbcType="INTEGER" /> <result column="star_change" property="starChange" jdbcType="INTEGER" />
<result column="skill_type" property="skillType" jdbcType="INTEGER" /> <result column="skill_type" property="skillType" jdbcType="INTEGER" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="friend_cultivate_id" property="friendCultivateId" jdbcType="BIGINT" />
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >
id, cultivate_id, wechat_user_id, change_type, remark, energy_change, fish_ball_change, fish_ball_change_type, star_change, skill_type, create_time id, cultivate_id, wechat_user_id, change_type, remark, energy_change, fish_ball_change, fish_ball_change_type, star_change, skill_type, create_time, friend_cultivate_id
</sql> </sql>
<insert id="insert" parameterType="com.pcloud.book.cultivate.entity.CultivateRecord" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="com.pcloud.book.cultivate.entity.CultivateRecord" useGeneratedKeys="true" keyProperty="id">
insert into cultivate_record (cultivate_id, wechat_user_id, change_type, insert into cultivate_record (cultivate_id, wechat_user_id, change_type,
remark, energy_change, fish_ball_change, fish_ball_change_type,star_change, skill_type, create_time remark, energy_change, fish_ball_change, fish_ball_change_type,star_change, skill_type, create_time,friend_cultivate_id
) )
values (#{cultivateId},#{wechatUserId},#{changeType},#{remark},#{energyChange},#{fishBallChange},#{fishBallChangeType}, values (#{cultivateId},#{wechatUserId},#{changeType},#{remark},#{energyChange},#{fishBallChange},#{fishBallChangeType},
#{starChange}, #{skillType}, NOW() #{starChange}, #{skillType}, NOW(),#{friendCultivateId}
) )
</insert> </insert>
...@@ -107,6 +108,15 @@ ...@@ -107,6 +108,15 @@
limit 1 limit 1
</select> </select>
<select id="getHoldSeatFriendList" parameterType="map" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from cultivate_record
where cultivate_id = #{cultivateId}
and id > #{lastLightenRecordId}
and change_type in (11,13,14)
and friend_cultivate_id is not null
</select>
<select id="getBookSearchRecord" parameterType="map" resultType="com.pcloud.book.book.vo.SearchBookVO"> <select id="getBookSearchRecord" parameterType="map" resultType="com.pcloud.book.book.vo.SearchBookVO">
select a.id,a.content,a.book_id bookId ,b.book_name bookName,a.agent_id agentId,c.SECOND_TEMPLET_ID secondTempletId,b.publish ,c.ADVISER_ID adviserId select a.id,a.content,a.book_id bookId ,b.book_name bookName,a.agent_id agentId,c.SECOND_TEMPLET_ID secondTempletId,b.publish ,c.ADVISER_ID adviserId
,a.create_time createTime,b.author,b.COVER_IMG coverImg ,a.create_time createTime,b.author,b.COVER_IMG coverImg
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment