Pārlūkot izejas kodu

用户模块 增加注册忽略访问限制、完成修改昵称功能、增加注册功能密码校验
服务模块 增加docker配置文件
数据库实体类 修改Subscription中targetTpe为targetType

songfuqiang 2 gadi atpakaļ
vecāks
revīzija
3a6edeb6e4

+ 15 - 0
backend-common/src/main/java/enums/CommonEnum.java

@@ -18,4 +18,19 @@ public class CommonEnum {
         }
     }
 
+    public static enum SubscriptionTypeEnum{
+        PRICING("Pricing"), // 券服务
+        SET_PRICING("SetPricing"); // 会员服务
+
+        private String value;
+
+        SubscriptionTypeEnum(String value) {
+            this.value = value;
+        }
+
+        public String value() {
+            return value;
+        }
+    }
+
 }

+ 6 - 0
backend-core/docker/Dockerfile

@@ -0,0 +1,6 @@
+FROM fabletang/jre8-alpine
+
+VOLUME /tmp
+ADD backend-core.jar app.jar
+RUN bash -c 'touch /app.jar'
+ENTRYPOINT java -Xms128m -Xmx256m -Dfile.encoding=utf-8 -Duser.timezone=GMT+08 -jar /app.jar

+ 22 - 0
backend-core/pom.xml

@@ -181,6 +181,28 @@
                     <skipTests>true</skipTests>
                 </configuration>
             </plugin>
+
+            <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <version>${docker.version}</version>
+                <configuration>
+                    <!-- Docker 远程管理地址-->
+                    <dockerHost>http://${docker.host}</dockerHost>
+                    <!--镜像名称-->
+                    <imageName>${project.artifactId}</imageName>
+                    <!--Dockerfile-->
+                    <dockerDirectory>${project.basedir}/docker</dockerDirectory>
+                    <!--插件会将需要的资源拷贝到docker目录下,供Dockerfile里构建镜像使用-->
+                    <resources>
+                        <resource>
+                            <targetPath>/</targetPath>
+                            <directory>${project.build.directory}</directory>
+                            <include>${project.build.finalName}.jar</include>
+                        </resource>
+                    </resources>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 </project>

+ 11 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/controller/MembersController.java

@@ -54,4 +54,15 @@ public class MembersController {
         return new ResultMap<>(CommonConstant.SUCCESS,"修改密码成功","修改密码成功");
     }
 
+    /**
+     * 修改昵称
+     */
+    @GetMapping("modify_nickname")
+    public ResultMap<String> modifyNickname(@RequestParam String name){
+        memberService.modifyNickname(name);
+        return new ResultMap<>(CommonConstant.SUCCESS,"修改昵称成功","修改昵称成功");
+    }
+
+
+
 }

+ 10 - 10
backend-core/src/main/java/cn/kdan/pdf/backend/core/model/Subscriptions.java

