diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/RewardsMapper.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/RewardsMapper.java new file mode 100644 index 0000000..d6186f3 --- /dev/null +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/RewardsMapper.java @@ -0,0 +1,19 @@ +/* + * @Author: Kane + * @Date: 2023-09-06 11:17:44 + * @LastEditors: Kane + * @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/RewardsMapper.java + * @Description: + * + * Copyright (c) ${2022} by Kane, All Rights Reserved. + */ + +package com.cpic.xim.mybatis.mapper; + +import java.util.ArrayList; +import com.cpic.xim.mybatis.pojo.RewardProject; + +public interface RewardsMapper +{ + public ArrayList queryRewardProjects(); +} diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/RewardProject.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/RewardProject.java new file mode 100644 index 0000000..1fe3faf --- /dev/null +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/RewardProject.java @@ -0,0 +1,90 @@ +/* + * @Author: Kane + * @Date: 2023-09-06 11:00:35 + * @LastEditors: Kane + * @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/RewardProject.java + * @Description: 奖励项目对象 + * + * Copyright (c) ${2022} by Kane, All Rights Reserved. + */ +package com.cpic.xim.mybatis.pojo; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * 奖励项目对象 + */ +public class RewardProject +{ + public RewardProject( int rewardCode, String rewardName) + { + this.rewardCode = rewardCode; + this.rewardName = rewardName; + } + + public int getRewardCode() + { + return rewardCode; + } + + public void setRewardCode( int rewardCode ) + { + this.rewardCode = rewardCode; + } + + public String getRewardName() + { + return rewardName; + } + + public void setRewardName( String rewardName ) + { + this.rewardName = rewardName; + } + + @Override + public String toString() + { + return "RewardProject [rewardCode=" + rewardCode + ", rewardName=" + rewardName + "]"; + } + + @Override + public int hashCode() + { + final int prime = 31; + int result = 1; + result = prime * result + rewardCode; + result = prime * result + ((rewardName == null) ? 0 : rewardName.hashCode()); + return result; + } + + @Override + public boolean equals( Object obj ) + { + if ( this == obj ) + return true; + if ( obj == null ) + return false; + if ( getClass() != obj.getClass() ) + return false; + RewardProject other = (RewardProject) obj; + if ( rewardCode != other.rewardCode ) + return false; + if ( rewardName == null ) + { + if ( other.rewardName != null ) + return false; + } else if ( !rewardName.equals( other.rewardName ) ) + return false; + return true; + } + + + // 奖励项目代码 + @JsonProperty("rewardCode") + private int rewardCode; + + // 奖励项目名称 + @JsonProperty("rewardName") + private String rewardName; +} \ No newline at end of file diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/RewardController.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/RewardController.java new file mode 100644 index 0000000..72d335e --- /dev/null +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/RewardController.java @@ -0,0 +1,66 @@ +/* + * @Author: Kane + * @Date: 2023-09-06 10:41:34 + * @LastEditors: Kane + * @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/RewardController.java + * @Description: 坐席奖励相关的请求 + * + * Copyright (c) ${2022} by Kane, All Rights Reserved. + */ +package com.cpic.xim.web.controllers.rewards; + +import java.io.IOException; +import java.util.ArrayList; +import org.apache.ibatis.session.SqlSession; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.cpic.xim.mybatis.mapper.RewardsMapper; +import com.cpic.xim.mybatis.pojo.RewardProject; +import com.cpic.xim.mybatis.utils.MybatisUtils; + +@Controller +@RequestMapping("/rewards") +public class RewardController +{ + // 日志 + private static Logger logger = LoggerFactory.getLogger(RewardController.class); + + private RewardController() {} + + /** + * 相应查询获奖项目清单的请求 + * @return 获奖项目清单的response对象 + */ + @PostMapping("/query_reward_projects.do") + @ResponseBody + public RewardProjectsResponse queryRewardProjecrts() + { + RewardProjectsResponse response = new RewardProjectsResponse(); + + SqlSession session = null; + + try + { + session = MybatisUtils.getSqlSession(); + + RewardsMapper mapper = session.getMapper(RewardsMapper.class); + ArrayList rewards = mapper.queryRewardProjects(); + + response.setSuccess(true); + response.setMessage("查询成功!"); + response.setRewardList(rewards); + } + catch (IOException error ) + { + response.setSuccess(false); + response.setMessage("查询失败!" + error.getMessage()); + response.setRewardList(null); + } + + return response; + } +} \ No newline at end of file diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/RewardProjectsResponse.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/RewardProjectsResponse.java new file mode 100644 index 0000000..0fffd6d --- /dev/null +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/RewardProjectsResponse.java @@ -0,0 +1,46 @@ +/* + * @Author: Kane + * @Date: 2023-09-06 10:59:45 + * @LastEditors: Kane + * @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/RewardProjectsResponse.java + * @Description: 奖励项目请求结果 + * + * Copyright (c) ${2022} by Kane, All Rights Reserved. + */ +package com.cpic.xim.web.controllers.rewards; + +import com.cpic.xim.mybatis.pojo.RewardProject; +import com.cpic.xim.web.controllers.QueryResult; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.ArrayList; + +public class RewardProjectsResponse extends QueryResult +{ + public RewardProjectsResponse( boolean success, String message, + ArrayList rewardList) + { + super( success, message ); + + this.rewardList = rewardList; + } + + public RewardProjectsResponse() + { + super(); + + this.rewardList = null; + } + + public ArrayList getRewardList() + { + return rewardList; + } + + public void setRewardList( ArrayList rewardList ) + { + this.rewardList = rewardList; + } + + @JsonProperty("rewardList") + private ArrayList rewardList; +} \ No newline at end of file diff --git a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/RewardsMapper.xml b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/RewardsMapper.xml new file mode 100644 index 0000000..325e78d --- /dev/null +++ b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/RewardsMapper.xml @@ -0,0 +1,11 @@ + + + + + + + + + \ No newline at end of file diff --git a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mybatis-config.xml b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mybatis-config.xml index 680f549..a678ba2 100644 --- a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mybatis-config.xml +++ b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mybatis-config.xml @@ -25,5 +25,6 @@ + \ No newline at end of file diff --git a/code/后端/desktop_archievement_backend/src/test/java/com/cpic/xim/DesktopArchievement/test/DesktopArchievementTest.java b/code/后端/desktop_archievement_backend/src/test/java/com/cpic/xim/DesktopArchievement/test/DesktopArchievementTest.java index 8c9ba25..36419fd 100644 --- a/code/后端/desktop_archievement_backend/src/test/java/com/cpic/xim/DesktopArchievement/test/DesktopArchievementTest.java +++ b/code/后端/desktop_archievement_backend/src/test/java/com/cpic/xim/DesktopArchievement/test/DesktopArchievementTest.java @@ -23,10 +23,11 @@ import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.cpic.xim.mybatis.mapper.ArchievementMapper; +import com.cpic.xim.mybatis.mapper.RewardsMapper; import com.cpic.xim.mybatis.pojo.MensualArchievementItem; -import com.cpic.xim.utils.archievement.DepartmentArchievement; -import com.cpic.xim.utils.ranking.CallerRankingList; +import com.cpic.xim.mybatis.pojo.RewardProject; import com.cpic.xim.mybatis.utils.MybatisUtils; +import com.cpic.xim.utils.ranking.CallerRankingList; @SuppressWarnings( "all" ) public class DesktopArchievementTest @@ -101,11 +102,11 @@ public class DesktopArchievementTest mapper.getCallerArchievement( params ); Object obj = params.get( "a_mensual_cur" ); - mensual = (ArrayList)params.get( "a_mensual_cur" ); + mensual = (ArrayList) params.get( "a_mensual_cur" ); System.out.println( params.toString() ); System.out.println( mensual.toString() ); - System.out.println( obj.getClass()); + System.out.println( obj.getClass() ); assertTrue( params.size() > 1 ); } @@ -114,4 +115,24 @@ public class DesktopArchievementTest assert (false); } } + + @Test + public void testRewardProjects() + { + try + { + SqlSession session = MybatisUtils.getSqlSession(); + RewardsMapper mapper = session.getMapper( RewardsMapper.class ); + + ArrayList rewards = mapper.queryRewardProjects(); + + System.out.println( rewards ); + assert( rewards.isEmpty() == false ); + + } + catch ( IOException error ) + { + assert( false ); + } + } }