diff --git a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/OrderMapper.java b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/OrderMapper.java index 4069235044630c7685b7e12e66bfc232714a57ff..6c09b4353b22b893fe569a94a26ac2c8e654250d 100644 --- a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/OrderMapper.java +++ b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/OrderMapper.java @@ -4,6 +4,7 @@ import cn.wisenergy.model.app.OrderInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; /** @@ -31,4 +32,10 @@ public interface OrderMapper extends BaseMapper<OrderInfo> { */ OrderInfo getByTid(@Param("tid")String tid); + /** + * 获å–当å‰ç”¨æˆ·çš„业绩 + * @param userId + * @return + */ + BigDecimal getPerformanceByUserid(String userId); } diff --git a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/RecommendUserMapper.java b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/RecommendUserMapper.java index d0656729255d497de32188f00e7adda0b8bb790a..bced242569e03e4ca1465040a2a68b1a8b0e7d26 100644 --- a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/RecommendUserMapper.java +++ b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/RecommendUserMapper.java @@ -8,9 +8,21 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface RecommendUserMapper extends BaseMapper<RecommendUser> { + /** + * 获å–ç”¨æˆ·ç›´æŽ¨ä¿¡æ¯ + * @param userId 用户Id + * @return ç”¨æˆ·ç›´æŽ¨ä¿¡æ¯ + */ RecommendUser getByUserId(String userId); //æ ¹æ®ç”¨æˆ·æŽ¨è人的userid,查询数æ®åº“用户直推表,看推è人用户是å¦å˜åœ¨ Integer zcByUserId(String userid); + + /** + * 获å–用户的直推用户总人数 + * @param userId 用户Id + * @return 直推用户总人数 + */ + Integer getRecommendUserCountByUserId(String userId); } diff --git a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/TeamPerformanceMapper.java b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/TeamPerformanceMapper.java index ee62b5ee916381131bca4229ca665fffc09c5a58..ad8647e5e5b2b60933ec6a28c993644e4e7aa6f3 100644 --- a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/TeamPerformanceMapper.java +++ b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/TeamPerformanceMapper.java @@ -60,4 +60,19 @@ public interface TeamPerformanceMapper extends BaseMapper<TeamPerformance> { Double countTwenty(@Param("yearMonth") String yearMonth); List<TeamPerformance> userTwenty(@Param("yearMonth") String yearMonth); + + /** + * 当å‰ç”¨æˆ·çš„团队总业绩 + * @param userId 当å‰ç”¨æˆ·id + * @return 当å‰ç”¨æˆ·çš„å›¢é˜Ÿç´¯è®¡æ€»ä¸šç»©é‡‘é¢ + */ + Double countUserTeamByUserId(@Param("userId") String userId); + + /** + * 当å‰ç”¨æˆ·æœ¬æœˆå›¢é˜Ÿæ–°å¢žä¸šç»© + * @param userId 用户Id + * @return 当å‰ç”¨æˆ·æœ¬æœˆå›¢é˜Ÿæ–°å¢žä¸šç»© + */ + Double monthUserTeamByuserId(@Param("userid") String userId,@Param("yearMonth") String yearMonth); + } diff --git a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/TeamUserInfoMapper.java b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/TeamUserInfoMapper.java index 3fbf870dd9c3546e1d81d07a1cba2e40a874b4d1..7113246221f474296ad9d7142f0056fa6b321381 100644 --- a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/TeamUserInfoMapper.java +++ b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/TeamUserInfoMapper.java @@ -10,7 +10,20 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface TeamUserInfoMapper extends BaseMapper<TeamUserInfo> { - TeamUserInfo getByUserId(String userid); +// TeamUserInfo getByUserId(String userid); //æ ¹æ®userId查询用户是å¦å˜åœ¨ Integer czByUserId(String userId); + /** + * 获å–ç”¨æˆ·çš„å›¢é˜Ÿä¿¡æ¯ + * @param userId 用户Id + * @return ç”¨æˆ·çš„å›¢é˜Ÿä¿¡æ¯ + */ + TeamUserInfo getByUserId(String userId); + + /** + * 获å–用户的团队总人数 + * @param userId 用户Id + * @return 团队总人数 + */ + Integer getTeamUserCount(String userId); } diff --git a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/UsersMapper.java b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/UsersMapper.java index 9fa0d8950f3cb86153dfe7d8914e80ae627bceeb..f6189ee87fada2179f3f1976ab87d3202a0a6334 100644 --- a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/UsersMapper.java +++ b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/UsersMapper.java @@ -106,4 +106,11 @@ public interface UsersMapper extends BaseMapper<User> { Integer insertbyint(@Param("userId")String userId, @Param("beInvitedCode") String beInvitedCode); Integer edit1(@Param("userId")String userId); Integer getuserIdById(@Param("userId")String userId); + /** + * æ ¹æ®userid获å–èŽ·å–æ‰€æœ‰çš„直接推è人 + * @param inviteCode 用户本人的邀请ç + * @return 所有填写æ¤äººçš„邀请ç 的用户 + */ + List<User> getByInviteCode(@Param("inviteCode") String inviteCode, @Param("userlevel") int userLevel); + } diff --git a/wisenergy-mapper/src/main/resources/mapper/OrderMapper.xml b/wisenergy-mapper/src/main/resources/mapper/OrderMapper.xml index 5275052b7652cf6e36416bbbfc2c8c3536816908..d6f3dbb3ad76a7bf0cb660975d5266bfb9014cdf 100644 --- a/wisenergy-mapper/src/main/resources/mapper/OrderMapper.xml +++ b/wisenergy-mapper/src/main/resources/mapper/OrderMapper.xml @@ -113,4 +113,14 @@ </where> </select> + <select id="getPerformanceByUserid" resultType="java.math.BigDecimal" > + select + sum(payment) + from + <include refid="table"/> + <where> + buyer_id=#{userid} + </where> + </select> + </mapper> \ No newline at end of file diff --git a/wisenergy-mapper/src/main/resources/mapper/RecommendUserMapper.xml b/wisenergy-mapper/src/main/resources/mapper/RecommendUserMapper.xml index f802247211f133b9675261b5eb1671e587c3a762..d9ec5206079ce6fc6a8cb5eb191f37934d25abac 100644 --- a/wisenergy-mapper/src/main/resources/mapper/RecommendUserMapper.xml +++ b/wisenergy-mapper/src/main/resources/mapper/RecommendUserMapper.xml @@ -15,6 +15,8 @@ <result column="partner_num" property="partnerNum"/> <result column="create_time" property="createTime"/> <result column="update_time" property="updateTime"/> + <result column="monthy_count" property="monthyCount"/> + <result column="history_count" property="historyCount"/> </resultMap> <sql id="table"> @@ -28,12 +30,12 @@ <sql id="cols_exclude_id"> user_id,normal_user_num,seedling_num,bronze_tree_num,silver_tree_num, - gold_tree_num,farmer_num,forest_start_num,partner_num,create_time,update_time + gold_tree_num,farmer_num,forest_start_num,partner_num,create_time,update_time,monthy_count,history_count </sql> <sql id="vals"> #{userId},#{normalUserNum},#{seedlingNum},#{bronzeTreeNum},#{silverTreeNum}, - #{goldTreeNum},#{farmerNum},#{forestStartNum},#{partnerNum},now(),now() + #{goldTreeNum},#{farmerNum},#{forestStartNum},#{partnerNum},now(),now(),#{monthy_count},#{history_count} </sql> <sql id="updateCondition"> @@ -45,6 +47,8 @@ <if test="farmerNum != null">referrer_num =#{farmerNum},</if> <if test="forestStartNum != null">referrer_num =#{forestStartNum},</if> <if test="partnerNum != null">referrer_num =#{partnerNum},</if> + <if test="monthyCount != null">referrer_num =#{monthyCount},</if> + <if test="historyCount != null">referrer_num =#{historyCount},</if> update_time =now() </sql> @@ -60,6 +64,8 @@ <if test="partnerNum != null">and referrer_num =#{partnerNum},</if> <if test="createTime != null">and create_time >= #{createTime}</if> <if test="updateTime != null">and #{updateTime} >= update_time</if> + <if test="monthyCount != null">and #{monthyCount} >= monthyCount</if> + <if test="historyCount != null">and #{historyCount} >= historyCount</if> </sql> <select id="getByUserId" resultType="cn.wisenergy.model.app.RecommendUser"> @@ -83,4 +89,15 @@ </select> <!--ç”¨æˆ·ä¿¡æ¯æ’入用户直推表--> + <select id="getRecommendUserCountByUserId" resultType="java.lang.Integer"> + select + (normal_user_num+seedling_num+bronze_tree_num+silver_tree_num+ + gold_tree_num+farmer_num+forest_start_num+partner_num) AS RecommendUserCount + from + <include refid="table"/> + <where> + user_id=#{userId} + </where> + </select> + </mapper> \ No newline at end of file diff --git a/wisenergy-mapper/src/main/resources/mapper/TeamPerformanceMapper.xml b/wisenergy-mapper/src/main/resources/mapper/TeamPerformanceMapper.xml index 31f7108d5e0002d656fb17a5ddb3346960e06b4c..283bffe29ce62b6025cecd26ee6a35e15987200d 100644 --- a/wisenergy-mapper/src/main/resources/mapper/TeamPerformanceMapper.xml +++ b/wisenergy-mapper/src/main/resources/mapper/TeamPerformanceMapper.xml @@ -164,4 +164,22 @@ </where> </select> + <select id="countUserTeamByUserId" resultType="double"> + select sum(month_team_performance) + from + <include refid="table"/> + <where> + user_id=#{userId} + </where> + </select> + + <select id="monthUserTeamByuserId" resultType="double"> + select month_team_performance + from + <include refid="table"/> + <where> + user_id=#{userid} + and `year_month` = #{yearMonth} + </where> + </select> </mapper> \ No newline at end of file diff --git a/wisenergy-mapper/src/main/resources/mapper/TeamUserInfoMapper.xml b/wisenergy-mapper/src/main/resources/mapper/TeamUserInfoMapper.xml index 7fc966ecdc5640b9ee6e09ee5508a01073f1cb03..63e7d38efbbc07de00d0f3fc5aa01fc524368805 100644 --- a/wisenergy-mapper/src/main/resources/mapper/TeamUserInfoMapper.xml +++ b/wisenergy-mapper/src/main/resources/mapper/TeamUserInfoMapper.xml @@ -83,4 +83,14 @@ </select> + <select id="getTeamUserCount" resultType="java.lang.Integer" > + select + (normal_user_num+seedling_num+bronze_tree_num+silver_tree_num+ + gold_tree_num+farmer_num+forest_start_num+partner_num) AS teamUserCount + from + <include refid="table"/> + <where> + user_id=#{userId} + </where> + </select> </mapper> \ No newline at end of file diff --git a/wisenergy-mapper/src/main/resources/mapper/UsersMapper.xml b/wisenergy-mapper/src/main/resources/mapper/UsersMapper.xml index 3165322dd52d24164f6956fb364bc6547fc6d8c9..9e12c20ca3746c2052fd8f6e5be6999c7492418c 100644 --- a/wisenergy-mapper/src/main/resources/mapper/UsersMapper.xml +++ b/wisenergy-mapper/src/main/resources/mapper/UsersMapper.xml @@ -268,5 +268,17 @@ </if> </select> +<!-- 获å–当å‰ç”¨æˆ·çš„æ‰€æœ‰ç›´æŽ¥æŽ¨è人--> + <select id="getByInviteCode" resultType="cn.wisenergy.model.app.User" parameterType="string"> + select + <include refid="cols_all"/> + from + <include refid="table"/> + <where> + be_invited_code=#{inviteCode} + </where> + and user_level=#{userlevel} + </select> + </mapper> diff --git a/wisenergy-model/src/main/java/cn/wisenergy/model/app/RecommendUser.java b/wisenergy-model/src/main/java/cn/wisenergy/model/app/RecommendUser.java index 50ba27b4d13b51392d456b107ae71bf397180441..8a5bd87ed102a581ec4d305ce8a20dedfb0e4a21 100644 --- a/wisenergy-model/src/main/java/cn/wisenergy/model/app/RecommendUser.java +++ b/wisenergy-model/src/main/java/cn/wisenergy/model/app/RecommendUser.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; /** @@ -91,4 +92,16 @@ public class RecommendUser implements Serializable { */ @ApiModelProperty(name = "updateTime", value = "æ›´æ–°æ—¶é—´") private Date updateTime; + + /** + * ç”¨æˆ·å½“æœˆæ¶ˆè´¹é‡‘é¢ + */ + @ApiModelProperty(name = "monthyCount", value = "用户当月消费金é¢") + private BigDecimal monthyCount; + + /** + * ç”¨æˆ·å½“æœˆæ¶ˆè´¹é‡‘é¢ + */ + @ApiModelProperty(name = "history_count", value = "用户累计消费金é¢") + private BigDecimal historyCount; } diff --git a/wisenergy-model/src/main/java/cn/wisenergy/model/vo/UserAndRecommendVo.java b/wisenergy-model/src/main/java/cn/wisenergy/model/vo/UserAndRecommendVo.java new file mode 100644 index 0000000000000000000000000000000000000000..a9e43133182d05ccf13d03cdb23f432aefeda06c --- /dev/null +++ b/wisenergy-model/src/main/java/cn/wisenergy/model/vo/UserAndRecommendVo.java @@ -0,0 +1,27 @@ +package cn.wisenergy.model.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel("UserAndRecommendVo") +public class UserAndRecommendVo { + + /** + * 用户id + */ + private String userId; + + /** + * å½“æœˆæ¶ˆè´¹é‡‘é¢ + */ + private BigDecimal monthyCount; + + /** + * ç´¯è®¡æ¶ˆè´¹é‡‘é¢ + */ + private BigDecimal historyCount; + +} diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/OrderService.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/OrderService.java index c1d71a4c6901edcf23bd236ec885767061319617..6afe29e6ab27f476049897cbec43870542249e85 100644 --- a/wisenergy-service/src/main/java/cn/wisenergy/service/app/OrderService.java +++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/OrderService.java @@ -10,7 +10,16 @@ import com.youzan.cloud.open.sdk.gen.v4_0_0.model.YouzanTradesSoldGetResult; * @author 86187 */ public interface OrderService { + + /** + * æ ¹æ®æœ‰èµžçš„订å•创建时间获å–è®¢å•æ•°æ® + * @throws SDKException + */ void getYouZanOrdersForCreateTime() throws SDKException; + /** + * æ ¹æ®æœ‰èµžçš„订å•修改时间获å–è®¢å•æ•°æ® + * @throws SDKException + */ void getYouZanOrdersForUpdateTime() throws SDKException; } diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/RecommendUserService.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/RecommendUserService.java new file mode 100644 index 0000000000000000000000000000000000000000..483577592550b7594bf05621cc294fa5ec814858 --- /dev/null +++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/RecommendUserService.java @@ -0,0 +1,15 @@ +package cn.wisenergy.service.app; + +import cn.wisenergy.common.utils.R; +import cn.wisenergy.model.app.RecommendUser; +import cn.wisenergy.model.app.User; +import cn.wisenergy.model.vo.UserAndRecommendVo; + +import java.util.List; + +public interface RecommendUserService { + + RecommendUser getMyRecommed(String userId); + + List<UserAndRecommendVo> getMyRecommendInfo(String userId, Integer userLevel); +} diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/TeamUserInfoService.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/TeamUserInfoService.java new file mode 100644 index 0000000000000000000000000000000000000000..0dab35b2f576d48484bfbbad1f21e98471fe1847 --- /dev/null +++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/TeamUserInfoService.java @@ -0,0 +1,14 @@ +package cn.wisenergy.service.app; + +import cn.wisenergy.model.app.TeamUserInfo; + +public interface TeamUserInfoService { + + TeamUserInfo getOneById(String userId); + /** + * 获å–团队总人数 + * @param userId 用户Id + * @return 用户团队总人数 + */ + int getTeamUserCount(String userId); +} diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/UserForestStatusService.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/UserForestStatusService.java new file mode 100644 index 0000000000000000000000000000000000000000..95869bcddd9eb1c29f4b374bef6610fcdd2b5795 --- /dev/null +++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/UserForestStatusService.java @@ -0,0 +1,12 @@ +package cn.wisenergy.service.app; + +import java.util.Map; + +public interface UserForestStatusService { + /** + * ç”¨æˆ·æ£®æž—çŠ¶æ€ + * @param userId + * @return + */ + Map getUserForestStatus(String userId); +} diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/OrderServiceImpl.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/OrderServiceImpl.java index e926df04314cdaffd5f8497a0eca55f478ed03d0..00f0f8bb1d980ff478cbf4be428fecc1ec90badf 100644 --- a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/OrderServiceImpl.java +++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/OrderServiceImpl.java @@ -143,9 +143,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem try { // startUpdateDate = sdf.parse("2021-02-28 11:04:01"); // endUpdateDate = sdf.parse("2021-03-2 16:39:59"); - startCreatedDate = sdf.parse(sdf.format(new Date(date.getTime()-(long) 80*24*60*60*1000))); + startUpdateDate = sdf.parse(sdf.format(new Date(date.getTime()-(long) 80*24*60*60*1000))); log.info("订å•修改开始时间"+sdf.format(startUpdateDate)); - startUpdateDate = sdf.parse(sdf.format(date)); + endUpdateDate = sdf.parse(sdf.format(date)); log.info("订å•ä¿®æ”¹ç»“æŸæ—¶é—´"+sdf.format(endUpdateDate)); } catch (ParseException e) { e.printStackTrace(); @@ -162,8 +162,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem YouzanTradesSoldGetResult.YouzanTradesSoldGetResultOrderinfo youzanOrderInfo = youzanTradesSoldGetResultFullorderinfolist.getFullOrderInfo().getOrderInfo(); YouzanTradesSoldGetResult.YouzanTradesSoldGetResultPayinfo payInfo = youzanTradesSoldGetResultFullorderinfolist.getFullOrderInfo().getPayInfo(); - log.info(youzanTradesSoldGetResultFullorderinfolist.toString()); - //æ ¹æ®ä¿®æ”¹æ—¶é—´èŽ·å–åˆ°çš„æœ‰èµžè®¢å•æ•°æ®çš„Tid String tid = youzanOrderInfo.getTid(); OrderInfo orderByTid = orderMapper.getByTid(tid); diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/RecommendUserServiceImpl.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/RecommendUserServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..fd66de591005f784e698b1fd0ad0b2233a5c6e8b --- /dev/null +++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/RecommendUserServiceImpl.java @@ -0,0 +1,57 @@ +package cn.wisenergy.service.app.impl; + +import cn.wisenergy.common.utils.R; +import cn.wisenergy.mapper.RecommendUserMapper; +import cn.wisenergy.mapper.UsersMapper; +import cn.wisenergy.model.app.RecommendUser; +import cn.wisenergy.model.app.User; +import cn.wisenergy.model.vo.UserAndRecommendVo; +import cn.wisenergy.service.app.RecommendUserService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +@Slf4j +public class RecommendUserServiceImpl implements RecommendUserService { + + @Autowired + RecommendUserMapper recommendUserMapper; + + @Autowired + UsersMapper usersMapper; + + + /** + * 获å–用户的直推信æ¯è¡¨æ•°æ® + * @param userId + * @return + */ + @Override + public RecommendUser getMyRecommed(String userId) { + return recommendUserMapper.getByUserId(userId); + } + + public List<UserAndRecommendVo> getMyRecommendInfo(String userId, Integer userLevel){ + + //当å‰ç”¨æˆ·çš„邀请ç + String userIntiveCode = usersMapper.getByUserId(userId).getInviteCode(); + //通过用户的邀请ç 获å–å„个ç‰çº§çš„ç›´æŽ¨ç”¨æˆ·ä¿¡æ¯ + List<User> byInviteCode = usersMapper.getByInviteCode(userIntiveCode,userLevel); + List<UserAndRecommendVo> userAndRecommendVos = new ArrayList<>(); + for (User user : byInviteCode) { + UserAndRecommendVo userAndRecommendVo = new UserAndRecommendVo(); + userAndRecommendVo.setUserId(user.getUserId()); + userAndRecommendVo.setMonthyCount(recommendUserMapper.getByUserId(userId).getMonthyCount()); + userAndRecommendVo.setHistoryCount(recommendUserMapper.getByUserId(userId).getHistoryCount()); + userAndRecommendVos.add(userAndRecommendVo); + } + + return userAndRecommendVos; + } +} diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/TeamUserInfoServiceImpl.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/TeamUserInfoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..fbf5e13dba7ebb41396b687f30f49cfe8cd63b38 --- /dev/null +++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/TeamUserInfoServiceImpl.java @@ -0,0 +1,39 @@ +package cn.wisenergy.service.app.impl; + +import cn.wisenergy.mapper.TeamUserInfoMapper; +import cn.wisenergy.model.app.TeamUserInfo; +import cn.wisenergy.service.app.TeamUserInfoService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class TeamUserInfoServiceImpl implements TeamUserInfoService { + + @Autowired + TeamUserInfoMapper teamUserInfoMapper; + + /** + * æ ¹æ®ç”¨æˆ·id获å–ç”¨æˆ·çš„å›¢é˜Ÿä¿¡æ¯ + * @param userId + * @return + */ + @Override + public TeamUserInfo getOneById(String userId) { + TeamUserInfo byUserId = teamUserInfoMapper.getByUserId(userId); + return byUserId; + } + + /** + * 获å–团队总人数 + * @param userId 用户Id + * @return 用户团队总人数 + */ + @Override + public int getTeamUserCount(String userId){ + + int teamUserCount = teamUserInfoMapper.getTeamUserCount(userId); + return teamUserCount; + } +} diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserForestStatusServiceImpl.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserForestStatusServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..1b6c0a969e10bfee2aba34a9c743d39ea8c3eb44 --- /dev/null +++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserForestStatusServiceImpl.java @@ -0,0 +1,168 @@ +package cn.wisenergy.service.app.impl; + +import cn.wisenergy.common.utils.DateUtil; +import cn.wisenergy.mapper.*; +import cn.wisenergy.model.app.RecommendUser; +import cn.wisenergy.model.app.TeamPerformance; +import cn.wisenergy.model.app.TeamUserInfo; +import cn.wisenergy.service.app.UserForestStatusService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.xml.ws.soap.Addressing; +import java.math.BigDecimal; +import java.sql.Time; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * ç”¨æˆ·æ£®æž—çŠ¶æ€ + * @author 86187 + */ +@Service +@Slf4j +public class UserForestStatusServiceImpl implements UserForestStatusService { + + @Autowired + UsersMapper usersMapper; + + @Autowired + RecommendUserMapper recommendUserMapper; + + @Autowired + TeamUserInfoMapper teamUserInfoMapper; + + @Autowired + TeamPerformanceMapper teamPerformanceMapper; + + @Autowired + OrderMapper orderMapper; + /** + * æ ¹æ®ç”¨æˆ·id获å–ç”¨æˆ·æ£®æž—çŠ¶æ€ + * @param userId + * @return + */ + + //todo:团队当月新增业绩 + @Override + public Map getUserForestStatus(String userId) { + + //用户å‡çº§æ¡ä»¶ + BigDecimal levelTerm = new BigDecimal(3980); + + HashMap<Object, Object> userForestStatusMap = new HashMap<>(); + + String date = DateUtil.convertDateToStr(new Date(), "yyyy-MM"); + //1.获å–当å‰ç”¨æˆ·çš„ç‰çº§ + Integer userLevel = usersMapper.getByUserId(userId).getUserLevel(); + //2.获å–当å‰ç”¨æˆ·çš„直推总人数 + Integer recommendUserCountByUserId = recommendUserMapper.getRecommendUserCountByUserId(userId); + //3.获å–当å‰ç”¨æˆ·çš„团队总人数 + Integer teamUserCount = teamUserInfoMapper.getTeamUserCount(userId); + //4.团队累计总业绩 + Double teamCountDouble = teamPerformanceMapper.countUserTeamByUserId(userId); + //5.团队当月新增业绩 + Double teamNowCount = teamPerformanceMapper.monthUserTeamByuserId(userId,date); + //ç”¨æˆ·ç›´æŽ¨è¡¨ä¿¡æ¯ + RecommendUser recommendUserMapperByUserId = recommendUserMapper.getByUserId(userId); + //ç”¨æˆ·å›¢é˜Ÿè¡¨ä¿¡æ¯ + TeamUserInfo teamUserInfobyUserId = teamUserInfoMapper.getByUserId(userId); + //è·ç¦»ä¸‹çº§ç›´æŽ¨ç”¨æˆ·è¿˜éœ€å¢žåŠ çš„æ•°é‡ + int recommend =0; + //è·ç¦»ä¸‹çº§å›¢é˜Ÿç”¨æˆ·è¿˜éœ€å¢žåŠ çš„æ•°é‡ + int team =0; + //6.è·ç¦»ä¸‹çº§å‡çº§æ¡ä»¶ + if(userLevel < 2){ + //用户ç‰çº§ < 幼苗 显示业绩缺少é¢åº¦ + //获å–当å‰ç”¨æˆ·çš„业绩 + BigDecimal performanceByUserid = orderMapper.getPerformanceByUserid(userId); + //è·ç¦»å‡çº§è¿˜å·®å¤šå°‘é¢åº¦ + BigDecimal difference = levelTerm.subtract(performanceByUserid); + userForestStatusMap.put("difference",difference); + }else if (userLevel == 2){ + //用户ç‰çº§ä¸ºé’é“œæ ‘ + int levelTerm1 = 20; + Integer seedlingNum = recommendUserMapperByUserId.getSeedlingNum(); + recommend = levelTerm1 - seedlingNum; + userForestStatusMap.put("recommend",recommend); + }else if (userLevel == 3){ + //用户ç‰çº§ä¸ºç™½é“¶æ ‘ + int goldLevelRecommend = 54; + int goldLevelteam = 20; + //直推用户之和 + Integer countRecommend = recommendUserMapperByUserId.getSeedlingNum()+recommendUserMapperByUserId.getSilverTreeNum(); + //æ‰€å·®ç›´æŽ¨ç”¨æˆ·çš„æ•°é‡ + recommend = goldLevelRecommend - countRecommend; + //æ‰€å·®å›¢é˜Ÿç”¨æˆ·çš„æ•°é‡ + team = goldLevelteam - teamUserInfobyUserId.getBronzeTreeNum(); + userForestStatusMap.put("recommend",recommend); + userForestStatusMap.put("team",team); + + }else if (userLevel == 4){ + //用户ç‰çº§ä¸ºé»„é‡‘æ ‘ + int farmerLevelRecommend = 73; + int fammerLevelTeam = 40; + //用户直推之和 + Integer countRecommend = recommendUserMapperByUserId.getSeedlingNum()+recommendUserMapperByUserId.getGoldTreeNum(); + //用户团队之和 + Integer countTeam = teamUserInfobyUserId.getSilverTreeNum(); + //æ‰€å·®ç›´æŽ¨ç”¨æˆ·çš„æ•°é‡ + recommend = farmerLevelRecommend - countRecommend; + //æ‰€å·®å›¢é˜Ÿç”¨æˆ·çš„æ•°é‡ + team = fammerLevelTeam - teamUserInfobyUserId.getBronzeTreeNum(); + userForestStatusMap.put("recommend",recommend); + userForestStatusMap.put("team",team); + + }else if (userLevel == 5){ + //用户ç‰çº§ä¸ºå†œåœºä¸» + int farmerLevelRecommend = 73; + int fammerLevelTeam = 40; + //用户直推之和 + Integer countRecommend = recommendUserMapperByUserId.getSeedlingNum()+recommendUserMapperByUserId.getGoldTreeNum(); + //用户团队之和 + Integer countTeam = teamUserInfobyUserId.getSilverTreeNum(); + //æ‰€å·®ç›´æŽ¨ç”¨æˆ·çš„æ•°é‡ + recommend = farmerLevelRecommend - countRecommend; + //æ‰€å·®å›¢é˜Ÿç”¨æˆ·çš„æ•°é‡ + team = fammerLevelTeam - teamUserInfobyUserId.getBronzeTreeNum(); + userForestStatusMap.put("recommend",recommend); + userForestStatusMap.put("team",team); + }else if (userLevel == 6){ + //用户ç‰çº§ä¸ºæ£®æž—之星 + int forestStartNumLevelRecommend = 101; + int forestStartNumLevelTeam = 170; + //用户直推之和 + Integer countRecommend = recommendUserMapperByUserId.getSeedlingNum()+recommendUserMapperByUserId.getForestStartNum(); + //用户团队之和 + Integer countTeam = teamUserInfobyUserId.getSilverTreeNum()+teamUserInfobyUserId.getGoldTreeNum()+teamUserInfobyUserId.getFarmerNum(); + //æ‰€å·®ç›´æŽ¨ç”¨æˆ·çš„æ•°é‡ + recommend = forestStartNumLevelRecommend - countRecommend; + //æ‰€å·®å›¢é˜Ÿç”¨æˆ·çš„æ•°é‡ + team = forestStartNumLevelTeam - countTeam; + userForestStatusMap.put("recommend",recommend); + userForestStatusMap.put("team",team); + } + + userForestStatusMap.put("userLevel",userLevel); + userForestStatusMap.put("recommendUserCount",recommendUserCountByUserId); + userForestStatusMap.put("teamUserCount",teamUserCount); + if (teamCountDouble == null ){ + userForestStatusMap.put("teamCountDouble",0); + }else { + userForestStatusMap.put("teamCountDouble",teamCountDouble); + } + + if (teamNowCount == null){ + userForestStatusMap.put("teamNowCount",0); + }else { + userForestStatusMap.put("teamNowCount",teamNowCount); + } + return userForestStatusMap; + } + + + +// public +} diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserLevelServiceImlp.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserLevelServiceImlp.java index 4de6b6a4f4f9c47d83e625273f20385a52fd7159..5a38a5b909a5d6461e171ac0d027b459f4640831 100644 --- a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserLevelServiceImlp.java +++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserLevelServiceImlp.java @@ -56,6 +56,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen //用户ç‰çº§å‡çº§ä¸ºå¹¼è‹— 1 //若当å‰ç”¨æˆ·ç‰çº§ä¸º0(普通用户)且跨境é¢åº¦ï¼ˆä¸šç»©æ¶ˆè´¹é‡‘é¢ï¼‰>= 3980 进行å‡çº§0-->1 + //todo:æ ¹æ®ä¸šç»©åŽ»è®¡ç®— 查一次表获å–业绩 if (userLevel == 0 && crossBorderLine.intValue() >= 3980){ user.setUserLevel(1); usersMapper.updateById(user); @@ -435,6 +436,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum()-1); } //邀请人的团队用户信æ¯è¡¨ä¸å¹¼è‹—æ•°é‡ + 1 + //第一波用户是è°é‚€è¯·çš„ teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum() + 1); teamUserInfoMapper.updateById(teamNumInfoBuyId); if("1".equals(intiveUserByUserId.getBeInvitedCode())){ diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserServiceImpl.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserServiceImpl.java index 762f3f45c6e39733450462ca2e20130cc216334a..5f5989660b7a7505931026e32943a75475161ebb 100644 --- a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserServiceImpl.java +++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserServiceImpl.java @@ -54,7 +54,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U @Override public User getByUserId(String userId) { - return null; + return usersMapper.getByUserId(userId); } diff --git a/wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/UserController.java b/wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/UserController.java index c241a37389833b7c07b167a7efa8f4adb629c038..e323d01f5270677e8aeb18596a4c4ccdc4628f62 100644 --- a/wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/UserController.java +++ b/wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/UserController.java @@ -3,21 +3,36 @@ package cn.wisenergy.web.admin.controller.app; import cn.wisenergy.common.constant.RedisConsts; import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.RedisUtils; +import cn.wisenergy.common.utils.StringUtil; +import cn.wisenergy.mapper.RecommendUserMapper; +import cn.wisenergy.mapper.TeamUserInfoMapper; +import cn.wisenergy.model.app.RecommendUser; +import cn.wisenergy.model.app.TeamUserInfo; import cn.wisenergy.model.app.User; +import cn.wisenergy.model.app.UsersDto; +import cn.wisenergy.model.vo.UserAndRecommendVo; +import cn.wisenergy.service.app.RecommendUserService; +import cn.wisenergy.service.app.TeamUserInfoService; +import cn.wisenergy.service.app.UserForestStatusService; import cn.wisenergy.service.app.UserService; import cn.wisenergy.web.common.BaseController; import cn.wisenergy.web.config.JwtConfig; import cn.wisenergy.web.shiro.JwtUtil; +import cn.wisenergy.web.sms.*; +import com.alibaba.druid.sql.ast.statement.SQLIfStatement; +import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.time.Month; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** @@ -32,6 +47,15 @@ public class UserController extends BaseController { @Autowired private UserService userService; + @Autowired + private UserForestStatusService userForestStatusService; + + @Autowired + RecommendUserService recommendUserService; + + @Autowired + TeamUserInfoService teamUserInfoService; + @Autowired private JwtUtil jwtUtil; @@ -73,4 +97,45 @@ public class UserController extends BaseController { return R.ok(token); } + @ApiOperation(value = "获å–ç”¨æˆ·æ£®æž—çŠ¶æ€æŽ¥å£", notes = "获å–ç”¨æˆ·æ£®æž—çŠ¶æ€æŽ¥å£", httpMethod = "GET") + @GetMapping("/forestStatus") + public R<Map> forestStatus(String userId){ + if (null == userId){ + return R.error("å…¥å‚为空"); + } + + try { + Map userForestStatus = userForestStatusService.getUserForestStatus(userId); + return R.ok(userForestStatus); + } catch (Exception e) { + return R.error(1,"è¯·é‡æ–°å°è¯•"); + } + } + + @ApiOperation(value = "获å–用户我的直推信æ¯", notes = "获å–用户我的直推信æ¯", httpMethod = "GET") + @GetMapping("/myRecommend") + public R<Map> getMyRecommend(String userId){ + int userLevel = userService.getByUserId(userId).getUserLevel(); + RecommendUser myRecommed = recommendUserService.getMyRecommed(userId); + Map myRecommedMap = new HashMap(); + myRecommedMap.put("userlevel",userLevel); + myRecommedMap.put("myRecommed",myRecommed); + return R.ok(myRecommedMap); + } + + @ApiOperation(value = "获å–用户我的团队信æ¯", notes = "获å–用户我的团队推信æ¯", httpMethod = "GET") + @GetMapping("/myTeam") + public R<TeamUserInfo> getMyTeam(String userId){ + TeamUserInfo myTeam = teamUserInfoService.getOneById(userId); + return R.ok(myTeam); + } + + @ApiOperation(value = "获å–用户我的直推信æ¯è¯¦æƒ…", notes = "获å–用户我的直推信æ¯è¯¦æƒ…", httpMethod = "GET") + @GetMapping("/myRecommendInfo") + public R<List<UserAndRecommendVo>> getMyRecommendInfo(@RequestParam("userid") String userid, @RequestParam("userlevel") int userlevel){ + List<UserAndRecommendVo> myRecommendInfo = recommendUserService.getMyRecommendInfo(userid, userlevel); + return R.ok(myRecommendInfo); + } + + }