@@ -8,7 +8,7 @@ public class Subscriptions implements Serializable {
 
     private String memberId;
 
-    private String targetTpe;
+    private String targetType;
 
     private Integer targetId;
 
@@ -64,17 +64,17 @@ public class Subscriptions implements Serializable {
         this.memberId = memberId;
     }
 
-    public String getTargetTpe() {
-        return targetTpe;
+    public String getTargetType() {
+        return targetType;
     }
 
-    public Subscriptions withTargetTpe(String targetTpe) {
-        this.setTargetTpe(targetTpe);
+    public Subscriptions withTargetType(String targetType) {
+        this.setTargetType(targetType);
         return this;
     }
 
-    public void setTargetTpe(String targetTpe) {
-        this.targetTpe = targetTpe;
+    public void setTargetType(String targetType) {
+        this.targetType = targetType;
     }
 
     public Integer getTargetId() {
@@ -260,7 +260,7 @@ public class Subscriptions implements Serializable {
         Subscriptions other = (Subscriptions) that;
         return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
             && (this.getMemberId() == null ? other.getMemberId() == null : this.getMemberId().equals(other.getMemberId()))
-            && (this.getTargetTpe() == null ? other.getTargetTpe() == null : this.getTargetTpe().equals(other.getTargetTpe()))
+            && (this.getTargetType() == null ? other.getTargetType() == null : this.getTargetType().equals(other.getTargetType()))
             && (this.getTargetId() == null ? other.getTargetId() == null : this.getTargetId().equals(other.getTargetId()))
             && (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
             && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
@@ -282,7 +282,7 @@ public class Subscriptions implements Serializable {
         int result = 1;
         result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
         result = prime * result + ((getMemberId() == null) ? 0 : getMemberId().hashCode());
-        result = prime * result + ((getTargetTpe() == null) ? 0 : getTargetTpe().hashCode());
+        result = prime * result + ((getTargetType() == null) ? 0 : getTargetType().hashCode());
         result = prime * result + ((getTargetId() == null) ? 0 : getTargetId().hashCode());
         result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
         result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
@@ -307,7 +307,7 @@ public class Subscriptions implements Serializable {
         sb.append("Hash = ").append(hashCode());
         sb.append(", id=").append(id);
         sb.append(", memberId=").append(memberId);
-        sb.append(", targetTpe=").append(targetTpe);
+        sb.append(", targetType=").append(targetType);
         sb.append(", targetId=").append(targetId);
         sb.append(", price=").append(price);
         sb.append(", status=").append(status);

+ 30 - 30
backend-core/src/main/java/cn/kdan/pdf/backend/core/model/SubscriptionsExample.java

@@ -245,73 +245,73 @@ public class SubscriptionsExample {
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeIsNull() {
-            addCriterion("target_tpe is null");
+        public Criteria andTargetTypeIsNull() {
+            addCriterion("target_type is null");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeIsNotNull() {
-            addCriterion("target_tpe is not null");
+        public Criteria andTargetTypeIsNotNull() {
+            addCriterion("target_type is not null");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeEqualTo(String value) {
-            addCriterion("target_tpe =", value, "targetTpe");
+        public Criteria andTargetTypeEqualTo(String value) {
+            addCriterion("target_type =", value, "targetType");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeNotEqualTo(String value) {
-            addCriterion("target_tpe <>", value, "targetTpe");
+        public Criteria andTargetTypeNotEqualTo(String value) {
+            addCriterion("target_type <>", value, "targetType");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeGreaterThan(String value) {
-            addCriterion("target_tpe >", value, "targetTpe");
+        public Criteria andTargetTypeGreaterThan(String value) {
+            addCriterion("target_type >", value, "targetType");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeGreaterThanOrEqualTo(String value) {
-            addCriterion("target_tpe >=", value, "targetTpe");
+        public Criteria andTargetTypeGreaterThanOrEqualTo(String value) {
+            addCriterion("target_type >=", value, "targetType");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeLessThan(String value) {
-            addCriterion("target_tpe <", value, "targetTpe");
+        public Criteria andTargetTypeLessThan(String value) {
+            addCriterion("target_type <", value, "targetType");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeLessThanOrEqualTo(String value) {
-            addCriterion("target_tpe <=", value, "targetTpe");
+        public Criteria andTargetTypeLessThanOrEqualTo(String value) {
+            addCriterion("target_type <=", value, "targetType");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeLike(String value) {
-            addCriterion("target_tpe like", value, "targetTpe");
+        public Criteria andTargetTypeLike(String value) {
+            addCriterion("target_type like", value, "targetType");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeNotLike(String value) {
-            addCriterion("target_tpe not like", value, "targetTpe");
+        public Criteria andTargetTypeNotLike(String value) {
+            addCriterion("target_type not like", value, "targetType");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeIn(List<String> values) {
-            addCriterion("target_tpe in", values, "targetTpe");
+        public Criteria andTargetTypeIn(List<String> values) {
+            addCriterion("target_type in", values, "targetType");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeNotIn(List<String> values) {
-            addCriterion("target_tpe not in", values, "targetTpe");
+        public Criteria andTargetTypeNotIn(List<String> values) {
+            addCriterion("target_type not in", values, "targetType");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeBetween(String value1, String value2) {
-            addCriterion("target_tpe between", value1, value2, "targetTpe");
+        public Criteria andTargetTypeBetween(String value1, String value2) {
+            addCriterion("target_type between", value1, value2, "targetType");
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeNotBetween(String value1, String value2) {
-            addCriterion("target_tpe not between", value1, value2, "targetTpe");
+        public Criteria andTargetTypeNotBetween(String value1, String value2) {
+            addCriterion("target_type not between", value1, value2, "targetType");
             return (Criteria) this;
         }
 
@@ -1135,8 +1135,8 @@ public class SubscriptionsExample {
             return (Criteria) this;
         }
 
-        public Criteria andTargetTpeLikeInsensitive(String value) {
-            addCriterion("upper(target_tpe) like", value.toUpperCase(), "targetTpe");
+        public Criteria andTargetTypeLikeInsensitive(String value) {
+            addCriterion("upper(target_type) like", value.toUpperCase(), "targetType");
             return (Criteria) this;
         }
 

+ 20 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/model/member/MemberInfoResp.java

@@ -0,0 +1,20 @@
+package cn.kdan.pdf.backend.core.model.member;
+
+import cn.kdan.pdf.backend.core.model.Members;
+import cn.kdan.pdf.backend.core.model.Subscriptions;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class MemberInfoResp {
+
+    private String type;
+
+    private Members members;
+
+    private List<SubPricing> pricingList;
+
+    private List<SubSetPricing> setPricingList;
+
+}

+ 5 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/model/member/MemberRegisterReq.java

@@ -5,8 +5,13 @@ import lombok.Data;
 @Data
 public class MemberRegisterReq {
 
+    //用户名(手机号、邮箱)
     private String username;
 
+    //密码
     private String password;
 
+    //第二次确认密码
+    private String password_confirm;
+
 }

+ 22 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/model/member/SubPricing.java

@@ -0,0 +1,22 @@
+package cn.kdan.pdf.backend.core.model.member;
+
+import cn.kdan.pdf.backend.core.model.Pricings;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class SubPricing {
+
+    private Date endDate;
+    private String id;
+    private Float price;
+    private Date startDate;
+    private Integer status;
+    private String targetId;
+    private String targetType;
+    private String totalPeriod;
+    private Integer totalPoints;
+
+    private Pricings pricings;
+}

+ 23 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/model/member/SubSetPricing.java

@@ -0,0 +1,23 @@
+package cn.kdan.pdf.backend.core.model.member;
+
+import cn.kdan.pdf.backend.core.model.SetPricings;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class SubSetPricing {
+
+    private Date endDate;
+    private String id;
+    private Float price;
+    private Date startDate;
+    private Integer status;
+    private String targetId;
+    private String targetType;
+    private String totalPeriod;
+    private Integer totalPoints;
+
+    private SetPricings setPricings;
+
+}

+ 7 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/MemberService.java

@@ -1,6 +1,7 @@
 package cn.kdan.pdf.backend.core.service;
 
 import cn.kdan.pdf.backend.core.model.Members;
+import cn.kdan.pdf.backend.core.model.member.MemberInfoResp;
 import cn.kdan.pdf.backend.core.model.member.MemberRegisterReq;
 import cn.kdan.pdf.backend.core.model.member.MemberRegisterResp;
 import cn.kdan.pdf.backend.core.model.member.ModifyPasswordReq;
@@ -13,6 +14,12 @@ public interface MemberService {
     /** 修改密码 */
     void modifyPassword(ModifyPasswordReq req);
 
+    /** 修改昵称 */
+    void modifyNickname(String name);
+
+    /** 获取用户信息 */
+    MemberInfoResp getMemberInfo();
+
     /**
      * 获取当前用户
      * @return Members

+ 96 - 6
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/MemberServiceImpl.java

@@ -3,8 +3,11 @@ package cn.kdan.pdf.backend.core.service.impl;
 import cn.kdan.pdf.backend.core.constant.MembersConstant;
 import cn.kdan.pdf.backend.core.enums.VerifyTypeEnum;
 import cn.kdan.pdf.backend.core.mapper.MembersMapper;
-import cn.kdan.pdf.backend.core.model.Members;
-import cn.kdan.pdf.backend.core.model.MembersExample;
+import cn.kdan.pdf.backend.core.mapper.PricingsMapper;
+import cn.kdan.pdf.backend.core.mapper.SetPricingsMapper;
+import cn.kdan.pdf.backend.core.mapper.SubscriptionsMapper;
+import cn.kdan.pdf.backend.core.model.*;
+import cn.kdan.pdf.backend.core.model.member.MemberInfoResp;
 import cn.kdan.pdf.backend.core.model.member.MemberRegisterReq;
 import cn.kdan.pdf.backend.core.model.member.MemberRegisterResp;
 import cn.kdan.pdf.backend.core.model.member.ModifyPasswordReq;
@@ -24,8 +27,10 @@ import pojo.CustomUserDetails;
 import utils.CommonUtils;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class MemberServiceImpl implements MemberService {
@@ -34,6 +39,12 @@ public class MemberServiceImpl implements MemberService {
     private MembersMapper membersMapper;
     @Autowired
     private UserService userService;
+    @Autowired
+    private SubscriptionsMapper subscriptionsMapper;
+    @Autowired
+    private PricingsMapper pricingsMapper;
+    @Autowired
+    private SetPricingsMapper setPricingsMapper;
 
     // 默认时区
     private final static String DEFAULT_TIME_ZONE = "UTC";
@@ -55,6 +66,23 @@ public class MemberServiceImpl implements MemberService {
     @Override
     public MemberRegisterResp register(MemberRegisterReq req) {
         String username = req.getUsername();
+        MemberRegisterResp resp = new MemberRegisterResp();
+
+        //密码规则校验
+        String password = req.getPassword();
+        String passwordConfirm = req.getPassword_confirm();
+        if(!password.equals(passwordConfirm)){
+            resp.setMessage("两次输入的密码不一致");
+            throw new BackendRuntimeException("两次输入的密码不一致");
+        }
+        if(password.length() < 6){
+            resp.setMessage("密码位数不能少于6位");
+            throw new BackendRuntimeException("密码位数不能少于6位");
+        }
+        if(password.length() > 16){
+            resp.setMessage("密码位数不能大于16位");
+            throw new BackendRuntimeException("密码位数不能大于16位");
+        }
 
         // 根据用户名查询数据库是否已有数据,判断该账号是否已注册过
         MembersExample example = new MembersExample();
@@ -63,7 +91,7 @@ public class MemberServiceImpl implements MemberService {
         MembersExample.Criteria criteria1 = example.or();
         criteria1.andEmailEqualTo(username);
         List<Members> memberList = membersMapper.selectByExample(example);
-        MemberRegisterResp resp = new MemberRegisterResp();
+
         if(!CollectionUtils.isEmpty(memberList)){
             resp.setMessage("该账号已被注册");
             throw new BackendRuntimeException("该账号已被注册");
@@ -80,7 +108,8 @@ public class MemberServiceImpl implements MemberService {
         // 添加数据
         Members member = new Members();
         member.setId(CommonUtils.generateId());
-        member.setName("1666160391");//todo 用户命名待确定
+        Date date = new Date();
+        member.setName(String.valueOf(date.getTime()).substring(0,10));//用户命名使用时间戳
         if(username.matches(mobileRegex)){
             member.setPhone(username);
         }else if(username.matches(emailRegex)){
@@ -88,8 +117,7 @@ public class MemberServiceImpl implements MemberService {
         }
         //使用Bcrypt加密方式对密码进行加密处理
         BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
-        member.setPasswordDigest(encoder.encode(req.getPassword()));
-        Date date = new Date();
+        member.setPasswordDigest(encoder.encode(password));
         member.setCreatedAt(date);
         member.setUpdatedAt(date);
         member.setTimeZone(DEFAULT_TIME_ZONE);
@@ -105,6 +133,10 @@ public class MemberServiceImpl implements MemberService {
         return resp;
     }
 
+    /**
+     * 修改密码
+     * @param req
+     */
     @Override
     public void modifyPassword(ModifyPasswordReq req) {
         /*
@@ -127,6 +159,64 @@ public class MemberServiceImpl implements MemberService {
 
     }
 
+    /**
+     * 修改昵称
+     * @param name
+     */
+    @Override
+    public void modifyNickname(String name) {
+        //根据输入的用户名查询数据库是否已存在对应的用户名,有则不能修改,返回提示信息,没有则可以修改
+        MembersExample example = new MembersExample();
+        MembersExample.Criteria criteria = example.createCriteria();
+        criteria.andNameEqualTo(name);
+        List<Members> list = membersMapper.selectByExample(example);
+        if(CollectionUtils.isEmpty(list)) {
+            Members members = getCurrentUser();
+            members.setName(name);
+            membersMapper.updateByPrimaryKey(members);
+        }else{
+            throw new BackendRuntimeException("用户名已存在");
+        }
+    }
+
+    /**
+     * 获取用户信息
+     * @return 用户信息
+     */
+    @Override
+    public MemberInfoResp getMemberInfo() {
+        Members member = getCurrentUser();
+
+        //根据用户id查询订阅数据
+        SubscriptionsExample example = new SubscriptionsExample();
+        SubscriptionsExample.Criteria criteria = example.createCriteria();
+        criteria.andMemberIdEqualTo(member.getId());
+        List<Subscriptions> subscriptionsList = subscriptionsMapper.selectByExample(example);
+
+        //根据targetType区分券服务与会员服务数据
+        List<Subscriptions> pricingList = new ArrayList<>();
+        List<Subscriptions> setPricingList = new ArrayList<>();
+        for (Subscriptions subscription : subscriptionsList) {
+            if(subscription.getTargetType().equals(CommonEnum.SubscriptionTypeEnum.PRICING.value())){
+                pricingList.add(subscription);
+            } else if(subscription.getTargetType().equals(CommonEnum.SubscriptionTypeEnum.SET_PRICING.value())){
+                setPricingList.add(subscription);
+            }
+        }
+        MemberInfoResp resp = new MemberInfoResp();
+        resp.setMembers(member);
+
+        return resp;
+    }
+
+//    public Map<Integer, Pricings> getPricingMap(){
+//        pricingsMapper.
+//    }
+//
+//    public Map<Integer, SetPricings> getSetPricingMap(){
+//
+//    }
+
     /**
      * 获取认证信息
      *

+ 1 - 1
backend-core/src/main/resources/application.yml

@@ -79,5 +79,5 @@ cors:
   allow-origins: "*"
   allow-max-age: "3600"
 httpMatchers:
-  request: "/login,/logout,/user/register,/user/resetPassword,/oauth/**,/auth/**,/member/register"
+  request: "/login,/logout,/user/register,/user/resetPassword,/oauth/**,/auth/**,/members/register"
   web: "/hystrix.stream,/webjars/**,/resources/**,/swagger-ui.html,/swagger-resources/**,/v2/api-docs"

+ 14 - 14
backend-core/src/main/resources/sqlmap/SubscriptionsMapper.xml

@@ -4,7 +4,7 @@
   <resultMap id="BaseResultMap" type="cn.kdan.pdf.backend.core.model.Subscriptions">
     <id column="id" jdbcType="VARCHAR" property="id" />
     <result column="member_id" jdbcType="VARCHAR" property="memberId" />
-    <result column="target_tpe" jdbcType="VARCHAR" property="targetTpe" />
+    <result column="target_type" jdbcType="VARCHAR" property="targetType" />
     <result column="target_id" jdbcType="INTEGER" property="targetId" />
     <result column="price" jdbcType="REAL" property="price" />
     <result column="status" jdbcType="INTEGER" property="status" />
@@ -78,7 +78,7 @@
     </where>
   </sql>
   <sql id="Base_Column_List">
-    id, member_id, target_tpe, target_id, price, `status`, start_date, end_date, created_at, 
+    id, member_id, target_type, target_id, price, `status`, start_date, end_date, created_at, 
     updated_at, deleted_at, total_points, total_period, pricing_discount_id, payment, 
     member_referral_id
   </sql>
@@ -113,13 +113,13 @@
     </if>
   </delete>
   <insert id="insert" parameterType="cn.kdan.pdf.backend.core.model.Subscriptions">
-    insert into subscriptions (id, member_id, target_tpe, 
+    insert into subscriptions (id, member_id, target_type, 
       target_id, price, `status`, 
       start_date, end_date, created_at, 
       updated_at, deleted_at, total_points, 
       total_period, pricing_discount_id, payment, 
       member_referral_id)
-    values (#{id,jdbcType=VARCHAR}, #{memberId,jdbcType=VARCHAR}, #{targetTpe,jdbcType=VARCHAR}, 
+    values (#{id,jdbcType=VARCHAR}, #{memberId,jdbcType=VARCHAR}, #{targetType,jdbcType=VARCHAR}, 
       #{targetId,jdbcType=INTEGER}, #{price,jdbcType=REAL}, #{status,jdbcType=INTEGER}, 
       #{startDate,jdbcType=TIMESTAMP}, #{endDate,jdbcType=TIMESTAMP}, #{createdAt,jdbcType=TIMESTAMP}, 
       #{updatedAt,jdbcType=TIMESTAMP}, #{deletedAt,jdbcType=TIMESTAMP}, #{totalPoints,jdbcType=INTEGER}, 
@@ -135,8 +135,8 @@
       <if test="memberId != null">
         member_id,
       </if>
-      <if test="targetTpe != null">
-        target_tpe,
+      <if test="targetType != null">
+        target_type,
       </if>
       <if test="targetId != null">
         target_id,
@@ -185,8 +185,8 @@
       <if test="memberId != null">
         #{memberId,jdbcType=VARCHAR},
       </if>
-      <if test="targetTpe != null">
-        #{targetTpe,jdbcType=VARCHAR},
+      <if test="targetType != null">
+        #{targetType,jdbcType=VARCHAR},
       </if>
       <if test="targetId != null">
         #{targetId,jdbcType=INTEGER},
@@ -244,8 +244,8 @@
       <if test="record.memberId != null">
         member_id = #{record.memberId,jdbcType=VARCHAR},
       </if>
-      <if test="record.targetTpe != null">
-        target_tpe = #{record.targetTpe,jdbcType=VARCHAR},
+      <if test="record.targetType != null">
+        target_type = #{record.targetType,jdbcType=VARCHAR},
       </if>
       <if test="record.targetId != null">
         target_id = #{record.targetId,jdbcType=INTEGER},
@@ -295,7 +295,7 @@
     update subscriptions
     set id = #{record.id,jdbcType=VARCHAR},
       member_id = #{record.memberId,jdbcType=VARCHAR},
-      target_tpe = #{record.targetTpe,jdbcType=VARCHAR},
+      target_type = #{record.targetType,jdbcType=VARCHAR},
       target_id = #{record.targetId,jdbcType=INTEGER},
       price = #{record.price,jdbcType=REAL},
       `status` = #{record.status,jdbcType=INTEGER},
@@ -319,8 +319,8 @@
       <if test="memberId != null">
         member_id = #{memberId,jdbcType=VARCHAR},
       </if>
-      <if test="targetTpe != null">
-        target_tpe = #{targetTpe,jdbcType=VARCHAR},
+      <if test="targetType != null">
+        target_type = #{targetType,jdbcType=VARCHAR},
       </if>
       <if test="targetId != null">
         target_id = #{targetId,jdbcType=INTEGER},
@@ -367,7 +367,7 @@
   <update id="updateByPrimaryKey" parameterType="cn.kdan.pdf.backend.core.model.Subscriptions">
     update subscriptions
     set member_id = #{memberId,jdbcType=VARCHAR},
-      target_tpe = #{targetTpe,jdbcType=VARCHAR},
+      target_type = #{targetType,jdbcType=VARCHAR},
       target_id = #{targetId,jdbcType=INTEGER},
       price = #{price,jdbcType=REAL},
       `status` = #{status,jdbcType=INTEGER},

+ 3 - 0
pom.xml

@@ -24,6 +24,9 @@
         <mybatis.generator.configurationFile>${basedir}/src/main/resources/generatorConfig.xml</mybatis.generator.configurationFile>
         <mybatis.generator.overwrite>true</mybatis.generator.overwrite>
         <docker.path>src/main/docker</docker.path>
+
+        <docker.version>1.2.2</docker.version>
+        <docker.host>81.68.234.235:12375</docker.host>
     </properties>
 
     <build>