Explorar el Código

Merge branch 'medal-mybatis' into 'master'

..



See merge request !13

chenxz hace 7 años
padre
commit
077d806652

+ 0 - 16
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/mapper/MedalDao.java

@@ -1,16 +0,0 @@
-package cn.iselab.mooctest.user.mapper;
-
-import cn.iselab.mooctest.user.model.Medal;
-import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
-import org.springframework.data.repository.CrudRepository;
-
-/**
- * @Author ROKG
- * @Description
- * @Date: Created in 下午9:22 2018/2/12
- * @Modified By:
- */
-public interface MedalDao extends CrudRepository<Medal, Long>, JpaSpecificationExecutor<Medal>{
-
-    Medal findById(long id);
-}

+ 31 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/mapper/MedalMapper.java

@@ -0,0 +1,31 @@
+package cn.iselab.mooctest.user.mapper;
+
+import cn.iselab.mooctest.user.model.Medal;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.List;
+
+/**
+ * @Author ROKG
+ * @Description
+ * @Date: Created in 下午9:22 2018/2/12
+ * @Modified By:
+ */
+@Mapper
+public interface MedalMapper {
+
+    @Select("select * from medal where id=#{id}")
+    Medal findById(long id);
+
+    @Insert("insert into medal(name,description,img_url,type,is_deleted,create_time) values(#{name},#{description},#{imgUrl},#{type},#{isDeleted},#{createTime})")
+    void save(Medal medal);
+
+    @Update("update medal set name=#{name},description=#{description},is_deleted=#{isDeleted} where id=#{id}")
+    void update(Medal medal);
+
+    @Select("select * from medal where name like concat('%',#{keyword},'%')")
+    List<Medal> findAll(String keyword);
+}

+ 3 - 1
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/service/MedalService.java

@@ -15,6 +15,8 @@ public interface MedalService {
 
     Medal saveMedal(Medal medal);
 
+    Medal updateMedal(Medal medal);
+
     Medal findById(long id);
 
     User2Medal saveUser2Medal(User2Medal medal);
@@ -23,5 +25,5 @@ public interface MedalService {
 
     List<User2Medal> findByPage(long userId);
 
-    List<Medal> findByPage2(String word);
+    List<Medal> findByKeyword(String word);
 }

+ 13 - 28
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/service/impl/MedalServiceImpl.java

@@ -1,20 +1,13 @@
 package cn.iselab.mooctest.user.service.impl;
 
-import cn.iselab.mooctest.user.mapper.MedalDao;
+import cn.iselab.mooctest.user.mapper.MedalMapper;
 import cn.iselab.mooctest.user.mapper.User2MedalDao;
 import cn.iselab.mooctest.user.model.Medal;
 import cn.iselab.mooctest.user.model.User2Medal;
 import cn.iselab.mooctest.user.service.MedalService;
-import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.jpa.domain.Specification;
-import org.springframework.data.jpa.domain.Specifications;
 import org.springframework.stereotype.Service;
 
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
 import java.util.List;
 
 /**
@@ -27,19 +20,26 @@ import java.util.List;
 public class MedalServiceImpl implements MedalService {
 
     @Autowired
-    MedalDao medalDao;
+    MedalMapper medalMapper;
 
     @Autowired
     User2MedalDao user2MedalDao;
 
     @Override
     public Medal saveMedal(Medal medal){
-        return medalDao.save(medal);
+        medalMapper.save(medal);
+        return medal;
+    }
+
+    @Override
+    public Medal updateMedal(Medal medal){
+        medalMapper.update(medal);
+        return medal;
     }
 
     @Override
     public Medal findById(long id){
-        return medalDao.findById(id);
+        return medalMapper.findById(id);
     }
 
     @Override
@@ -63,23 +63,8 @@ public class MedalServiceImpl implements MedalService {
     }
 
     @Override
-    public List<Medal> findByPage2(String word){
-        Specifications<Medal> where=Specifications.where(getMedal(word));
-        return medalDao.findAll(where);
-    }
-
-    private Specification<Medal> getMedal(String keyword){
-        return new Specification<Medal>() {
-            @Override
-            public Predicate toPredicate(Root<Medal> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
-                Predicate p=criteriaBuilder.conjunction();
-                if (keyword != null) {
-                    p.getExpressions()
-                            .add(criteriaBuilder.like(root.get("name"),"%"+ StringUtils.trim(keyword) +"%"));
-                }
-                return p;
-            }
-        };
+    public List<Medal> findByKeyword(String word){
+        return medalMapper.findAll(word);
     }
 
 }

+ 1 - 1
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/web/logic/impl/MedalLogicImpl.java

@@ -74,7 +74,7 @@ public class MedalLogicImpl extends BaseLogic implements MedalLogic {
 
     @Override
     public List<MedalDTO> getMedals(String keyword, Long userId){
-        List<Medal> medals=medalService.findByPage2(keyword);
+        List<Medal> medals=medalService.findByKeyword(keyword);
         return medals.parallelStream().map(medal -> {
             MedalDTO medalDTO=medalwrapper.wrap(medal);
             medalDTO.setCaughted(medalService.findByUserIdAndMedalId(userId, medal.getId())!=null?true:false);

+ 3 - 3
mooctest-user-server/src/main/resources/application.yaml

@@ -36,9 +36,9 @@ spring:
     profiles: dev
     datasource:
         driverClassName: com.mysql.jdbc.Driver
-        url: jdbc:mysql://101.37.175.111:3306/mooctest_user?useUnicode=yes&characterEncoding=UTF-8
-        username: mooctest
-        password: secr3t!
+        url: jdbc:mysql://127.0.0.1:3306/mooctest_user?useUnicode=yes&characterEncoding=UTF-8
+        username: root
+        password: cxz6518
 
     dubbo:
         application.name: user-service-provider