| @@ -0,0 +1,52 @@ | |||||
| package com.iformall.domain.po; | |||||
| import com.baomidou.mybatisplus.annotation.TableField; | |||||
| import com.baomidou.mybatisplus.annotation.TableName; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | |||||
| import lombok.ToString; | |||||
| import java.util.Date; | |||||
| @TableName(value = "level_package") | |||||
| @Data | |||||
| @ToString(callSuper = true) | |||||
| @EqualsAndHashCode(callSuper = true) | |||||
| public class LevelPackage extends TenantEntity { | |||||
| protected Long id; | |||||
| @io.swagger.annotations.ApiModelProperty(value="等级",name="level") | |||||
| private Integer level; | |||||
| @io.swagger.annotations.ApiModelProperty(value="名称",name="name") | |||||
| private String name; | |||||
| @io.swagger.annotations.ApiModelProperty(value="",name="en_name") | |||||
| private String en_name; | |||||
| @io.swagger.annotations.ApiModelProperty(value="套餐色",name="color") | |||||
| private String color; | |||||
| @io.swagger.annotations.ApiModelProperty(value="",name="priceDollar") | |||||
| private Integer priceDollar; | |||||
| @io.swagger.annotations.ApiModelProperty(value="",name="priceRmb") | |||||
| private Integer priceRmb; | |||||
| @io.swagger.annotations.ApiModelProperty(value="套餐积分",name="credit") | |||||
| private Integer credit; | |||||
| @io.swagger.annotations.ApiModelProperty(value="套餐时长",name="validityDuration") | |||||
| private Integer validityDuration; | |||||
| @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") | |||||
| private Date createDate; | |||||
| @io.swagger.annotations.ApiModelProperty(value="",name="updateDate") | |||||
| private Date updateDate; | |||||
| @TableField(exist = false) | |||||
| private Date startDate; | |||||
| @TableField(exist = false) | |||||
| private Date endDate; | |||||
| } | |||||
| @@ -0,0 +1,121 @@ | |||||
| package com.iformall.domain.po; | |||||
| import com.baomidou.mybatisplus.annotation.TableField; | |||||
| import com.baomidou.mybatisplus.annotation.TableName; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import com.iformall.enums.sm.EnumAiTemplateType; | |||||
| import com.iformall.enums.sm.EnumLanguageType; | |||||
| import com.iformall.enums.sm.EnumSoundType; | |||||
| import com.iformall.enums.sm.EnumVideoFormatType; | |||||
| import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | |||||
| import lombok.ToString; | |||||
| import java.util.Date; | |||||
| @TableName(value = "project_package_detail") | |||||
| @Data | |||||
| @ToString(callSuper = true) | |||||
| @EqualsAndHashCode(callSuper = true) | |||||
| public class ProjectPackageDetail extends TenantEntity { | |||||
| protected Long id; | |||||
| @io.swagger.annotations.ApiModelProperty(value="项目",name="projectType") | |||||
| private Integer projectType; | |||||
| @io.swagger.annotations.ApiModelProperty(value="套餐ID",name="packageId") | |||||
| private Long packageId; | |||||
| @io.swagger.annotations.ApiModelProperty(value="邀请用户加积分数量",name="inviteUserCredit") | |||||
| private Integer inviteUserCredit; | |||||
| @io.swagger.annotations.ApiModelProperty(value="ai生成照片价格",name="aiPhotoPrice") | |||||
| private Integer aiPhotoPrice; | |||||
| @io.swagger.annotations.ApiModelProperty(value="ai生成脚本价格",name="aiScriptPrice") | |||||
| private Integer aiScriptPrice; | |||||
| @io.swagger.annotations.ApiModelProperty(value="生成视频价格",name="videoPrice") | |||||
| private Integer videoPrice; | |||||
| @io.swagger.annotations.ApiModelProperty(value="是否有水印",name="isVideoWatermark") | |||||
| private Integer isVideoWatermark; | |||||
| @io.swagger.annotations.ApiModelProperty(value="EnumLanguageType",name="language") | |||||
| private Integer language; | |||||
| @TableField(exist = false) | |||||
| private String languageDesc; | |||||
| public String getLanguageDesc(){ | |||||
| if(this.language != null){ | |||||
| EnumLanguageType languageEnum = EnumLanguageType.getEnum(language); | |||||
| if(languageEnum != null){ | |||||
| languageDesc = languageEnum.getMessage(); | |||||
| } | |||||
| } | |||||
| return languageDesc; | |||||
| } | |||||
| @io.swagger.annotations.ApiModelProperty(value="EnumSoundType",name="sound") | |||||
| private Integer sound; | |||||
| @TableField(exist = false) | |||||
| private String soundDesc; | |||||
| public String getSoundDesc(){ | |||||
| if(this.sound != null){ | |||||
| EnumSoundType soundEnum = EnumSoundType.getEnum(sound); | |||||
| if(soundEnum != null){ | |||||
| soundDesc = soundEnum.getMessage(); | |||||
| } | |||||
| } | |||||
| return soundDesc; | |||||
| } | |||||
| @io.swagger.annotations.ApiModelProperty(value="生成视频最大时长(s)",name="videoTime") | |||||
| private Integer videoTime; | |||||
| @io.swagger.annotations.ApiModelProperty(value="可生成照片的次数",name="aiPhoto") | |||||
| private Integer aiPhoto; | |||||
| @io.swagger.annotations.ApiModelProperty(value="是否可唱歌",name="isSing") | |||||
| private Integer isSing; | |||||
| @io.swagger.annotations.ApiModelProperty(value="可生成脚本的次数",name="aiScript") | |||||
| private Integer aiScript; | |||||
| @io.swagger.annotations.ApiModelProperty(value="EnumVideoFormatType",name="videoFormat") | |||||
| private Integer videoFormat; | |||||
| @TableField(exist = false) | |||||
| private String videoFormatDesc; | |||||
| public String getVideoFormatDesc(){ | |||||
| if(this.videoFormat != null){ | |||||
| EnumVideoFormatType videoFormatEnum = EnumVideoFormatType.getEnum(videoFormat); | |||||
| if(videoFormatEnum != null){ | |||||
| videoFormatDesc = videoFormatEnum.getMessage(); | |||||
| } | |||||
| } | |||||
| return videoFormatDesc; | |||||
| } | |||||
| @io.swagger.annotations.ApiModelProperty(value="EnumAiTemplateType",name="template") | |||||
| private Integer template; | |||||
| @TableField(exist = false) | |||||
| private String templateDesc; | |||||
| public String getTemplateDesc(){ | |||||
| if(this.template != null){ | |||||
| EnumAiTemplateType templateEnum = EnumAiTemplateType.getEnum(template); | |||||
| if(templateEnum != null){ | |||||
| templateDesc = templateEnum.getMessage(); | |||||
| } | |||||
| } | |||||
| return templateDesc; | |||||
| } | |||||
| @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") | |||||
| private Date createDate; | |||||
| @io.swagger.annotations.ApiModelProperty(value="",name="updateDate") | |||||
| private Date updateDate; | |||||
| @TableField(exist = false) | |||||
| private Date startDate; | |||||
| @TableField(exist = false) | |||||
| private Date endDate; | |||||
| } | |||||
| @@ -0,0 +1,52 @@ | |||||
| package com.iformall.domain.po; | |||||
| import com.baomidou.mybatisplus.annotation.TableField; | |||||
| import com.baomidou.mybatisplus.annotation.TableName; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | |||||
| import lombok.ToString; | |||||
| import java.util.Date; | |||||
| @TableName(value = "user_level_package") | |||||
| @Data | |||||
| @ToString(callSuper = true) | |||||
| @EqualsAndHashCode(callSuper = true) | |||||
| public class UserLevelPackage extends TenantEntity { | |||||
| protected Long id; | |||||
| @io.swagger.annotations.ApiModelProperty(value="套餐ID",name="packageId") | |||||
| private Long packageId; | |||||
| @io.swagger.annotations.ApiModelProperty(value="套餐等级",name="packageLevel") | |||||
| private Integer packageLevel; | |||||
| @io.swagger.annotations.ApiModelProperty(value="套餐色",name="packageColor") | |||||
| private String packageColor; | |||||
| @io.swagger.annotations.ApiModelProperty(value="用户总积分",name="userCredits") | |||||
| private Integer userCredits; | |||||
| @io.swagger.annotations.ApiModelProperty(value="剩余积分",name="residueCredits") | |||||
| private Integer residueCredits; | |||||
| @io.swagger.annotations.ApiModelProperty(value="到期时间",name="expiresDate") | |||||
| private Date expiresDate; | |||||
| @io.swagger.annotations.ApiModelProperty(value="",name="createDate") | |||||
| private Date createDate; | |||||
| @io.swagger.annotations.ApiModelProperty(value="",name="updateDate") | |||||
| private Date updateDate; | |||||
| @TableField(exist = false) | |||||
| private Integer addCredits; | |||||
| @TableField(exist = false) | |||||
| private Integer addSumCredits; | |||||
| @TableField(exist = false) | |||||
| private Integer reduceCredits; | |||||
| } | |||||
| @@ -0,0 +1,34 @@ | |||||
| package com.iformall.enums.sm; | |||||
| /** | |||||
| * 数字人模板 | |||||
| */ | |||||
| public enum EnumAiTemplateType { | |||||
| FREE(1, "免费"), | |||||
| VIP(2, "VIP"); | |||||
| public static EnumAiTemplateType getEnum(Integer code) { | |||||
| for (EnumAiTemplateType value : values()) { | |||||
| if (value.getCode().equals(code)) { | |||||
| return value; | |||||
| } | |||||
| } | |||||
| return null; | |||||
| } | |||||
| private Integer code; | |||||
| private String message; | |||||
| EnumAiTemplateType(Integer code, String message) { | |||||
| this.code = code; | |||||
| this.message = message; | |||||
| } | |||||
| public Integer getCode() { | |||||
| return code; | |||||
| } | |||||
| public String getMessage() { | |||||
| return message; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,34 @@ | |||||
| package com.iformall.enums.sm; | |||||
| /** | |||||
| * 数字人模板 | |||||
| */ | |||||
| public enum EnumTemplateType { | |||||
| FREE(1, "免费"), | |||||
| VIP(2, "VIP"); | |||||
| public static EnumTemplateType getEnum(Integer code) { | |||||
| for (EnumTemplateType value : values()) { | |||||
| if (value.getCode().equals(code)) { | |||||
| return value; | |||||
| } | |||||
| } | |||||
| return null; | |||||
| } | |||||
| private Integer code; | |||||
| private String message; | |||||
| EnumTemplateType(Integer code, String message) { | |||||
| this.code = code; | |||||
| this.message = message; | |||||
| } | |||||
| public Integer getCode() { | |||||
| return code; | |||||
| } | |||||
| public String getMessage() { | |||||
| return message; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,34 @@ | |||||
| package com.iformall.enums.sm; | |||||
| /** | |||||
| * 分辨率 | |||||
| */ | |||||
| public enum EnumVideoFormatType { | |||||
| VIDEOFORMAT_720P(1, "720p"), | |||||
| VIDEOFORMAT_1080P(2, "1080p"); | |||||
| public static EnumVideoFormatType getEnum(Integer code) { | |||||
| for (EnumVideoFormatType value : values()) { | |||||
| if (value.getCode().equals(code)) { | |||||
| return value; | |||||
| } | |||||
| } | |||||
| return null; | |||||
| } | |||||
| private Integer code; | |||||
| private String message; | |||||
| EnumVideoFormatType(Integer code, String message) { | |||||
| this.code = code; | |||||
| this.message = message; | |||||
| } | |||||
| public Integer getCode() { | |||||
| return code; | |||||
| } | |||||
| public String getMessage() { | |||||
| return message; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,12 @@ | |||||
| package com.iformall.mapper; | |||||
| import com.iformall.common.CommonMapper; | |||||
| import com.iformall.domain.po.LevelPackage; | |||||
| import java.util.List; | |||||
| public interface LevelPackageMapper extends CommonMapper<LevelPackage, Long>{ | |||||
| List<LevelPackage> findList(LevelPackage record); | |||||
| } | |||||
| @@ -0,0 +1,12 @@ | |||||
| package com.iformall.mapper; | |||||
| import com.iformall.common.CommonMapper; | |||||
| import com.iformall.domain.po.ProjectPackageDetail; | |||||
| import java.util.List; | |||||
| public interface ProjectPackageDetailMapper extends CommonMapper<ProjectPackageDetail, Long>{ | |||||
| List<ProjectPackageDetail> findList(ProjectPackageDetail record); | |||||
| } | |||||
| @@ -0,0 +1,12 @@ | |||||
| package com.iformall.mapper; | |||||
| import com.iformall.common.CommonMapper; | |||||
| import com.iformall.domain.po.UserLevelPackage; | |||||
| import java.util.List; | |||||
| public interface UserLevelPackageMapper extends CommonMapper<UserLevelPackage, Long>{ | |||||
| List<UserLevelPackage> findList(UserLevelPackage record); | |||||
| } | |||||
| @@ -0,0 +1,69 @@ | |||||
| <?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.iformall.mapper.LevelPackageMapper"> | |||||
| <resultMap id="BaseResultMap" type="com.iformall.domain.po.LevelPackage"> | |||||
| <id column="id" jdbcType="BIGINT" property="id" /> | |||||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId" /> | |||||
| <result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId"/> | |||||
| <result column="level" jdbcType="INTEGER" property="level" /> | |||||
| <result column="name" jdbcType="VARCHAR" property="name" /> | |||||
| <result column="en_name" jdbcType="VARCHAR" property="enName"/> | |||||
| <result column="color" jdbcType="VARCHAR" property="color"/> | |||||
| <result column="price_dollar" jdbcType="INTEGER" property="priceDollar" /> | |||||
| <result column="price_rmb" jdbcType="INTEGER" property="priceRmb" /> | |||||
| <result column="credit" jdbcType="INTEGER" property="credit" /> | |||||
| <result column="validity_duration" jdbcType="INTEGER" property="validityDuration" /> | |||||
| <result column="create_date" jdbcType="TIMESTAMP" property="createDate" /> | |||||
| <result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/> | |||||
| </resultMap> | |||||
| <sql id="allColumns"> | |||||
| `id`,`tenant_id`,`parent_tenant_id`, | |||||
| `level`,`name`,`en_name`,`color`, | |||||
| `price_dollar`,`price_rmb`,`credit`,`validity_duration`, | |||||
| `create_date`,`update_date` | |||||
| </sql> | |||||
| <sql id="dynamicWhereConditions"> | |||||
| where is_del = 0 | |||||
| <if test=" null != id "> and `id` = #{id} </if> | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and `tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||||
| and `parent_tenant_id` = #{parentTenantId} | |||||
| </if> | |||||
| <if test=" null != level "> and `level` = #{level} </if> | |||||
| <if test=" null != name and '' != name"> | |||||
| and `name` like concat('%', #{name},'%') | |||||
| </if> | |||||
| <if test=" null != enName and '' != enName"> | |||||
| and `en_name` like concat('%', #{enName},'%') | |||||
| </if> | |||||
| <if test=" null != startDate "> | |||||
| and `create_date` >= #{startDate} | |||||
| </if> | |||||
| <if test=" null != endDate"> | |||||
| and `create_date` <= #{endDate} | |||||
| </if> | |||||
| <if test=" null != ids "> | |||||
| and id in | |||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||||
| #{idItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != sortColumns"> order by ${sortColumns} </if> | |||||
| </sql> | |||||
| <select id="findList" parameterType="com.iformall.domain.po.LevelPackage" resultMap="BaseResultMap"> | |||||
| select <include refid="allColumns" /> | |||||
| from level_package | |||||
| <include refid="dynamicWhereConditions" /> | |||||
| </select> | |||||
| </mapper> | |||||
| @@ -0,0 +1,75 @@ | |||||
| <?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.iformall.mapper.ProjectPackageDetailMapper"> | |||||
| <resultMap id="BaseResultMap" type="com.iformall.domain.po.ProjectPackageDetail"> | |||||
| <id column="id" jdbcType="BIGINT" property="id" /> | |||||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId" /> | |||||
| <result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId"/> | |||||
| <result column="project_type" jdbcType="INTEGER" property="projectType" /> | |||||
| <result column="package_id" jdbcType="BIGINT" property="packageId" /> | |||||
| <result column="invite_user_credit" jdbcType="INTEGER" property="inviteUserCredit" /> | |||||
| <result column="ai_photo_price" jdbcType="INTEGER" property="aiPhotoPrice" /> | |||||
| <result column="ai_script_price" jdbcType="INTEGER" property="aiScriptPrice" /> | |||||
| <result column="video_price" jdbcType="INTEGER" property="videoPrice" /> | |||||
| <result column="is_video_watermark" jdbcType="INTEGER" property="isVideoWatermark" /> | |||||
| <result column="language" jdbcType="INTEGER" property="language" /> | |||||
| <result column="sound" jdbcType="INTEGER" property="sound" /> | |||||
| <result column="video_time" jdbcType="INTEGER" property="videoTime" /> | |||||
| <result column="ai_photo" jdbcType="INTEGER" property="aiPhoto" /> | |||||
| <result column="is_sing" jdbcType="INTEGER" property="isSing" /> | |||||
| <result column="ai_script" jdbcType="INTEGER" property="aiScript" /> | |||||
| <result column="video_format" jdbcType="INTEGER" property="videoFormat" /> | |||||
| <result column="template" jdbcType="INTEGER" property="template" /> | |||||
| <result column="create_date" jdbcType="TIMESTAMP" property="createDate" /> | |||||
| <result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/> | |||||
| </resultMap> | |||||
| <sql id="allColumns"> | |||||
| `id`,`tenant_id`,`parent_tenant_id`,`project_type`,`package_id`, | |||||
| `invite_user_credit`,`ai_photo_price`,`ai_script_price`,`video_price`, | |||||
| `is_video_watermark`,`language`,`sound`, | |||||
| `video_time`,`ai_photo`,`is_sing`,`ai_script`,`video_format`,`template`, | |||||
| `create_date`,`update_date` | |||||
| </sql> | |||||
| <sql id="dynamicWhereConditions"> | |||||
| where is_del = 0 | |||||
| <if test=" null != id "> and `id` = #{id} </if> | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and `tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||||
| and `parent_tenant_id` = #{parentTenantId} | |||||
| </if> | |||||
| <if test=" null != projectType "> and `project_type` = #{projectType} </if> | |||||
| <if test=" null != packageId"> | |||||
| and `package_id` = #{packageId} | |||||
| </if> | |||||
| <if test=" null != startDate "> | |||||
| and `create_date` >= #{startDate} | |||||
| </if> | |||||
| <if test=" null != endDate"> | |||||
| and `create_date` <= #{endDate} | |||||
| </if> | |||||
| <if test=" null != ids "> | |||||
| and id in | |||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||||
| #{idItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != sortColumns"> order by ${sortColumns} </if> | |||||
| </sql> | |||||
| <select id="findList" parameterType="com.iformall.domain.po.ProjectPackageDetail" resultMap="BaseResultMap"> | |||||
| select <include refid="allColumns" /> | |||||
| from project_package_detail | |||||
| <include refid="dynamicWhereConditions" /> | |||||
| </select> | |||||
| </mapper> | |||||
| @@ -0,0 +1,71 @@ | |||||
| <?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.iformall.mapper.UserLevelPackageMapper"> | |||||
| <resultMap id="BaseResultMap" type="com.iformall.domain.po.UserLevelPackage"> | |||||
| <id column="id" jdbcType="BIGINT" property="id" /> | |||||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId" /> | |||||
| <result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId"/> | |||||
| <result column="package_id" jdbcType="BIGINT" property="packageId" /> | |||||
| <result column="package_level" jdbcType="INTEGER" property="packageLevel" /> | |||||
| <result column="package_color" jdbcType="VARCHAR" property="packageColor" /> | |||||
| <result column="user_credits" jdbcType="INTEGER" property="userCredits" /> | |||||
| <result column="residue_credits" jdbcType="INTEGER" property="residueCredits" /> | |||||
| <result column="expires_date" jdbcType="TIMESTAMP" property="expiresDate"/> | |||||
| <result column="create_date" jdbcType="TIMESTAMP" property="createDate" /> | |||||
| <result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/> | |||||
| </resultMap> | |||||
| <sql id="allColumns"> | |||||
| `id`,`tenant_id`,`parent_tenant_id`, | |||||
| `package_id`,`package_level`,`package_color`, | |||||
| `user_credits`,`residue_credits`, | |||||
| `expires_date`, `create_date`, `update_date` | |||||
| </sql> | |||||
| <sql id="dynamicWhereConditions"> | |||||
| where 1 = 1 | |||||
| <if test=" null != id "> and `id` = #{id} </if> | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and `tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||||
| and `parent_tenant_id` = #{parentTenantId} | |||||
| </if> | |||||
| <if test=" null != packageId "> and `package_id` = #{packageId} </if> | |||||
| <if test=" null != packageLevel "> and `package_level` = #{packageLevel} </if> | |||||
| <if test=" null != ids "> | |||||
| and id in | |||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||||
| #{idItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != sortColumns"> order by ${sortColumns} </if> | |||||
| </sql> | |||||
| <select id="findList" parameterType="com.iformall.domain.po.UserLevelPackage" resultMap="BaseResultMap"> | |||||
| select <include refid="allColumns" /> | |||||
| from user_level_package | |||||
| <include refid="dynamicWhereConditions" /> | |||||
| </select> | |||||
| <update id="addUserCredits" parameterType="com.iformall.domain.po.UserLevelPackage"> | |||||
| update user_level_package | |||||
| set `update_date` = #{updateDate} | |||||
| <if test=" null != addSumCredits "> | |||||
| ,`user_credits` = user_credits+#{addSumCredits} | |||||
| </if> | |||||
| ,`residue_credits` = residue_credits+#{addCredits} | |||||
| where id = #{id} | |||||
| </update> | |||||
| <update id="reduceUserCredits" parameterType="com.iformall.domain.po.UserLevelPackage"> | |||||
| update user_level_package | |||||
| set `update_date` = #{updateDate} | |||||
| ,`residue_credits` = residue_credits+#{reduceCredits} | |||||
| where id = #{id} | |||||
| and residue_credits+#{reduceCredits} >= 0 | |||||
| </update> | |||||
| </mapper> | |||||