Commit e553fc2e by 阮思源

Merge branch 'zyj-1001921' into 'master'

猜谜语自定义优惠券

See merge request rays/pcloud-book!235
parents a95dcf17 c46d5408
...@@ -18,7 +18,11 @@ public enum RiddleClickTypeEnum { ...@@ -18,7 +18,11 @@ public enum RiddleClickTypeEnum {
/** /**
* 立即使用 * 立即使用
*/ */
use(3); use(3),
/**
* 自定义优惠券立即领取
*/
get_coupon(4);
private Integer code; private Integer code;
......
...@@ -3,7 +3,9 @@ package com.pcloud.book.riddle.biz; ...@@ -3,7 +3,9 @@ package com.pcloud.book.riddle.biz;
import com.pcloud.book.riddle.dto.CouponClickDTO; import com.pcloud.book.riddle.dto.CouponClickDTO;
import com.pcloud.book.riddle.dto.GroupRedisDTO; import com.pcloud.book.riddle.dto.GroupRedisDTO;
import com.pcloud.book.riddle.dto.GroupRiddleDTO; import com.pcloud.book.riddle.dto.GroupRiddleDTO;
import com.pcloud.book.riddle.dto.RiddleCouponDTO;
import com.pcloud.book.riddle.entity.RiddleClickRecord; import com.pcloud.book.riddle.entity.RiddleClickRecord;
import com.pcloud.book.riddle.entity.RiddleCoupon;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.wechatgroup.message.dto.SendTextDTO; import com.pcloud.wechatgroup.message.dto.SendTextDTO;
...@@ -91,4 +93,24 @@ public interface RiddleRecordBiz { ...@@ -91,4 +93,24 @@ public interface RiddleRecordBiz {
* @return * @return
*/ */
CouponClickDTO getGroupWishCount(String wxGroupId, Long wechatUserId); CouponClickDTO getGroupWishCount(String wxGroupId, Long wechatUserId);
/**
* 添加自定义优惠券
* @param riddleCoupon
*/
void addCoupon(RiddleCoupon riddleCoupon, Long adviserId);
/**
* 编辑查看猜谜语自定义优惠券
* @param adviserId
* @return
*/
RiddleCouponDTO getByAdviser(Long adviserId);
/**
* 用户查看猜谜语自定义优惠券
* @param wxGroupId
* @return
*/
RiddleCouponDTO getCouponByGroup(String wxGroupId);
} }
...@@ -2,21 +2,26 @@ package com.pcloud.book.riddle.biz.impl; ...@@ -2,21 +2,26 @@ package com.pcloud.book.riddle.biz.impl;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr; import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.biz.BookGroupClassifyBiz;
import com.pcloud.book.group.biz.GroupQrcodeBiz; import com.pcloud.book.group.biz.GroupQrcodeBiz;
import com.pcloud.book.group.dao.GroupQrcodeDao; import com.pcloud.book.group.dao.GroupQrcodeDao;
import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.group.entity.GroupQrcode; import com.pcloud.book.group.entity.GroupQrcode;
import com.pcloud.book.riddle.biz.RiddleRecordBiz; import com.pcloud.book.riddle.biz.RiddleRecordBiz;
import com.pcloud.book.riddle.constants.RiddleConstant; import com.pcloud.book.riddle.constants.RiddleConstant;
import com.pcloud.book.riddle.dao.RiddleClickRecordDao; import com.pcloud.book.riddle.dao.RiddleClickRecordDao;
import com.pcloud.book.riddle.dao.RiddleCouponDao;
import com.pcloud.book.riddle.dao.RiddleDao; import com.pcloud.book.riddle.dao.RiddleDao;
import com.pcloud.book.riddle.dao.RiddleRecordDao; import com.pcloud.book.riddle.dao.RiddleRecordDao;
import com.pcloud.book.riddle.dao.RiddleReplyDao; import com.pcloud.book.riddle.dao.RiddleReplyDao;
import com.pcloud.book.riddle.dto.CouponClickDTO; import com.pcloud.book.riddle.dto.CouponClickDTO;
import com.pcloud.book.riddle.dto.GroupRedisDTO; import com.pcloud.book.riddle.dto.GroupRedisDTO;
import com.pcloud.book.riddle.dto.GroupRiddleDTO; import com.pcloud.book.riddle.dto.GroupRiddleDTO;
import com.pcloud.book.riddle.dto.RiddleCouponDTO;
import com.pcloud.book.riddle.dto.UserRankingDTO; import com.pcloud.book.riddle.dto.UserRankingDTO;
import com.pcloud.book.riddle.entity.Riddle; import com.pcloud.book.riddle.entity.Riddle;
import com.pcloud.book.riddle.entity.RiddleClickRecord; import com.pcloud.book.riddle.entity.RiddleClickRecord;
import com.pcloud.book.riddle.entity.RiddleCoupon;
import com.pcloud.book.riddle.entity.RiddleRecord; import com.pcloud.book.riddle.entity.RiddleRecord;
import com.pcloud.book.riddle.enums.RiddleClickTypeEnum; import com.pcloud.book.riddle.enums.RiddleClickTypeEnum;
import com.pcloud.book.riddle.enums.RiddleRecordStatusEnum; import com.pcloud.book.riddle.enums.RiddleRecordStatusEnum;
...@@ -81,7 +86,10 @@ public class RiddleRecordBizImpl implements RiddleRecordBiz { ...@@ -81,7 +86,10 @@ public class RiddleRecordBizImpl implements RiddleRecordBiz {
private ScheduleService scheduleService; private ScheduleService scheduleService;
@Autowired @Autowired
private RiddleClickRecordDao riddleClickRecordDao; private RiddleClickRecordDao riddleClickRecordDao;
@Autowired
private RiddleCouponDao riddleCouponDao;
@Autowired
private BookGroupClassifyBiz bookGroupClassifyBiz;
@Override @Override
@ParamLog("猜谜语游戏过程") @ParamLog("猜谜语游戏过程")
...@@ -231,6 +239,8 @@ public class RiddleRecordBizImpl implements RiddleRecordBiz { ...@@ -231,6 +239,8 @@ public class RiddleRecordBizImpl implements RiddleRecordBiz {
Integer correctCount = riddleRecordDao.getCorrectCountByGroup(riddleDTO.getWxGroupId(), riddleRecord.getFinishCount()); Integer correctCount = riddleRecordDao.getCorrectCountByGroup(riddleDTO.getWxGroupId(), riddleRecord.getFinishCount());
riddleDTO.setCorrectCount(correctCount); riddleDTO.setCorrectCount(correctCount);
} }
Integer couponUserCount = riddleClickRecordDao.getUserCountByType(riddleDTO.getWxGroupId(), RiddleClickTypeEnum.get_coupon.getCode());
riddleDTO.setCouponUserCount(couponUserCount);
} }
return pageBeanNew; return pageBeanNew;
} }
...@@ -626,4 +636,46 @@ public class RiddleRecordBizImpl implements RiddleRecordBiz { ...@@ -626,4 +636,46 @@ public class RiddleRecordBizImpl implements RiddleRecordBiz {
dto.setRemainCount(remainCount); dto.setRemainCount(remainCount);
return dto; return dto;
} }
@Override
public void addCoupon(RiddleCoupon riddleCoupon, Long adviserId) {
if (!riddleCoupon.getStatus()){//关闭
riddleCouponDao.deleteByAdviser(adviserId);
}else {//开启
if (riddleCoupon.getZkFinalPrice().compareTo(riddleCoupon.getCouponPrice()) < 0) {
throw new BookBizException(BookBizException.ERROR, "原价小于优惠金额");
}
riddleCoupon.setAfterCouponPrice(riddleCoupon.getZkFinalPrice().subtract(riddleCoupon.getCouponPrice()).setScale(2));
RiddleCouponDTO couponDTO = riddleCouponDao.getByAdviser(adviserId);
if (null == couponDTO) {
riddleCoupon.setCreateUser(adviserId);
riddleCouponDao.insert(riddleCoupon);
} else {
riddleCoupon.setId(couponDTO.getId());
riddleCouponDao.update(riddleCoupon);
}
}
}
@Override
public RiddleCouponDTO getByAdviser(Long adviserId) {
RiddleCouponDTO couponDTO = riddleCouponDao.getByAdviser(adviserId);
if (null == couponDTO) {
couponDTO = new RiddleCouponDTO();
couponDTO.setStatus(false);
}
return couponDTO;
}
@Override
public RiddleCouponDTO getCouponByGroup(String wxGroupId) {
GroupClassifyQrcodeDTO groupClassifyQrcodeDTO = bookGroupClassifyBiz.getClassifyQrcodeInfo(wxGroupId);
if (null == groupClassifyQrcodeDTO) {
throw new BookBizException(BookBizException.ERROR, "该群不存在");
}
Long adviserId = groupClassifyQrcodeDTO.getAdviserId();
return getByAdviser(adviserId);
}
} }
...@@ -19,4 +19,12 @@ public interface RiddleClickRecordDao extends BaseDao<RiddleClickRecord> { ...@@ -19,4 +19,12 @@ public interface RiddleClickRecordDao extends BaseDao<RiddleClickRecord> {
* @return * @return
*/ */
Integer getCountByType(String wxGroupId, Long wechatUserId, Integer code); Integer getCountByType(String wxGroupId, Long wechatUserId, Integer code);
/**
* 领劵人数
* @param wxGroupId
* @param clickType
* @return
*/
Integer getUserCountByType(String wxGroupId, Integer clickType);
} }
package com.pcloud.book.riddle.dao;
import com.pcloud.book.riddle.dto.RiddleCouponDTO;
import com.pcloud.book.riddle.entity.RiddleCoupon;
import com.pcloud.common.core.dao.BaseDao;
/**
* @描述:自定义优惠券
* @作者:zhuyajie
* @创建时间:10:24 2019/11/7
* @版本:1.0
*/
public interface RiddleCouponDao extends BaseDao<RiddleCoupon> {
/**
* 根据编辑获取优惠券设置
* @param adviserId
* @return
*/
public RiddleCouponDTO getByAdviser(Long adviserId);
/**
* 删除自定义优惠券设置
* @param adviserId
*/
void deleteByAdviser(Long adviserId);
}
...@@ -26,4 +26,12 @@ public class RiddleClickRecordDaoImpl extends BaseDaoImpl<RiddleClickRecord> imp ...@@ -26,4 +26,12 @@ public class RiddleClickRecordDaoImpl extends BaseDaoImpl<RiddleClickRecord> imp
map.put("type", code); map.put("type", code);
return getSessionTemplate().selectOne(getStatement("getCountByType"), map); return getSessionTemplate().selectOne(getStatement("getCountByType"), map);
} }
@Override
public Integer getUserCountByType(String wxGroupId, Integer clickType) {
Map<String, Object> map = new HashMap<>();
map.put("wxGroupId", wxGroupId);
map.put("clickType", clickType);
return getSessionTemplate().selectOne(getStatement("getUserCountByType"), map);
}
} }
package com.pcloud.book.riddle.dao.impl;
import com.pcloud.book.riddle.dao.RiddleCouponDao;
import com.pcloud.book.riddle.dto.RiddleCouponDTO;
import com.pcloud.book.riddle.entity.RiddleCoupon;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
/**
* @描述:自定义优惠券
* @作者:zhuyajie
* @创建时间:10:24 2019/11/7
* @版本:1.0
*/
@Component("riddleCouponDao")
public class RiddleCouponDaoImpl extends BaseDaoImpl<RiddleCoupon> implements RiddleCouponDao {
@Override
public RiddleCouponDTO getByAdviser(Long adviserId) {
return getSessionTemplate().selectOne(getStatement("getByAdviser"), adviserId);
}
@Override
public void deleteByAdviser(Long adviserId) {
getSessionTemplate().delete(getStatement("deleteByAdviser"), adviserId);
}
}
...@@ -89,6 +89,11 @@ public class GroupRiddleDTO extends BaseDto{ ...@@ -89,6 +89,11 @@ public class GroupRiddleDTO extends BaseDto{
*/ */
private Integer finishCount; private Integer finishCount;
/**
* 领券人数
*/
private Integer couponUserCount;
public String getGroupName() { public String getGroupName() {
return groupName; return groupName;
} }
...@@ -233,6 +238,14 @@ public class GroupRiddleDTO extends BaseDto{ ...@@ -233,6 +238,14 @@ public class GroupRiddleDTO extends BaseDto{
this.finishCount = finishCount; this.finishCount = finishCount;
} }
public Integer getCouponUserCount() {
return couponUserCount;
}
public void setCouponUserCount(Integer couponUserCount) {
this.couponUserCount = couponUserCount;
}
@Override @Override
public String toString() { public String toString() {
return "GroupRiddleDTO{" + return "GroupRiddleDTO{" +
...@@ -253,6 +266,8 @@ public class GroupRiddleDTO extends BaseDto{ ...@@ -253,6 +266,8 @@ public class GroupRiddleDTO extends BaseDto{
", userNum=" + userNum + ", userNum=" + userNum +
", participateCount=" + participateCount + ", participateCount=" + participateCount +
", riddleOpen=" + riddleOpen + ", riddleOpen=" + riddleOpen +
", finishCount=" + finishCount +
", couponUserCount=" + couponUserCount +
'}'; '}';
} }
} }
package com.pcloud.book.riddle.dto;
import com.pcloud.common.dto.BaseDto;
import com.pcloud.common.entity.BaseEntity;
import java.math.BigDecimal;
import java.util.Date;
/**
* 猜谜语自定义优惠券
*/
public class RiddleCouponDTO extends BaseDto{
/**
* id
*/
private Long id;
/**
*商品名称
*/
private String title;
/**
*商品主图
*/
private String pictUrl;
/**
*商品原价
*/
private BigDecimal zkFinalPrice;
/**
*优惠券价格
*/
private BigDecimal couponPrice;
/**
*券后价
*/
private BigDecimal afterCouponPrice;
/**
*领取链接
*/
private String couponClickUrl;
/**
*类型(1:淘宝2:京东3:当当)
*/
private Integer type;
/**
*是否开启自定义优惠券
*/
private Boolean status;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title == null ? null : title.trim();
}
public String getPictUrl() {
return pictUrl;
}
public void setPictUrl(String pictUrl) {
this.pictUrl = pictUrl == null ? null : pictUrl.trim();
}
public BigDecimal getZkFinalPrice() {
return zkFinalPrice;
}
public void setZkFinalPrice(BigDecimal zkFinalPrice) {
this.zkFinalPrice = zkFinalPrice;
}
public BigDecimal getCouponPrice() {
return couponPrice;
}
public void setCouponPrice(BigDecimal couponPrice) {
this.couponPrice = couponPrice;
}
public BigDecimal getAfterCouponPrice() {
return afterCouponPrice;
}
public void setAfterCouponPrice(BigDecimal afterCouponPrice) {
this.afterCouponPrice = afterCouponPrice;
}
public String getCouponClickUrl() {
return couponClickUrl;
}
public void setCouponClickUrl(String couponClickUrl) {
this.couponClickUrl = couponClickUrl == null ? null : couponClickUrl.trim();
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Boolean getStatus() {
return status;
}
public void setStatus(Boolean status) {
this.status = status;
}
@Override
public String toString() {
return "RiddleCouponDTO{" +
"id=" + id +
", title='" + title + '\'' +
", pictUrl='" + pictUrl + '\'' +
", zkFinalPrice=" + zkFinalPrice +
", couponPrice=" + couponPrice +
", afterCouponPrice=" + afterCouponPrice +
", couponClickUrl='" + couponClickUrl + '\'' +
", type=" + type +
", status=" + status +
'}';
}
}
\ No newline at end of file
...@@ -20,7 +20,7 @@ public class RiddleClickRecord extends BaseEntity{ ...@@ -20,7 +20,7 @@ public class RiddleClickRecord extends BaseEntity{
@ApiModelProperty("微信用户id") @ApiModelProperty("微信用户id")
private Long wechatUserId; private Long wechatUserId;
@ApiModelProperty("点击类型(1点击链接2许愿3奖品立即使用)") @ApiModelProperty("点击类型(1点击链接2许愿3奖品立即使用4优惠券立即领取)")
private Integer clickType; private Integer clickType;
@JsonFormat( @JsonFormat(
......
package com.pcloud.book.riddle.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pcloud.common.entity.BaseEntity;
import java.math.BigDecimal;
import java.util.Date;
/**
* 猜谜语自定义优惠券
*/
public class RiddleCoupon extends BaseEntity{
/**
*商品名称
*/
private String title;
/**
*商品主图
*/
private String pictUrl;
/**
*商品原价
*/
private BigDecimal zkFinalPrice;
/**
*优惠券价格
*/
private BigDecimal couponPrice;
/**
*券后价
*/
private BigDecimal afterCouponPrice;
/**
*领取链接
*/
private String couponClickUrl;
/**
*类型(1:淘宝2:京东3:当当)
*/
private Integer type;
/**
*创建人
*/
private Long createUser;
/**
*创建时间
*/
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss",
timezone = "GMT+8"
)
private Date createTime;
/**
*修改时间
*/
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss",
timezone = "GMT+8"
)
private Date updateTime;
/**
*是否开启自定义优惠券
*/
private Boolean status;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title == null ? null : title.trim();
}
public String getPictUrl() {
return pictUrl;
}
public void setPictUrl(String pictUrl) {
this.pictUrl = pictUrl == null ? null : pictUrl.trim();
}
public BigDecimal getZkFinalPrice() {
return zkFinalPrice;
}
public void setZkFinalPrice(BigDecimal zkFinalPrice) {
this.zkFinalPrice = zkFinalPrice;
}
public BigDecimal getCouponPrice() {
return couponPrice;
}
public void setCouponPrice(BigDecimal couponPrice) {
this.couponPrice = couponPrice;
}
public BigDecimal getAfterCouponPrice() {
return afterCouponPrice;
}
public void setAfterCouponPrice(BigDecimal afterCouponPrice) {
this.afterCouponPrice = afterCouponPrice;
}
public String getCouponClickUrl() {
return couponClickUrl;
}
public void setCouponClickUrl(String couponClickUrl) {
this.couponClickUrl = couponClickUrl == null ? null : couponClickUrl.trim();
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Long getCreateUser() {
return createUser;
}
public void setCreateUser(Long createUser) {
this.createUser = createUser;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Boolean getStatus() {
return status;
}
public void setStatus(Boolean status) {
this.status = status;
}
}
\ No newline at end of file
...@@ -4,8 +4,10 @@ import com.pcloud.book.base.exception.BookBizException; ...@@ -4,8 +4,10 @@ import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.riddle.biz.RiddleRecordBiz; import com.pcloud.book.riddle.biz.RiddleRecordBiz;
import com.pcloud.book.riddle.dto.CouponClickDTO; import com.pcloud.book.riddle.dto.CouponClickDTO;
import com.pcloud.book.riddle.dto.GroupRiddleDTO; import com.pcloud.book.riddle.dto.GroupRiddleDTO;
import com.pcloud.book.riddle.dto.RiddleCouponDTO;
import com.pcloud.book.riddle.dto.RiddleOpenDTO; import com.pcloud.book.riddle.dto.RiddleOpenDTO;
import com.pcloud.book.riddle.entity.RiddleClickRecord; import com.pcloud.book.riddle.entity.RiddleClickRecord;
import com.pcloud.book.riddle.entity.RiddleCoupon;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.permission.PermissionException; import com.pcloud.common.permission.PermissionException;
...@@ -112,4 +114,44 @@ public class RiddleFacade { ...@@ -112,4 +114,44 @@ public class RiddleFacade {
CouponClickDTO dto = riddleRecordBiz.getGroupWishCount(wxGroupId,wechatUserId); CouponClickDTO dto = riddleRecordBiz.getGroupWishCount(wxGroupId,wechatUserId);
return new ResponseDto<>(dto); return new ResponseDto<>(dto);
} }
@ApiOperation(value = "新增/修改自定义优惠券", httpMethod = "POST")
@PostMapping("addCoupon")
public ResponseDto<?> addCoupon(@RequestHeader("token") String token, @RequestBody @ApiParam RiddleCoupon riddleCoupon) throws PermissionException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if (null == riddleCoupon) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "参数缺失");
}
if (null == riddleCoupon.getStatus()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "缺少是否开启自定义优惠券设置");
}
if (riddleCoupon.getStatus() && (StringUtil.isEmpty(riddleCoupon.getTitle()) || StringUtil.isEmpty(riddleCoupon.getPictUrl())
|| StringUtil.isEmpty(riddleCoupon.getCouponClickUrl()) || null == riddleCoupon.getZkFinalPrice()
|| null == riddleCoupon.getCouponPrice() || null == riddleCoupon.getType())) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "参数缺失");
}
riddleRecordBiz.addCoupon(riddleCoupon, adviserId);
return new ResponseDto<>();
}
@ApiOperation(value = "编辑获取猜谜语自定义优惠券", httpMethod = "GET")
@GetMapping("getByAdviser")
public ResponseDto<RiddleCouponDTO> getByAdviser(@RequestHeader("token") String token) throws PermissionException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
RiddleCouponDTO dto = riddleRecordBiz.getByAdviser(adviserId);
return new ResponseDto<>(dto);
}
@ApiOperation(value = "用户获取猜谜语自定义优惠券", httpMethod = "GET")
@ApiImplicitParam(name = "wxGroupId", value = "wxGroupId", required = false, dataType = "string", paramType = "query")
@GetMapping("getCouponByGroup4Wechat")
public ResponseDto<RiddleCouponDTO> getCouponByGroup4Wechat(
@CookieValue("userInfo") String userInfo, @RequestParam(value = "wxGroupId", required = true) String wxGroupId) {
if (StringUtil.isEmpty(wxGroupId)) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "缺少群id");
}
Cookie.getUserInfo(userInfo);
RiddleCouponDTO dto = riddleRecordBiz.getCouponByGroup(wxGroupId);
return new ResponseDto<>(dto);
}
} }
...@@ -31,4 +31,14 @@ ...@@ -31,4 +31,14 @@
AND click_type = #{type} AND click_type = #{type}
</select> </select>
<select id="getUserCountByType" parameterType="map" resultType="integer">
SELECT
COUNT(DISTINCT wechat_user_id)
FROM
riddle_click_record
WHERE
wx_group_id = #{wxGroupId}
AND click_type = #{clickType}
</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.riddle.dao.impl.RiddleCouponDaoImpl" >
<resultMap id="BaseResultMap" type="com.pcloud.book.riddle.entity.RiddleCoupon" >
<id column="id" property="id" jdbcType="BIGINT" />
<result column="title" property="title" jdbcType="VARCHAR" />
<result column="pict_url" property="pictUrl" jdbcType="VARCHAR" />
<result column="zk_final_price" property="zkFinalPrice" jdbcType="DECIMAL" />
<result column="coupon_price" property="couponPrice" jdbcType="DECIMAL" />
<result column="after_coupon_price" property="afterCouponPrice" jdbcType="DECIMAL" />
<result column="coupon_click_url" property="couponClickUrl" jdbcType="VARCHAR" />
<result column="type" property="type" jdbcType="TINYINT" />
<result column="create_user" property="createUser" jdbcType="BIGINT" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
<result column="status" property="status" jdbcType="BIT" />
</resultMap>
<sql id="Base_Column_List" >
id, title, pict_url, zk_final_price, coupon_price, after_coupon_price, coupon_click_url,
type, create_user, create_time, update_time, status
</sql>
<select id="getByAdviser" resultType="com.pcloud.book.riddle.dto.RiddleCouponDTO" parameterType="java.lang.Long" >
select
id id,
title title,
pict_url pictUrl,
zk_final_price zkFinalPrice,
coupon_price couponPrice,
after_coupon_price afterCouponPrice,
coupon_click_url couponClickUrl,
type type,
status status
from riddle_coupon
where create_user = #{createUser,jdbcType=BIGINT}
</select>
<insert id="insert" parameterType="com.pcloud.book.riddle.entity.RiddleCoupon" useGeneratedKeys="true" keyProperty="id">
insert into riddle_coupon ( title, pict_url,
zk_final_price, coupon_price, after_coupon_price,
coupon_click_url, type, create_user,
create_time, update_time, status
)
values ( #{title,jdbcType=VARCHAR}, #{pictUrl,jdbcType=VARCHAR},
#{zkFinalPrice,jdbcType=DECIMAL}, #{couponPrice,jdbcType=DECIMAL}, #{afterCouponPrice,jdbcType=DECIMAL},
#{couponClickUrl,jdbcType=VARCHAR}, #{type,jdbcType=TINYINT}, #{createUser,jdbcType=BIGINT},
NOW(), NOW(), #{status}
)
</insert>
<update id="update" parameterType="com.pcloud.book.riddle.entity.RiddleCoupon" >
update riddle_coupon
<set >
<if test="title != null" >
title = #{title,jdbcType=VARCHAR},
</if>
<if test="pictUrl != null" >
pict_url = #{pictUrl,jdbcType=VARCHAR},
</if>
<if test="zkFinalPrice != null" >
zk_final_price = #{zkFinalPrice,jdbcType=DECIMAL},
</if>
<if test="couponPrice != null" >
coupon_price = #{couponPrice,jdbcType=DECIMAL},
</if>
<if test="afterCouponPrice != null" >
after_coupon_price = #{afterCouponPrice,jdbcType=DECIMAL},
</if>
<if test="couponClickUrl != null" >
coupon_click_url = #{couponClickUrl,jdbcType=VARCHAR},
</if>
<if test="type != null" >
type = #{type,jdbcType=TINYINT},
</if>
update_time = NOW(),
<if test="status != null" >
status = #{status,jdbcType=BIT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<delete id="deleteByAdviser" parameterType="long">
DELETE FROM riddle_coupon
WHERE create_user = #{createUser,jdbcType=BIGINT}
</delete>
</mapper>
\ No newline at end of file
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