From d4fe97d570708f11d24d7b06b4eb322173702514 Mon Sep 17 00:00:00 2001 From: liuyingfang <1357764963@qq.com> Date: Fri, 21 Jul 2023 19:30:00 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=8E=A8=E5=B9=BF=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=A4=A7=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MainPageController.java | 43 +++- .../controller/UserAppController.java | 16 +- .../main/java/cn/pluss/platform/util/N.java | 47 +++++ .../platform/mapper/MerchantOrderMapper.java | 21 +- .../platform/mapper/MerchantProfitMapper.java | 61 ++++++ .../pluss/platform/mapper/UserAppMapper.java | 1 + .../platform/mapper/UserPromotionMapper.java | 11 + .../resources/mapper/MerchantOrder-sqlmap.xml | 14 ++ .../mapper/MerchantProfit-sqlmap.xml | 90 +++++++- .../main/resources/mapper/UserApp-sqlmap.xml | 196 ++++++++++++++++++ .../resources/mapper/UserPromotionMapper.xml | 39 +++- .../pluss/platform/entity/MerchantProfit.java | 7 + .../pluss/platform/vo/MerchantProfitVO.java | 60 ++++++ .../java/cn/pluss/platform/vo/SpreadData.java | 2 +- .../pluss/platform/app/MainPageService.java | 3 + .../impl/AgentStaffMainPageServiceImpl.java | 7 + .../app/impl/PromoterMainPageServiceImpl.java | 95 ++++++++- .../impl/account/AccountServiceImpl.java | 2 +- .../MerchantChannelStatusService.java | 8 + .../impl/MerchantOrderServiceImpl.java | 23 ++ .../merchantProfit/MerchantProfitService.java | 6 + .../impl/MerchantProfitServiceImpl.java | 79 +++++++ .../userApp/impl/UserAppServiceImpl.java | 2 +- .../userInfo/impl/BaseUserInfoService.java | 24 ++- .../webapp/WEB-INF/jsp/merchant/share.jsp | 6 - 25 files changed, 805 insertions(+), 58 deletions(-) create mode 100644 pluss-common-bundle/src/main/java/cn/pluss/platform/util/N.java create mode 100644 pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantProfitVO.java diff --git a/pluss-api-page/src/main/java/cn/pluss/platform/controller/MainPageController.java b/pluss-api-page/src/main/java/cn/pluss/platform/controller/MainPageController.java index 9deb9f1..70e0c16 100644 --- a/pluss-api-page/src/main/java/cn/pluss/platform/controller/MainPageController.java +++ b/pluss-api-page/src/main/java/cn/pluss/platform/controller/MainPageController.java @@ -4,13 +4,17 @@ import cn.pluss.platform.api.Result; import cn.pluss.platform.api.ResultGenerator; import cn.pluss.platform.app.MainPageService; import cn.pluss.platform.entity.UserApp; +import cn.pluss.platform.merchantProfit.MerchantProfitService; import cn.pluss.platform.userApp.UserAppService; +import cn.pluss.platform.vo.MerchantProfitVO; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.List; import java.util.Map; @RestController @@ -25,6 +29,8 @@ public class MainPageController { @Autowired private MainPageService agentStaffMainPageService; + @Resource + private MerchantProfitService merchantProfitService; /** * @page 商户推广 @@ -37,12 +43,35 @@ public class MainPageController { UserApp userApp = userAppService.queryUserAppByToken(); Map resultMap; - if ("agent_staff".equals(userApp.getUserType())) { - resultMap = agentStaffMainPageService.getSpreadData(userApp.getUserId() + ""); - } else { - resultMap = promoterMainPageService.getSpreadData(userApp.getUserId() + ""); - } + resultMap = promoterMainPageService.getSpreadData(userApp.getUserId() + ""); return ResultGenerator.genSuccessResult(resultMap); } + + @GetMapping("/userApp/modifyFee") + public Result modifyFee(@RequestParam("id") Integer id, @RequestParam("fee") BigDecimal fee){ + UserApp result = userAppService.queryUserBaseInfoByToken(); + promoterMainPageService.modifyFee(result.getUserId(), id, fee); + return ResultGenerator.genSuccessResult(); + } + + /** + * 团队管理 + * @param name + * @param page + * @param size + * @param typeCode + * @return + */ + @GetMapping("/userApp/teamControl") + public Result teamControl(String name, + @RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "10") Integer size, + @RequestParam("typeCode") String typeCode){ + UserApp result = userAppService.queryUserBaseInfoByToken(); + Map merchantProfitVOS = merchantProfitService.teamList(typeCode, result.getUserId(), + page,size,name); + return ResultGenerator.genSuccessResult(merchantProfitVOS); + } + } diff --git a/pluss-api-page/src/main/java/cn/pluss/platform/controller/UserAppController.java b/pluss-api-page/src/main/java/cn/pluss/platform/controller/UserAppController.java index 8f77c5a..ef2f186 100644 --- a/pluss-api-page/src/main/java/cn/pluss/platform/controller/UserAppController.java +++ b/pluss-api-page/src/main/java/cn/pluss/platform/controller/UserAppController.java @@ -383,14 +383,16 @@ public class UserAppController { QueryWrapper QueryWrapper = new QueryWrapper<>(); QueryWrapper.eq("user_id", result.getUserId()); UserPromotion userPromotion = userPromotionService.getOne(QueryWrapper); - if (userPromotion== null) { - MsgException.checkBlank("", "用户状态异常"); - } - result.setTypeCode(userPromotion == null?"null":userPromotion.getTypeCode()); - result.setMinFee(userPromotion == null?"null":userPromotion.getCurrentFee()); + if("promoter".equals(result.getUserType())) { + if (userPromotion == null) { + MsgException.checkBlank("", "用户状态异常"); + } + result.setTypeCode(userPromotion == null ? "null" : userPromotion.getTypeCode()); + result.setMinFee(userPromotion == null ? "null" : userPromotion.getCurrentFee()); - result.setMaxFee("0.32"); - result.setIsExtend(userPromotion.getIsExtend()); + result.setMaxFee("0.32"); + result.setIsExtend(userPromotion.getIsExtend()); + } return ResultGenerator.genSuccessResult(result); } diff --git a/pluss-common-bundle/src/main/java/cn/pluss/platform/util/N.java b/pluss-common-bundle/src/main/java/cn/pluss/platform/util/N.java new file mode 100644 index 0000000..8938a4f --- /dev/null +++ b/pluss-common-bundle/src/main/java/cn/pluss/platform/util/N.java @@ -0,0 +1,47 @@ +package cn.pluss.platform.util; + +import java.math.BigDecimal; + +import static java.math.BigDecimal.ROUND_DOWN; + +public class N { + + public static final int SCALE = 6; + + public static final boolean isZero(BigDecimal num) { + return num == null || BigDecimal.ZERO.compareTo(num) == 0; + } + + public static final boolean isNull(BigDecimal num) { + return num == null; + } + + + public static final boolean eq(BigDecimal n1, BigDecimal n2) { + return (!isNull(n1) && !isNull(n2) && n1.compareTo(n2) == 0);//n1==n2 + } + + public static final boolean gt(BigDecimal n1, BigDecimal n2) { + return (!isNull(n1) && !isNull(n2) && n1.compareTo(n2) > 0);//n1>n2 + } + + public static final boolean egt(BigDecimal n1, BigDecimal n2) { + return (!isNull(n1) && !isNull(n2) && n1.compareTo(n2) >= 0); + } + + + public static final BigDecimal mul(BigDecimal b1, BigDecimal b2) { + if (isNull(b1) || isNull(b2)) + throw new IllegalArgumentException(); + + return b1.multiply(b2).setScale(SCALE, ROUND_DOWN); + } + + + public static final BigDecimal div(BigDecimal b1, BigDecimal b2) { + if (isNull(b1) || isZero(b2)) + throw new IllegalArgumentException(); + + return b1.divide(b2, SCALE, ROUND_DOWN); + } +} diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantOrderMapper.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantOrderMapper.java index 561f590..1a113e7 100644 --- a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantOrderMapper.java +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantOrderMapper.java @@ -135,7 +135,7 @@ public interface MerchantOrderMapper extends BaseMapper { Double queryMerchantOrderEnterFeeByTime(Map map); Double queryMerchantOrderShareMoneyByTime(Map map); - + BigDecimal queryMerchantOrderMoneyByTime(Map map); /** * * queryMerchantOrderPageShuju:(最新统计订单方法).
@@ -235,6 +235,7 @@ public interface MerchantOrderMapper extends BaseMapper { "WHERE merchantCode = #{merchantCode} AND createDate = #{date} AND `status` IN (1, 2)") Map getConsumeFee(@Param("merchantCode") String merchantCode, @Param("date") String date); + Map querySumCount(Map params); /** @@ -427,5 +428,23 @@ public interface MerchantOrderMapper extends BaseMapper { @Select("SELECT * FROM tb_pluss_merchant_order WHERE mercOrderNo = #{mercOrderNo} limit 1") MerchantOrder getByMercOrderNo(String mercOrderNo); + @Select("SELECT count(0)\n" + + "FROM tb_pluss_merchant_order mo\n" + + "LEFT JOIN tb_pluss_user_app ua ON ua.merchantCode = mo.merchantCode\n" + + "WHERE\n" + + " ua.userId = #{userId} ") + Integer getCountUser(@Param("userId") Long userId); + + @Select("SELECT IFNULL(SUM(consumeFee - refundAmt),0) FROM tb_pluss_merchant_order WHERE merchantCode=#{merchantCode} AND `status` = 1") + BigDecimal getAmountData(@Param("merchantCode") String merchantCode); + + /** + * 昨日收款 + * @param startDate + * @param endDate + * @return + */ + @Select("SELECT IFNULL(SUM(consumeFee - refundAmt),0) FROM tb_pluss_merchant_order WHERE merchantCode=#{merchantCode} AND `status` = 1 AND transDt >= #{startDate} AND transDt <= #{endDate}") + BigDecimal getPlatformAmtYestday(@Param("merchantCode") String merchantCode,@Param("startDate") Date startDate, @Param("endDate") Date endDate); } diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantProfitMapper.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantProfitMapper.java index 34736a9..48252f3 100644 --- a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantProfitMapper.java +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantProfitMapper.java @@ -1,7 +1,9 @@ package cn.pluss.platform.mapper; import cn.pluss.platform.dto.MerchantFeeDTO; +import cn.pluss.platform.entity.MerchantChannelStatus; import cn.pluss.platform.entity.MerchantProfit; +import cn.pluss.platform.vo.MerchantProfitVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -67,5 +69,64 @@ public interface MerchantProfitMapper extends BaseMapper { Map getProfitAmtCount(MerchantProfit condition); + + /** + * 今日收益 + * @param userId + * @return + */ + @Select("SELECT\n" + + "\tsum( t.price ) \n" + + "FROM\n" + + "\ttb_pluss_merchant_profit t \n" + + "WHERE\n" + + "\tt.type = 5 \n" + + "\tAND t.userId = #{userId} \n" + + "\tAND date_format( `t`.`createDt`, '%Y-%m-%d' ) = date_format(( curdate() - INTERVAL 0 DAY ), '%Y-%m-%d' );") + BigDecimal getTodaySum(@Param("userId")String userId); + + /** + * 直属商户交易金额 + * @return + */ + @Select("SELECT\n" + + "\tsum( o.consumeFee ) \n" + + "FROM\n" + + "\ttb_pluss_merchant_order o\n" + + "\tLEFT JOIN tb_pluss_merchant_base_info b ON o.merchantCode = b.merchantCode\n" + + "\tLEFT JOIN tb_pluss_user_promotion p ON b.userId = p.user_id \n" + + "WHERE\n" + + "\to.`status` = 1 \n" + + "\tAND p.parent_user_id = #{userId}") + BigDecimal getConsumeFee(@Param("userId") String userId); + + /** + * 团队总交易金额 + * @param userId + * @return + */ + BigDecimal getConsumeFeeTeam(@Param("userId") String userId); + + /** + * 团队总交易金额(今日) + * @param userId + * @return + */ + BigDecimal getConsumeFeeTeamToday(@Param("userId") String userId); + + List getTeamList(@Param("typeCode") String typeCode, @Param("userId") Long userId, + @Param("page") Integer page, @Param("size") Integer size, @Param("userName") String userName); + + @Select("SELECT\n" + + "\tcount(*) \n" + + "FROM\n" + + "\ttb_pluss_user_promotion \n" + + "WHERE\n" + + "\tparent_user_id = #{userId}\n" + + "\tAND type_code = #{typeCode}") + Integer getCountChild( @Param("userId") Long userId,@Param("typeCode") String typeCod); + + List getChannelStatus(@Param("merchantCode") String merchantCode); + } diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserAppMapper.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserAppMapper.java index 353754e..a3fcd5b 100644 --- a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserAppMapper.java +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserAppMapper.java @@ -45,6 +45,7 @@ public interface UserAppMapper extends BaseMapper { MerchSummaryVO selectBillCountAndTotalFee(@Param("condition") MerchSearchDTO condition); Integer queryUserAppPageCount(Map map); + Integer queryUserPageCount(Map map); List queryUserInfoVOPage(Map map); diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserPromotionMapper.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserPromotionMapper.java index 07156b5..3589855 100644 --- a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserPromotionMapper.java +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserPromotionMapper.java @@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.math.BigDecimal; import java.util.List; @Mapper @@ -31,4 +32,14 @@ public interface UserPromotionMapper extends BaseMapper { "WHERE\n" + "\tP.user_id = #{userId}") UserPromotion selectByUserId(@Param("userId") String userId); + + UserPromotion selectByPrimaryKey(Long userId); + @Select("select max(current_fee) from tb_pluss_user_promotion where parent_user_id=#{id}") + BigDecimal selectMaxFeeByUserId(@Param("id")String id); + @Select(" select *\n" + + " from tb_pluss_user_promotion\n" + + " where user_id = #{userId}" + + " limit 1 ") + UserPromotion getOne(@Param("userId") Long userId); + int updateByPrimaryKey(UserPromotion record); } diff --git a/pluss-dao-bundle/src/main/resources/mapper/MerchantOrder-sqlmap.xml b/pluss-dao-bundle/src/main/resources/mapper/MerchantOrder-sqlmap.xml index cef66f6..cd27fac 100644 --- a/pluss-dao-bundle/src/main/resources/mapper/MerchantOrder-sqlmap.xml +++ b/pluss-dao-bundle/src/main/resources/mapper/MerchantOrder-sqlmap.xml @@ -2981,4 +2981,18 @@ #{item} + + diff --git a/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml b/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml index e1aff49..a362487 100644 --- a/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml +++ b/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml @@ -248,14 +248,19 @@ @@ -555,7 +559,7 @@ @@ -865,4 +866,71 @@ GROUP BY userId + + + + diff --git a/pluss-dao-bundle/src/main/resources/mapper/UserApp-sqlmap.xml b/pluss-dao-bundle/src/main/resources/mapper/UserApp-sqlmap.xml index 814f114..1e4698a 100644 --- a/pluss-dao-bundle/src/main/resources/mapper/UserApp-sqlmap.xml +++ b/pluss-dao-bundle/src/main/resources/mapper/UserApp-sqlmap.xml @@ -239,6 +239,202 @@ + + SELECT * FROM tb_pluss_user_promotion WHERE `user_id` IN #{item} + diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/MerchantProfit.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/MerchantProfit.java index 1bcf973..a621194 100644 --- a/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/MerchantProfit.java +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/MerchantProfit.java @@ -81,6 +81,10 @@ public class MerchantProfit { @TableField(exist = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; + //订单支付时间 + @TableField(exist = false) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date transDt; @DateTimeFormat(pattern = "yyyy-MM-dd") @TableField(select = false, insertStrategy = FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) @@ -115,6 +119,9 @@ public class MerchantProfit { @TableField(exist = false) private String userType; + @TableField(exist = false) + private String type_code; + public MerchantProfit(UserApp userApp, UserApp profitUserApp, MerchantOrder order,BigDecimal profitAmt,BigDecimal profitRate,String type,String orderType) { this.userId = profitUserApp.getUserId(); //V2.0模式 diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantProfitVO.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantProfitVO.java new file mode 100644 index 0000000..74f7142 --- /dev/null +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantProfitVO.java @@ -0,0 +1,60 @@ +package cn.pluss.platform.vo; + +import cn.pluss.platform.entity.MerchantChannelStatus; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * @author 团队管理 + */ +@Data +public class MerchantProfitVO { + private String userName; + private String phone; + /** + * 费率 + */ + private String current_fee; + /** + * 角色 + */ + private String type_code; + /** + * userId + */ + private String userId; + /** + *总交易金额 + */ + private BigDecimal consumeFee = BigDecimal.ZERO; + /** + * 本月交易金额 + */ + private BigDecimal currentMonth = BigDecimal.ZERO; + /** + * 昨日收款 + */ + private BigDecimal yestedayConsumeFee = BigDecimal.ZERO; + /** + *昨日收款笔数 + */ + private Integer countNum = 0; + /** + * 商户号 + */ + private String merchantCode; + + /** + * 入网时间 + */ + private String createDt; + + private String statusD1 = "0"; + private String statusD0 = "0"; + private String authorizationStatus = "0"; + private String remarkD1; + private String remarkD0; + +} diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/SpreadData.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/SpreadData.java index c0f4011..c9c9a95 100644 --- a/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/SpreadData.java +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/SpreadData.java @@ -24,7 +24,7 @@ public class SpreadData { private String userId; /** - * 直属商户交易额 + * 银收客额 */ private BigDecimal ownAmt; diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/app/MainPageService.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/app/MainPageService.java index af903a4..dcbfaf3 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/app/MainPageService.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/app/MainPageService.java @@ -1,5 +1,6 @@ package cn.pluss.platform.app; +import java.math.BigDecimal; import java.util.Map; /** @@ -21,4 +22,6 @@ public interface MainPageService { * @return 推广数据 */ Map getSpreadData(String userId); + + void modifyFee(Long userId, Integer id, BigDecimal fee); } diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/AgentStaffMainPageServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/AgentStaffMainPageServiceImpl.java index f63193f..762707b 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/AgentStaffMainPageServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/AgentStaffMainPageServiceImpl.java @@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -93,6 +94,12 @@ public class AgentStaffMainPageServiceImpl implements MainPageService { return resultMap; } + @Override + public void modifyFee(Long userId, Integer id, BigDecimal fee) { + + } + + @Override public Map getHomeData(String userId) { return null; diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/PromoterMainPageServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/PromoterMainPageServiceImpl.java index a6889fa..5cc4552 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/PromoterMainPageServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/PromoterMainPageServiceImpl.java @@ -1,14 +1,19 @@ package cn.pluss.platform.app.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import cn.pluss.platform.app.MainPageService; import cn.pluss.platform.entity.MerchantOrderStatistics; import cn.pluss.platform.entity.UserApp; +import cn.pluss.platform.entity.UserPromotion; import cn.pluss.platform.exception.MsgException; +import cn.pluss.platform.mapper.MerchantProfitMapper; +import cn.pluss.platform.mapper.UserPromotionMapper; import cn.pluss.platform.merchantOrder.MerchantOrderStatisticsService; import cn.pluss.platform.merchantProfit.MerchantProfitService; import cn.pluss.platform.userApp.UserAppService; import cn.pluss.platform.util.DateUtils; +import cn.pluss.platform.util.N; import cn.pluss.platform.util.StringUtil; import cn.pluss.platform.vo.MerchantOrderStatisticsVO; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -17,11 +22,15 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import static com.baomidou.mybatisplus.core.toolkit.StringPool.N; + /** * 推广者的主页面信息查询实现类 */ @@ -36,6 +45,10 @@ public class PromoterMainPageServiceImpl implements MainPageService { @Autowired @Lazy private MerchantOrderStatisticsService mosService; + @Resource + private MerchantProfitMapper merchantProfitMapper; + @Resource + private UserPromotionMapper userPromotionMapper; @Override public Map getSpreadData(String userId) { @@ -63,7 +76,7 @@ public class PromoterMainPageServiceImpl implements MainPageService { Map queryMap = new HashMap<>(); queryMap.put("userId", userId); queryMap.put("status", 1); - // 累计总分润 + // 累计总收益 promoteFee = merchantProfitService.queryMerchantProfitSumPrice(queryMap); if (promoteFee == null) { promoteFee = 0d; @@ -74,6 +87,8 @@ public class PromoterMainPageServiceImpl implements MainPageService { queryMap.put("retype", "1"); totalOrderCount = merchantProfitService.queryMerchantProfitPageCount(queryMap); todayProfit = merchantProfitService.queryMerchantProfitSumPrice(queryMap); + //今日收益 + BigDecimal todaySum = merchantProfitMapper.getTodaySum(userId); //今日新增商户数 QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -81,11 +96,26 @@ public class PromoterMainPageServiceImpl implements MainPageService { queryWrapper.in("merchantAuditStatus", 3, 4); queryWrapper.between("createDt", DateUtils.getDayBegin(), DateUtils.getDayEnd()); Integer newMerchantCount = userAppService.getUserAppWithChannelStatus(queryWrapper); + //直属商户交易 + BigDecimal consumeFee = merchantProfitMapper.getConsumeFee(userId); + //团队商户交易 + BigDecimal consumeFeeTeam = merchantProfitMapper.getConsumeFeeTeam(userId); + //今日收款 + BigDecimal consumeFeeTeamToday = merchantProfitMapper.getConsumeFeeTeamToday(userId); + //总商户数 + Integer countChildAll = merchantProfitMapper.getCountChild(Long.valueOf(userId), "MC"); + resultMap.put("promoteFee", promoteFee + ""); resultMap.put("totalOrderCount", totalOrderCount + ""); resultMap.put("newMerchantCount", newMerchantCount + ""); resultMap.put("todayProfit", todayProfit == null? "0.00": todayProfit + ""); + resultMap.put("todaySum", todaySum); + resultMap.put("consumeFee", consumeFee); + resultMap.put("consumeFeeTeam", consumeFeeTeam); + resultMap.put("consumeFeeTeamToday", consumeFeeTeamToday); + resultMap.put("countChildAll", countChildAll); + String currentMonth = DateUtil.format(new Date(), "yyyy-MM"); MerchantOrderStatistics directTotalCurrentMonth = mosService.getDirectTotal(queryUserApp.getUserId() + "", currentMonth); @@ -107,6 +137,69 @@ public class PromoterMainPageServiceImpl implements MainPageService { return resultMap; } + @Override + public void modifyFee(Long userId, Integer id, BigDecimal fee) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("user_id",id); + UserPromotion promotion = userPromotionMapper.selectOne(queryWrapper); + if(ObjectUtil.isEmpty(promotion)){ + throw new MsgException("费率信息不存在"); + } + UserPromotion userPromotion = userPromotionMapper.selectByPrimaryKey(userId); + if(ObjectUtil.isEmpty(userPromotion)){ + throw new MsgException("父级机构信息异常"); + } + + Boolean flag=true; + switch (userPromotion.getTypeCode()){ + case "MG": + if(promotion.getTypeCode().equals("FO")){ + flag=false; + } + break; + case "FO": + if(promotion.getTypeCode().equals("SO")){ + flag=false; + } + break; + case "SO" : + if(promotion.getTypeCode().equals("AG")){ + flag=false; + } + break; + case "AG": + if(promotion.getTypeCode().equals("FB")){ + flag=false; + } + break; + case "FB": + if(promotion.getTypeCode().equals("SB")){ + flag=false; + } + break; + } + if(flag){ + throw new MsgException("当前用户权限不足"); + } + + if(cn.pluss.platform.util.N.gt(new BigDecimal(userPromotion.getCurrentFee()),fee)){ + throw new MsgException("修改费率不允许小于上级费率"); + } + + BigDecimal lowFee=userPromotionMapper.selectMaxFeeByUserId(id.toString()); + if(ObjectUtil.isNotEmpty(lowFee)&&cn.pluss.platform.util.N.gt(fee,lowFee)){ + throw new MsgException("修改费率不允许小于下级最大费率"); + } + + promotion.setCurrentFee(String.valueOf(fee)); + promotion.setUpdateTime(new Date()); + int i = userPromotionMapper.updateByPrimaryKey(promotion); + if (i < 1){ + throw new MsgException("修改失败"); + } + + } + @Override public Map getHomeData(String userId) { return null; diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchant/impl/account/AccountServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchant/impl/account/AccountServiceImpl.java index ae798bb..25c21e4 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchant/impl/account/AccountServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchant/impl/account/AccountServiceImpl.java @@ -1178,7 +1178,7 @@ public class AccountServiceImpl extends ServiceImpl impl UserApp ua = uaService.getOne(new LambdaQueryWrapper().eq(UserApp::getUserId, bankCardDTO.getUserId())); - MerchantChannelStatus mcs = mcsService.getByMerchantCodeAndChannelType(ua.getMerchantCode(), bankCardDTO.getChannelType()); + MerchantChannelStatus mcs = mcsService.getByMerchantCodeAndChannelTypeNew(ua.getMerchantCode(), bankCardDTO.getChannelType()); MsgException.checkNull(mcs, "商户还未进件"); diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantChannelStatus/MerchantChannelStatusService.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantChannelStatus/MerchantChannelStatusService.java index da68339..8f5326a 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantChannelStatus/MerchantChannelStatusService.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantChannelStatus/MerchantChannelStatusService.java @@ -38,6 +38,14 @@ public interface MerchantChannelStatusService extends IService qWrapper = Wrappers.lambdaQuery(); + qWrapper.eq(MerchantChannelStatus::getVirChannelFlag, channelType); + qWrapper.eq(MerchantChannelStatus::getMerchantCode, merchantCode); + qWrapper.eq(MerchantChannelStatus::getStatus,3); + + return getOne(qWrapper); + } /** * 进件请求前参数校验 diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantOrder/impl/MerchantOrderServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantOrder/impl/MerchantOrderServiceImpl.java index efe8b46..ef46261 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantOrder/impl/MerchantOrderServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantOrder/impl/MerchantOrderServiceImpl.java @@ -565,6 +565,26 @@ public class MerchantOrderServiceImpl extends ServiceImpl mapToday = new HashMap<>(); + mapToday.put("startTime", DateUtils.getDayBegin()); + mapToday.put("endTime", DateUtils.getDayEnd()); + mapToday.put("merchantCode", merchantOrder.getMerchantCode()); + BigDecimal today = merchantOrderMapper.queryMerchantOrderMoneyByTime(mapToday); + //周账单 + HashMap mapWeek = new HashMap<>(); + mapWeek.put("startTime", DateUtils.getBeginDayOfWeek()); + mapWeek.put("endTime", DateUtils.getEndDayOfWeek()); + mapWeek.put("merchantCode", merchantOrder.getMerchantCode()); + BigDecimal week = merchantOrderMapper.queryMerchantOrderMoneyByTime(mapWeek); + //月账单 + HashMap mapMonth = new HashMap<>(); + mapMonth.put("startTime", DateUtils.getBeginDayOfMonth()); + mapMonth.put("endTime", DateUtils.getEndDayOfMonth()); + mapMonth.put("merchantCode", merchantOrder.getMerchantCode()); + BigDecimal month = merchantOrderMapper.queryMerchantOrderMoneyByTime(mapMonth); + Map resultMap = new HashMap<>(); resultMap.put("orderNum", consumeCount == null ? 0 : consumeCount); resultMap.put("returnOrderNum", refundCount == null ? 0 : refundCount); @@ -573,6 +593,9 @@ public class MerchantOrderServiceImpl extends ServiceImpl { * @param orderNumber */ void sendProfitMessage(UserApp userApp, BigDecimal profitMoney, String orderNumber); + + Map teamList(String typeCode, Long userId, Integer page,Integer size,String name); + + Map merchantListData(Long userId); } diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java index ffe07d5..168371d 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java @@ -16,6 +16,7 @@ import cn.pluss.platform.userAssess.UserAssessService; import cn.pluss.platform.userRewardFlow.UserRewardFlowService; import cn.pluss.platform.util.DateUtils; import cn.pluss.platform.util.StringUtil; +import cn.pluss.platform.vo.MerchantProfitVO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -52,6 +53,10 @@ public class MerchantProfitServiceImpl extends ServiceImpl teamList(String typeCode, Long userId,Integer page,Integer size, + String name) { + page = page-1; + switch (typeCode){ + case "AG": + typeCode = "FB"; + break; + case "FB": + typeCode = "SB"; + break; + case "SB": + typeCode = ""; + break; + case "MC": + break; + default: + throw new MsgException("身份错误"); + } + List teamList = merchantProfitMapper.getTeamList(typeCode, userId, page,size,name); + + + Integer countChild = merchantProfitMapper.getCountChild(userId, typeCode); + //商户列表 + if ("MC".equals(typeCode)) { + for (MerchantProfitVO values : teamList) { + if (values.getMerchantCode() != null) { + String merchantCode = values.getMerchantCode(); + List channelStatus = merchantProfitMapper.getChannelStatus(merchantCode); + if (channelStatus != null) { + for (MerchantChannelStatus valuesStatus : channelStatus) { + if ("D1".equals(valuesStatus.getVirChannelFlag())) { + values.setStatusD1(valuesStatus.getStatus()); + values.setRemarkD1(valuesStatus.getStatus()); + values.setAuthorizationStatus(valuesStatus.getAuthorizationStatus()); + } + if ("D0".equals(valuesStatus.getVirChannelFlag())) { + values.setStatusD0(valuesStatus.getStatus()); + values.setRemarkD0(valuesStatus.getStatus()); + } + } + } + Integer countUser = mapperOrderMapper.getCountUser(Long.valueOf(values.getUserId())); + if (countUser > 0) { + values.setCountNum(countUser); + values.setConsumeFee(mapperOrderMapper.getAmountData(values.getMerchantCode())); + values.setYestedayConsumeFee(mapperOrderMapper.getPlatformAmtYestday(values.getMerchantCode(), + DateUtils.getBeginDayOfYesterday(), DateUtils.getEndDayOfYesterDay())); + } + } + } + HashMap hashMap = new HashMap<>(); + hashMap.put("total", countChild); + hashMap.put("teamList", teamList); + return hashMap; + } + //团队管理 + for (MerchantProfitVO values : teamList) { + values.setYestedayConsumeFee(mapperOrderMapper.getPlatformAmtYestday(values.getMerchantCode(), + DateUtils.getBeginDayOfMonth(), DateUtils.getEndDayOfMonth())); + values.setConsumeFee(mapperOrderMapper.getAmountData(values.getMerchantCode())); + } + HashMap hashMap = new HashMap<>(); + hashMap.put("total", countChild); + hashMap.put("teamList", teamList); + return hashMap; + } + + @Override + public Map merchantListData(Long userId) { + + return null; + } + /** * 分润创建2.0模式 * diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/userApp/impl/UserAppServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/userApp/impl/UserAppServiceImpl.java index 68b5204..3c70513 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/userApp/impl/UserAppServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/userApp/impl/UserAppServiceImpl.java @@ -242,7 +242,7 @@ public class UserAppServiceImpl extends ServiceImpl impl long pageSize = ((Integer) map.get("pageSize")).longValue(); Page pageResult = new Page<>(page, pageSize); pageResult.setRecords(result); - Long count = baseMapper.queryUserAppPageCount(map).longValue(); + Long count = baseMapper.queryUserPageCount(map).longValue(); pageResult.setTotal(count); if (result.isEmpty()) { diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/userInfo/impl/BaseUserInfoService.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/userInfo/impl/BaseUserInfoService.java index 436182e..c6bbd79 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/userInfo/impl/BaseUserInfoService.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/userInfo/impl/BaseUserInfoService.java @@ -352,21 +352,10 @@ public abstract class BaseUserInfoService extends ServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("user_id", checkUserInfo.getId()); - UserPromotion promotion= userPromotionMapper.selectOne(queryWrapper); - if(ObjectUtil.isEmpty(promotion)){ - MsgException.checkNull(null,"用户状态错误"); - } - - if("MG".equals(promotion.getTypeCode())||"FO".equals(promotion.getTypeCode())||"SO".equals(promotion.getTypeCode())){ - MsgException.checkNull(null,"此用户不允许登录"); - } // 原则上不能以原密码进行对比,这里只是给后台登录页面一个方便 if (password.equalsIgnoreCase(checkUserInfo.getPassword())) { UserApp queryUserApp; queryUserApp = userAppMapper.selectUserApp(new QueryWrapper<>().eq("ua.userId", checkUserInfo.getId())); - log.error("=====================queryUserApp=====================" + JSON.toJSONString(queryUserApp)); String genRandomNum = StringUtil.genRandomNum(6) + StringUtil.getBillno() + StringUtil.genRandomNum(6); UserApp uApp = new UserApp(); uApp.setToken(genRandomNum); @@ -396,6 +385,19 @@ public abstract class BaseUserInfoService extends ServiceImpl(queryUserApp)); + if ("promoter".equals(queryUserApp.getUserType())){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("user_id", checkUserInfo.getId()); + UserPromotion promotion= userPromotionMapper.selectOne(queryWrapper); + if(ObjectUtil.isEmpty(promotion)){ + MsgException.checkNull(null,"用户状态错误"); + } + + if("MG".equals(promotion.getTypeCode())||"FO".equals(promotion.getTypeCode())||"SO".equals(promotion.getTypeCode())){ + MsgException.checkNull(null,"此用户不允许登录"); + } + } + // TODO 去掉该用户只能登录一个设备 //String genRandomNum = StringUtil.genRandomNum(6) + StringUtil.getBillno() + StringUtil.genRandomNum(6); String genRandomNum = loginName; diff --git a/pluss-wap-page/src/main/webapp/WEB-INF/jsp/merchant/share.jsp b/pluss-wap-page/src/main/webapp/WEB-INF/jsp/merchant/share.jsp index b4d206d..c4199b5 100644 --- a/pluss-wap-page/src/main/webapp/WEB-INF/jsp/merchant/share.jsp +++ b/pluss-wap-page/src/main/webapp/WEB-INF/jsp/merchant/share.jsp @@ -207,13 +207,7 @@ $.alert("两次的密码必须相同!", "系统提示"); return; } - if(typeCode==''){ - $.alert("类型错误") - } - if(currentFee==''){ - $.alert("费率错误") - } $.showLoading("提交中...") $.ajax({ url: ctx + '/merchant/goRegister', From 817223d79f1f1c52667d0c5139e5bcbefd3a7d42 Mon Sep 17 00:00:00 2001 From: liuyingfang <1357764963@qq.com> Date: Tue, 25 Jul 2023 14:41:25 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=8E=A8=E5=B9=BF=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=B0=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MainPageController.java | 4 +- .../controller/MerchantProfitController.java | 16 +++- .../platform/mapper/MerchantProfitMapper.java | 17 ++++- .../pluss/platform/mapper/UserAppMapper.java | 3 + .../mapper/MerchantProfit-sqlmap.xml | 73 ++++++++++++++++--- .../main/resources/mapper/UserApp-sqlmap.xml | 11 +++ .../cn/pluss/platform/vo/ProfitOrderVO.java | 20 +++++ .../app/impl/PromoterMainPageServiceImpl.java | 9 +-- .../impl/MerchantProfitServiceImpl.java | 11 ++- 9 files changed, 141 insertions(+), 23 deletions(-) create mode 100644 pluss-model-bundle/src/main/java/cn/pluss/platform/vo/ProfitOrderVO.java diff --git a/pluss-api-page/src/main/java/cn/pluss/platform/controller/MainPageController.java b/pluss-api-page/src/main/java/cn/pluss/platform/controller/MainPageController.java index 70e0c16..373fef8 100644 --- a/pluss-api-page/src/main/java/cn/pluss/platform/controller/MainPageController.java +++ b/pluss-api-page/src/main/java/cn/pluss/platform/controller/MainPageController.java @@ -65,12 +65,12 @@ public class MainPageController { */ @GetMapping("/userApp/teamControl") public Result teamControl(String name, - @RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "1") Integer current, @RequestParam(defaultValue = "10") Integer size, @RequestParam("typeCode") String typeCode){ UserApp result = userAppService.queryUserBaseInfoByToken(); Map merchantProfitVOS = merchantProfitService.teamList(typeCode, result.getUserId(), - page,size,name); + current,size,name); return ResultGenerator.genSuccessResult(merchantProfitVOS); } diff --git a/pluss-api-page/src/main/java/cn/pluss/platform/controller/MerchantProfitController.java b/pluss-api-page/src/main/java/cn/pluss/platform/controller/MerchantProfitController.java index efdcf0a..f07acc1 100644 --- a/pluss-api-page/src/main/java/cn/pluss/platform/controller/MerchantProfitController.java +++ b/pluss-api-page/src/main/java/cn/pluss/platform/controller/MerchantProfitController.java @@ -14,6 +14,8 @@ import cn.pluss.platform.merchantOrder.MerchantOrderService; import cn.pluss.platform.merchantProfit.MerchantProfitService; import cn.pluss.platform.userApp.UserAppService; import cn.pluss.platform.util.StringUtil; +import cn.pluss.platform.vo.MerchantProfitVO; +import cn.pluss.platform.vo.ProfitOrderVO; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -124,7 +126,7 @@ public class MerchantProfitController { map.put("endTime", sdf.parse(endTime)); } } - + //直属 List merchantProfitList = merchantProfitService.queryMerchantProfitPage(map); if (merchantProfitList != null && merchantProfitList.size() > 0) { @@ -253,5 +255,17 @@ public class MerchantProfitController { merchantProfit = merchantProfitService.queryMerchantProfit(merchantProfit); return ResultGenerator.genSuccessResult(merchantProfit); } + + @GetMapping("/profitOrderList") + public Result> ProfitOrderList(@RequestParam Integer type, @RequestParam Integer page, + @RequestParam Integer size){ + UserApp userApp = userAppService.queryUserAppByToken(); + Integer pageSize = size; + Integer offset = (page-1) * size; + if (type == 1) { + return ResultGenerator.genSuccessResult(merchantProfitMapper.directlyOrder(userApp.getUserId(), pageSize, offset)); + } + return ResultGenerator.genSuccessResult(merchantProfitMapper.teamOrder(userApp.getUserId(), pageSize, offset)); + } } diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantProfitMapper.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantProfitMapper.java index b132cc6..781d829 100644 --- a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantProfitMapper.java +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantProfitMapper.java @@ -1,9 +1,12 @@ package cn.pluss.platform.mapper; +import cn.pluss.platform.api.PageInfo; import cn.pluss.platform.dto.MerchantFeeDTO; import cn.pluss.platform.entity.MerchantChannelStatus; import cn.pluss.platform.entity.MerchantProfit; +import cn.pluss.platform.vo.DeviceGoodsVO; import cn.pluss.platform.vo.MerchantProfitVO; +import cn.pluss.platform.vo.ProfitOrderVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -115,7 +118,7 @@ public interface MerchantProfitMapper extends BaseMapper { BigDecimal getConsumeFeeTeamToday(@Param("userId") String userId); List getTeamList(@Param("typeCode") String typeCode, @Param("userId") Long userId, - @Param("page") Integer page, @Param("size") Integer size, @Param("userName") String userName); + @Param("userName") String userName); @Select("SELECT\n" + "\tcount(*) \n" + @@ -128,5 +131,17 @@ public interface MerchantProfitMapper extends BaseMapper { List getChannelStatus(@Param("merchantCode") String merchantCode); + /** + * 直属交易 + * @param userId + * @param pageSize + * @param offset + * @return + */ + List directlyOrder(@Param("userId") Long userId,@Param("pageSize") Integer pageSize,@Param("offset") Integer offset); + /** + * 团队交易 + */ + List teamOrder(@Param("userId") Long userId,@Param("pageSize") Integer pageSize,@Param("offset") Integer offset); } diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserAppMapper.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserAppMapper.java index a3fcd5b..be580a4 100644 --- a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserAppMapper.java +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserAppMapper.java @@ -2,6 +2,7 @@ package cn.pluss.platform.mapper; import java.io.Serializable; import java.math.BigDecimal; +import java.util.Date; import java.util.List; import java.util.Map; @@ -16,6 +17,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.Data; import lombok.val; import org.apache.ibatis.annotations.Mapper; import cn.pluss.platform.entity.UserApp; @@ -145,6 +147,7 @@ public interface UserAppMapper extends BaseMapper { * 获取指定进件状态的商户 */ Integer selectUserAppWithChannelStatusCount(@Param(Constants.WRAPPER) Wrapper updateWrapper); + Integer selectUserAppWithChannelStatusCountV2(@Param("userId") String userId, @Param("startTime") Date startTime, @Param("endTime") Date endTime); /** * 获取指定进件状态的商户 diff --git a/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml b/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml index a362487..a42cce8 100644 --- a/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml +++ b/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml @@ -248,17 +248,14 @@ @@ -923,7 +921,10 @@ WHERE up.parent_user_id = #{userId} AND up.type_code = #{typeCode} - order by ua.userId ASC limit #{page}, #{size} + + AND ua.userName = #{userName} + + order by ua.userId DESC + + diff --git a/pluss-dao-bundle/src/main/resources/mapper/UserApp-sqlmap.xml b/pluss-dao-bundle/src/main/resources/mapper/UserApp-sqlmap.xml index 1e4698a..6e1cba4 100644 --- a/pluss-dao-bundle/src/main/resources/mapper/UserApp-sqlmap.xml +++ b/pluss-dao-bundle/src/main/resources/mapper/UserApp-sqlmap.xml @@ -1666,4 +1666,15 @@ left join tb_pluss_user_info ui on ua.userId = ui.id where ui.phone = #{phone} and userType not in ('agent_staff','staff') AND LENGTH(ui.phone) = 11 + diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/ProfitOrderVO.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/ProfitOrderVO.java new file mode 100644 index 0000000..d41906b --- /dev/null +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/ProfitOrderVO.java @@ -0,0 +1,20 @@ +package cn.pluss.platform.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 直推间推商户收款 + * @author lyf + */ +@Data +public class ProfitOrderVO { + + private String merchantName; + + private BigDecimal consumeFee; + private String transDt; + + private String orderNumber; +} diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/PromoterMainPageServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/PromoterMainPageServiceImpl.java index 5cc4552..f7d6175 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/PromoterMainPageServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/PromoterMainPageServiceImpl.java @@ -8,6 +8,7 @@ import cn.pluss.platform.entity.UserApp; import cn.pluss.platform.entity.UserPromotion; import cn.pluss.platform.exception.MsgException; import cn.pluss.platform.mapper.MerchantProfitMapper; +import cn.pluss.platform.mapper.UserAppMapper; import cn.pluss.platform.mapper.UserPromotionMapper; import cn.pluss.platform.merchantOrder.MerchantOrderStatisticsService; import cn.pluss.platform.merchantProfit.MerchantProfitService; @@ -49,6 +50,8 @@ public class PromoterMainPageServiceImpl implements MainPageService { private MerchantProfitMapper merchantProfitMapper; @Resource private UserPromotionMapper userPromotionMapper; + @Resource + private UserAppMapper userAppMapper; @Override public Map getSpreadData(String userId) { @@ -91,11 +94,7 @@ public class PromoterMainPageServiceImpl implements MainPageService { BigDecimal todaySum = merchantProfitMapper.getTodaySum(userId); //今日新增商户数 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("parentId", queryUserApp.getUserId()); - queryWrapper.in("merchantAuditStatus", 3, 4); - queryWrapper.between("createDt", DateUtils.getDayBegin(), DateUtils.getDayEnd()); - Integer newMerchantCount = userAppService.getUserAppWithChannelStatus(queryWrapper); + Integer newMerchantCount = userAppMapper.selectUserAppWithChannelStatusCountV2(userId, DateUtils.getDayBegin(), DateUtils.getDayEnd()); //直属商户交易 BigDecimal consumeFee = merchantProfitMapper.getConsumeFee(userId); //团队商户交易 diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java index da4fc7c..c4fac28 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java @@ -1,6 +1,7 @@ package cn.pluss.platform.merchantProfit.impl; import cn.hutool.core.util.ObjectUtil; +import cn.pluss.platform.api.PageInfo; import cn.pluss.platform.constants.Constant; import cn.pluss.platform.entity.*; import cn.pluss.platform.enums.BstLevelCode; @@ -30,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; +import java.util.stream.Collectors; @Service @@ -124,12 +126,13 @@ public class MerchantProfitServiceImpl extends ServiceImpl teamList = merchantProfitMapper.getTeamList(typeCode, userId, page,size,name); + // PageInfo teamList= merchantProfitMapper.getTeamList(typeCode, userId, page,size,name); Integer countChild = merchantProfitMapper.getCountChild(userId, typeCode); //商户列表 if ("MC".equals(typeCode)) { + List teamList = merchantProfitMapper.getTeamList(typeCode, userId,name); for (MerchantProfitVO values : teamList) { if (values.getMerchantCode() != null) { String merchantCode = values.getMerchantCode(); @@ -156,17 +159,21 @@ public class MerchantProfitServiceImpl extends ServiceImpl hashMap = new HashMap<>(); hashMap.put("total", countChild); hashMap.put("teamList", teamList); return hashMap; } //团队管理 + List teamList = merchantProfitMapper.getTeamList(typeCode, userId,name); for (MerchantProfitVO values : teamList) { - values.setYestedayConsumeFee(mapperOrderMapper.getPlatformAmtYestday(values.getMerchantCode(), + values.setCurrentMonth(mapperOrderMapper.getPlatformAmtYestday(values.getMerchantCode(), DateUtils.getBeginDayOfMonth(), DateUtils.getEndDayOfMonth())); values.setConsumeFee(mapperOrderMapper.getAmountData(values.getMerchantCode())); } + teamList = teamList.stream().skip(page * size).limit(size).collect(Collectors.toList()); HashMap hashMap = new HashMap<>(); hashMap.put("total", countChild); hashMap.put("teamList", teamList); From 9e5aca8d74649eca5a3d2c6d23de7010fd70e038 Mon Sep 17 00:00:00 2001 From: liuyingfang <1357764963@qq.com> Date: Thu, 27 Jul 2023 09:53:50 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=8E=A8=E5=B9=BF=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=9C=80=E5=90=8E=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MainPageController.java | 2 +- .../controller/MerchantProfitController.java | 6 +- .../platform/mapper/MerchantProfitMapper.java | 18 ++- .../mapper/MerchantProfit-sqlmap.xml | 136 +++++++++++++++++- .../main/resources/mapper/UserApp-sqlmap.xml | 1 + .../ActivityActivateController.java | 11 +- .../pluss/platform/vo/MerchantProfitVO.java | 13 +- .../cn/pluss/platform/vo/ProfitOrderVO.java | 7 +- .../app/impl/PromoterMainPageServiceImpl.java | 4 +- .../impl/MerchantProfitServiceImpl.java | 121 +++++++++++----- 10 files changed, 260 insertions(+), 59 deletions(-) diff --git a/pluss-api-page/src/main/java/cn/pluss/platform/controller/MainPageController.java b/pluss-api-page/src/main/java/cn/pluss/platform/controller/MainPageController.java index 373fef8..1d8a01d 100644 --- a/pluss-api-page/src/main/java/cn/pluss/platform/controller/MainPageController.java +++ b/pluss-api-page/src/main/java/cn/pluss/platform/controller/MainPageController.java @@ -58,7 +58,7 @@ public class MainPageController { /** * 团队管理 * @param name - * @param page + * @param current * @param size * @param typeCode * @return diff --git a/pluss-api-page/src/main/java/cn/pluss/platform/controller/MerchantProfitController.java b/pluss-api-page/src/main/java/cn/pluss/platform/controller/MerchantProfitController.java index f07acc1..269bff6 100644 --- a/pluss-api-page/src/main/java/cn/pluss/platform/controller/MerchantProfitController.java +++ b/pluss-api-page/src/main/java/cn/pluss/platform/controller/MerchantProfitController.java @@ -258,14 +258,14 @@ public class MerchantProfitController { @GetMapping("/profitOrderList") public Result> ProfitOrderList(@RequestParam Integer type, @RequestParam Integer page, - @RequestParam Integer size){ + @RequestParam Integer size, String startTime, String endTime){ UserApp userApp = userAppService.queryUserAppByToken(); Integer pageSize = size; Integer offset = (page-1) * size; if (type == 1) { - return ResultGenerator.genSuccessResult(merchantProfitMapper.directlyOrder(userApp.getUserId(), pageSize, offset)); + return ResultGenerator.genSuccessResult(merchantProfitMapper.directlyOrder(userApp.getUserId(), pageSize, offset, startTime, endTime)); } - return ResultGenerator.genSuccessResult(merchantProfitMapper.teamOrder(userApp.getUserId(), pageSize, offset)); + return ResultGenerator.genSuccessResult(merchantProfitMapper.teamOrder(userApp.getUserId(), pageSize, offset, startTime, endTime)); } } diff --git a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantProfitMapper.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantProfitMapper.java index 781d829..f14256c 100644 --- a/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantProfitMapper.java +++ b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/MerchantProfitMapper.java @@ -5,6 +5,7 @@ import cn.pluss.platform.dto.MerchantFeeDTO; import cn.pluss.platform.entity.MerchantChannelStatus; import cn.pluss.platform.entity.MerchantProfit; import cn.pluss.platform.vo.DeviceGoodsVO; +import cn.pluss.platform.vo.MerChannelStatusVO; import cn.pluss.platform.vo.MerchantProfitVO; import cn.pluss.platform.vo.ProfitOrderVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -32,6 +33,7 @@ public interface MerchantProfitMapper extends BaseMapper { List queryMerchantProfitPage(Map map); Integer queryMerchantProfitPageCount(Map map); + Integer queryMerchantProfitPageCountV2(@Param("userId") String userId); void saveMerchantProfitBatch(List merchantProfitList); @@ -118,7 +120,12 @@ public interface MerchantProfitMapper extends BaseMapper { BigDecimal getConsumeFeeTeamToday(@Param("userId") String userId); List getTeamList(@Param("typeCode") String typeCode, @Param("userId") Long userId, - @Param("userName") String userName); + @Param("userName") String userName, @Param("pageSize") Integer pageSize, + @Param("offset") Integer offset); + List getMerchantTeamList(@Param("typeCode") String typeCode, @Param("userId") Long userId, + @Param("userName") String userName, @Param("pageSize") Integer pageSize, + @Param("offset") Integer offset); + @Select("SELECT\n" + "\tcount(*) \n" + @@ -128,8 +135,9 @@ public interface MerchantProfitMapper extends BaseMapper { "\tparent_user_id = #{userId}\n" + "\tAND type_code = #{typeCode}") Integer getCountChild( @Param("userId") Long userId,@Param("typeCode") String typeCod); + Integer getCountChildV2( @Param("userId") Long userId); - List getChannelStatus(@Param("merchantCode") String merchantCode); + List getChannelStatus(@Param("merchantCode") String merchantCode); /** * 直属交易 @@ -138,10 +146,12 @@ public interface MerchantProfitMapper extends BaseMapper { * @param offset * @return */ - List directlyOrder(@Param("userId") Long userId,@Param("pageSize") Integer pageSize,@Param("offset") Integer offset); + List directlyOrder(@Param("userId") Long userId,@Param("pageSize") Integer pageSize,@Param("offset") Integer offset, + @Param("startTime") String startTime, @Param("endTime") String endTime); /** * 团队交易 */ - List teamOrder(@Param("userId") Long userId,@Param("pageSize") Integer pageSize,@Param("offset") Integer offset); + List teamOrder(@Param("userId") Long userId,@Param("pageSize") Integer pageSize,@Param("offset") Integer offset, + @Param("startTime") String startTime, @Param("endTime") String endTime); } diff --git a/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml b/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml index a42cce8..9ac065b 100644 --- a/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml +++ b/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml @@ -880,7 +880,8 @@ LEFT JOIN tb_pluss_merchant_base_info b ON b.userId = p.user_id LEFT JOIN tb_pluss_merchant_order v ON v.merchantCode = b.merchantCode WHERE - FIND_IN_SET( p.user_id, ID._ids ) + b.userId != #{userId} + AND FIND_IN_SET( p.user_id, ID._ids ) AND v.status = 1 - + SELECT + p.user_id AS id, + u.loginName AS phone, + ua.userName, + pr.createTime AS createDt, + p.parent_user_id, + pr.trueName AS parentTrueName, + p.type_code, + IFNULL( k.sumConsumeFee, 0 ) AS consumeFee, + IFNULL( k.yestedayConsumeFee, 0 ) AS yestedayConsumeFee, + IFNULL(n.num,0) as countNum, + k.merchantCode + FROM + ( + SELECT + @ids AS _ids, + ( SELECT @ids := GROUP_CONCAT( user_id ) FROM tb_pluss_user_promotion WHERE FIND_IN_SET( parent_user_id, @ids ) ) AS cids, + @l := @l + 1 AS LEVEL + FROM + tb_pluss_user_promotion, + ( SELECT @ids := #{userId}, @l := 0 ) b + WHERE @ids IS NOT NULL ) ID, + tb_pluss_user_promotion p + LEFT JOIN tb_pluss_user_info u ON p.user_id = u.id + LEFT JOIN tb_pluss_user_info pr ON p.parent_user_id = pr.id + left join view_order_user_num n on p.user_id=n.userId + LEFT JOIN tb_pluss_user_app ua ON n.userId = ua.userId + LEFT JOIN ( + SELECT + i.userId, + i.merchantCode, + IFNULL( sum( i.sumConsumeFee ), 0 ) AS sumConsumeFee, + IFNULL( sum( i.yestedayConsumeFee ), 0 ) AS yestedayConsumeFee + FROM + view_order_info i + GROUP BY + i.userId + ) k ON p.user_id = k.userId + WHERE + FIND_IN_SET( p.user_id, ID._ids ) + AND p.user_id != #{userId} + + AND u.trueName = #{userName} + + ORDER BY + user_id + LIMIT #{pageSize} OFFSET #{offset} + + @@ -978,8 +1036,80 @@ user_id ) and v.userId!=#{userId} + + AND v.createDt >= #{startTime} + + + AND v.createDt <= #{endTime} + ORDER BY v.id desc limit #{pageSize} offset #{offset} + + diff --git a/pluss-dao-bundle/src/main/resources/mapper/UserApp-sqlmap.xml b/pluss-dao-bundle/src/main/resources/mapper/UserApp-sqlmap.xml index 6e1cba4..6b1aa0e 100644 --- a/pluss-dao-bundle/src/main/resources/mapper/UserApp-sqlmap.xml +++ b/pluss-dao-bundle/src/main/resources/mapper/UserApp-sqlmap.xml @@ -1674,6 +1674,7 @@ LEFT JOIN tb_pluss_user_promotion up ON ua.userId = up.parent_user_id WHERE up.parent_user_id = #{userId} + AND up.type_code = 'MC' AND up.create_time = ]]> #{startTime} AND up.create_time #{endTime} diff --git a/pluss-manage-page/src/main/java/cn/pluss/platform/controller/activityActivate/ActivityActivateController.java b/pluss-manage-page/src/main/java/cn/pluss/platform/controller/activityActivate/ActivityActivateController.java index fd1b2f6..969ed59 100644 --- a/pluss-manage-page/src/main/java/cn/pluss/platform/controller/activityActivate/ActivityActivateController.java +++ b/pluss-manage-page/src/main/java/cn/pluss/platform/controller/activityActivate/ActivityActivateController.java @@ -48,7 +48,7 @@ public class ActivityActivateController extends BaseNoModelController { /** * 引导页 - * + * * @return */ @RequestMapping(value = "/index", method = RequestMethod.GET) @@ -64,7 +64,7 @@ public class ActivityActivateController extends BaseNoModelController { @RequestMapping(value = "/queryActivityActivateByPage", method = RequestMethod.POST) @ResponseBody public Map queryActivityActivateByPage(@RequestParam(defaultValue = "1") Integer currPage, - String name) { + String name) { Map map = new HashMap<>(16); Map result = new HashMap<>(16); Boolean bol = verifyUserRole(); @@ -182,7 +182,7 @@ public class ActivityActivateController extends BaseNoModelController { /** * 保存对象 - * + * * @throws IOException */ @RequestMapping(value = "/saveActivityActivate", method = RequestMethod.POST) @@ -238,7 +238,7 @@ public class ActivityActivateController extends BaseNoModelController { /** * 修改对象 - * + * * @throws IOException */ @RequestMapping(value = "/updateActivityActivate", method = RequestMethod.POST) @@ -256,7 +256,7 @@ public class ActivityActivateController extends BaseNoModelController { /** * 删除对象 - * + * * @throws IOException */ @RequestMapping(value = "/deleteActivityActivate", method = RequestMethod.POST) @@ -298,5 +298,4 @@ public class ActivityActivateController extends BaseNoModelController { List merchantBaseInfoList = merchantBaseInfoService.queryMerchantBaseInfoList(null); request.setAttribute("merchantBaseInfoList", merchantBaseInfoList); } - } diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantProfitVO.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantProfitVO.java index 74f7142..77f4b8b 100644 --- a/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantProfitVO.java +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantProfitVO.java @@ -1,9 +1,12 @@ package cn.pluss.platform.vo; import cn.pluss.platform.entity.MerchantChannelStatus; +import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.util.Date; import java.util.List; /** @@ -25,6 +28,10 @@ public class MerchantProfitVO { * userId */ private String userId; + /** + * parent_user_id + */ + private Integer parent_user_id; /** *总交易金额 */ @@ -49,12 +56,14 @@ public class MerchantProfitVO { /** * 入网时间 */ - private String createDt; + @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private Date createDt; + private List channelStatus; private String statusD1 = "0"; private String statusD0 = "0"; private String authorizationStatus = "0"; private String remarkD1; private String remarkD0; - } diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/ProfitOrderVO.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/ProfitOrderVO.java index d41906b..987360c 100644 --- a/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/ProfitOrderVO.java +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/ProfitOrderVO.java @@ -1,8 +1,11 @@ package cn.pluss.platform.vo; +import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.util.Date; /** * 直推间推商户收款 @@ -14,7 +17,9 @@ public class ProfitOrderVO { private String merchantName; private BigDecimal consumeFee; - private String transDt; + @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private Date transDt; private String orderNumber; } diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/PromoterMainPageServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/PromoterMainPageServiceImpl.java index f7d6175..6d62e99 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/PromoterMainPageServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/app/impl/PromoterMainPageServiceImpl.java @@ -88,7 +88,7 @@ public class PromoterMainPageServiceImpl implements MainPageService { //今日收款笔数 queryMap.put("recordDate", DateUtils.getDayBegin()); queryMap.put("retype", "1"); - totalOrderCount = merchantProfitService.queryMerchantProfitPageCount(queryMap); + totalOrderCount = merchantProfitMapper.queryMerchantProfitPageCountV2(userId); todayProfit = merchantProfitService.queryMerchantProfitSumPrice(queryMap); //今日收益 BigDecimal todaySum = merchantProfitMapper.getTodaySum(userId); @@ -102,7 +102,7 @@ public class PromoterMainPageServiceImpl implements MainPageService { //今日收款 BigDecimal consumeFeeTeamToday = merchantProfitMapper.getConsumeFeeTeamToday(userId); //总商户数 - Integer countChildAll = merchantProfitMapper.getCountChild(Long.valueOf(userId), "MC"); + Integer countChildAll = merchantProfitMapper.getCountChildV2(Long.valueOf(userId)); resultMap.put("promoteFee", promoteFee + ""); resultMap.put("totalOrderCount", totalOrderCount + ""); diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java index c4fac28..9f2fa5f 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java @@ -1,14 +1,15 @@ package cn.pluss.platform.merchantProfit.impl; import cn.hutool.core.util.ObjectUtil; -import cn.pluss.platform.api.PageInfo; import cn.pluss.platform.constants.Constant; import cn.pluss.platform.entity.*; import cn.pluss.platform.enums.BstLevelCode; import cn.pluss.platform.enums.UserRoleEnum; import cn.pluss.platform.exception.MsgException; -import cn.pluss.platform.mapper.*; -import cn.pluss.platform.merchant.MerchantRateNewService; +import cn.pluss.platform.mapper.MerchantOrderMapper; +import cn.pluss.platform.mapper.MerchantProfitMapper; +import cn.pluss.platform.mapper.UserAppMapper; +import cn.pluss.platform.mapper.UserPromotionMapper; import cn.pluss.platform.merchantProfit.MerchantProfitService; import cn.pluss.platform.notice.NoticeService; import cn.pluss.platform.user.UserLevelService; @@ -16,14 +17,11 @@ import cn.pluss.platform.user.impl.GeneralPushUtil; import cn.pluss.platform.userAssess.UserAssessService; import cn.pluss.platform.userRewardFlow.UserRewardFlowService; import cn.pluss.platform.util.DateUtils; -import cn.pluss.platform.util.StringUtil; +import cn.pluss.platform.vo.MerChannelStatusVO; import cn.pluss.platform.vo.MerchantProfitVO; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -31,7 +29,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; -import java.util.stream.Collectors; @Service @@ -110,7 +107,6 @@ public class MerchantProfitServiceImpl extends ServiceImpl teamList(String typeCode, Long userId,Integer page,Integer size, String name) { - page = page-1; switch (typeCode){ case "AG": typeCode = "FB"; @@ -127,53 +123,104 @@ public class MerchantProfitServiceImpl extends ServiceImpl teamList= merchantProfitMapper.getTeamList(typeCode, userId, page,size,name); + // PageInfo teamList= merchantProfitMapper.getTeamList(typeCode, userId, page,size,name); Integer countChild = merchantProfitMapper.getCountChild(userId, typeCode); + Integer pagerSize = size; + Integer offset = (page - 1) * size; //商户列表 if ("MC".equals(typeCode)) { - List teamList = merchantProfitMapper.getTeamList(typeCode, userId,name); + List teamList = merchantProfitMapper.getMerchantTeamList(typeCode, userId, name, pagerSize, offset); for (MerchantProfitVO values : teamList) { + List list = new ArrayList<>(); if (values.getMerchantCode() != null) { - String merchantCode = values.getMerchantCode(); - List channelStatus = merchantProfitMapper.getChannelStatus(merchantCode); - if (channelStatus != null) { - for (MerchantChannelStatus valuesStatus : channelStatus) { - if ("D1".equals(valuesStatus.getVirChannelFlag())) { - values.setStatusD1(valuesStatus.getStatus()); - values.setRemarkD1(valuesStatus.getStatus()); - values.setAuthorizationStatus(valuesStatus.getAuthorizationStatus()); - } - if ("D0".equals(valuesStatus.getVirChannelFlag())) { - values.setStatusD0(valuesStatus.getStatus()); - values.setRemarkD0(valuesStatus.getStatus()); - } - } - } - Integer countUser = mapperOrderMapper.getCountUser(Long.valueOf(values.getUserId())); - if (countUser > 0) { - values.setCountNum(countUser); - values.setConsumeFee(mapperOrderMapper.getAmountData(values.getMerchantCode())); - values.setYestedayConsumeFee(mapperOrderMapper.getPlatformAmtYestday(values.getMerchantCode(), - DateUtils.getBeginDayOfYesterday(), DateUtils.getEndDayOfYesterDay())); - } + MerChannelStatusVO V0 = new MerChannelStatusVO(); + V0.setStatus("1"); + V0.setVirChannelFlag("D1"); + V0.setAuthorizationStatus("0"); + V0.setRemark(""); + list.add(V0); + MerChannelStatusVO V1 = new MerChannelStatusVO(); + V1.setStatus("1"); + V1.setVirChannelFlag("D0"); + V1.setAuthorizationStatus("0"); + V1.setRemark(""); + list.add(V1); + values.setChannelStatus(list); + continue; } - } + String merchantCode = values.getMerchantCode(); + List channelStatus = merchantProfitMapper.getChannelStatus(merchantCode); + //没有 + if (ObjectUtil.isEmpty(channelStatus) || channelStatus.size() <= 0) { + MerChannelStatusVO V0 = new MerChannelStatusVO(); + V0.setStatus("1"); + V0.setVirChannelFlag("D1"); + V0.setAuthorizationStatus("0"); + V0.setRemark(""); + list.add(V0); + MerChannelStatusVO V1 = new MerChannelStatusVO(); + V1.setStatus("1"); + V1.setVirChannelFlag("D0"); + V1.setAuthorizationStatus("0"); + V1.setRemark(""); + list.add(V1); + values.setChannelStatus(list); + continue; + } + //一个 + if (channelStatus.size() == 1) { + MerChannelStatusVO channelStatus1 = channelStatus.get(0); + switch (channelStatus1.getVirChannelFlag()) { + case "D0": + list.add(channelStatus1); + MerChannelStatusVO V1 = new MerChannelStatusVO(); + V1.setStatus("1"); + V1.setVirChannelFlag("D1"); + V1.setAuthorizationStatus("0"); + V1.setRemark(""); + list.add(V1); + values.setChannelStatus(list); + break; + case "D1": + list.add(channelStatus1); + MerChannelStatusVO V0 = new MerChannelStatusVO(); + V0.setStatus("1"); + V0.setVirChannelFlag("D0"); + V0.setAuthorizationStatus("0"); + V0.setRemark(""); + list.add(V0); + values.setChannelStatus(list); + break; - teamList = teamList.stream().skip(page * size).limit(size).collect(Collectors.toList()); + } + continue; + } + //两个 + if (channelStatus.size() == 2) { + values.setChannelStatus(channelStatus); + continue; + } +// Integer countUser = mapperOrderMapper.getCountUser(Long.valueOf(values.getUserId())); +// if (countUser > 0) { +// values.setCountNum(countUser); +// values.setConsumeFee(mapperOrderMapper.getAmountData(values.getMerchantCode())); +// values.setYestedayConsumeFee(mapperOrderMapper.getPlatformAmtYestday(values.getMerchantCode(), +// DateUtils.getBeginDayOfYesterday(), DateUtils.getEndDayOfYesterDay())); +// } + } HashMap hashMap = new HashMap<>(); hashMap.put("total", countChild); hashMap.put("teamList", teamList); return hashMap; } //团队管理 - List teamList = merchantProfitMapper.getTeamList(typeCode, userId,name); + List teamList = merchantProfitMapper.getTeamList(typeCode, userId, name, pagerSize, offset); for (MerchantProfitVO values : teamList) { values.setCurrentMonth(mapperOrderMapper.getPlatformAmtYestday(values.getMerchantCode(), DateUtils.getBeginDayOfMonth(), DateUtils.getEndDayOfMonth())); values.setConsumeFee(mapperOrderMapper.getAmountData(values.getMerchantCode())); } - teamList = teamList.stream().skip(page * size).limit(size).collect(Collectors.toList()); HashMap hashMap = new HashMap<>(); hashMap.put("total", countChild); hashMap.put("teamList", teamList); From 0ae6cf60cfd7cbb2034b768c9452f68d59303a13 Mon Sep 17 00:00:00 2001 From: liuyingfang <1357764963@qq.com> Date: Wed, 2 Aug 2023 18:19:54 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=8E=A8=E5=B9=BF=E5=AE=BD=E5=9B=BE?= =?UTF-8?q?=E6=94=B9=E7=89=88=EF=BC=8C=E5=95=86=E6=88=B7=E5=88=97=E8=A1=A8?= =?UTF-8?q?=EF=BC=8C=E6=B3=A8=E5=86=8C=E6=94=B9=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IntroduceController.java | 57 +++++++++-- .../cn/pluss/platform/util/RSAEncrypt.java | 26 ----- .../java/cn/pluss/platform/util/RSAUtil.java | 39 +++++--- .../cn/pluss/platform/entity/AppGuide.java | 4 + .../impl/MerchantProfitServiceImpl.java | 2 +- .../sxf/pay/impl/SxfPayServiceImpl.java | 1 + .../controller/home/MerchantController.java | 98 ++++++++++++++----- .../webapp/WEB-INF/jsp/merchant/share.jsp | 61 ++++++------ 8 files changed, 184 insertions(+), 104 deletions(-) diff --git a/pluss-api-page/src/main/java/cn/pluss/platform/controller/IntroduceController.java b/pluss-api-page/src/main/java/cn/pluss/platform/controller/IntroduceController.java index 2ae2ac0..548fba1 100644 --- a/pluss-api-page/src/main/java/cn/pluss/platform/controller/IntroduceController.java +++ b/pluss-api-page/src/main/java/cn/pluss/platform/controller/IntroduceController.java @@ -40,13 +40,13 @@ public class IntroduceController { //如果是推广宽图则看宽图是否开放 if (Objects.equals(entity.getType(), "1")) { String type = httpServletRequest.getHeader("type"); - //TODO 暂时安卓开发IOS不开 - if ("1".equals(type)){ + //TODO 双端开启 + if ("1".equals(type) || "2".equals(type)){ return ResultGenerator.genSuccessResult(entity.getContent()); } - else if ("2".equals(type)){ - return ResultGenerator.genFailResult(""); - } +// else if ("2".equals(type)){ +// return ResultGenerator.genFailResult(""); +// } return ResultGenerator.genSuccessResult(entity == null ? "" : entity.getContent()); }else { return ResultGenerator.genFailResult(""); @@ -72,16 +72,55 @@ public class IntroduceController { //如果是推广宽图则看宽图是否开放 if (Objects.equals(entity.getType(), "1")) { String type = httpServletRequest.getHeader("type"); - //TODO 暂时安卓开发IOS不开 - if ("1".equals(type)){ + //TODO 双端开启 + if ("1".equals(type)||"2".equals(type)) { return ResultGenerator.genSuccessResult(image(params.get("typeCode"), params.get("merchantType"))); - }else if ("2".equals(type)){ - return ResultGenerator.genFailResult(""); } +// }else if ("2".equals(type)){ +// return ResultGenerator.genFailResult(""); +// } return ResultGenerator.genSuccessResult(entity == null ? "" : entity.getContent()); }else { return ResultGenerator.genFailResult(""); } } + @PostMapping ("/commonV2") + public Result billIntroV2(HttpServletRequest httpServletRequest, + @RequestBody Map params) { + AppGuide entity = appGuideService.getByCode(imageV2(params.get("typeCode"), params.get("merchantType"))); + + //如果是推广宽图则看宽图是否开放 + if (Objects.equals(entity.getType(), "1")) { + //获取安卓或者IOS + String type = httpServletRequest.getHeader("type"); + //安卓 + if ("1".equals(type)){ + if ("1".equals(entity.getAndroid())) { + return ResultGenerator.genSuccessResult(entity.getContent()); + } + return ResultGenerator.genSuccessResult(""); + //IOS + }else if ("2".equals(type)){ + if ("1".equals(entity.getIos())) { + return ResultGenerator.genSuccessResult(entity.getContent()); + } + return ResultGenerator.genSuccessResult(""); + } + return ResultGenerator.genFailResult(""); + }else { + return ResultGenerator.genFailResult(""); + } + } + + private String imageV2(String typeCode, String merchantType){ + if ("AG".equals(typeCode) || "FB".equals(typeCode) || "SB".equals(typeCode)){ + return "SHTGKT"; + } + if ("1".equals(merchantType)){ + return "XWTG"; + } + return "PUSH"; + } + } \ No newline at end of file diff --git a/pluss-common-bundle/src/main/java/cn/pluss/platform/util/RSAEncrypt.java b/pluss-common-bundle/src/main/java/cn/pluss/platform/util/RSAEncrypt.java index 4ca1565..2d62edc 100644 --- a/pluss-common-bundle/src/main/java/cn/pluss/platform/util/RSAEncrypt.java +++ b/pluss-common-bundle/src/main/java/cn/pluss/platform/util/RSAEncrypt.java @@ -372,31 +372,5 @@ public class RSAEncrypt { } return stringBuilder.toString(); } - public static void main(String[] args) { - try { - // 生成密钥对 -// String privateKey = new String(Base64.encodeBase64(keyPair.getPrivate().getEncoded())); -// String publicKey = new String(Base64.encodeBase64(keyPair.getPublic().getEncoded())); - - // RSA加密 - String data = "{\"ordNo\":\"2017031601582703488262843972\",\"mno\":\"399190513665034\"}"; - System.out.println(data); -// String encryptData = encrypt(data, getPublicKey(publicKey)); -// System.out.println("加密后内容:" + encryptData); - // RSA解密 -// String decryptData = decrypt(encryptData, getPrivateKey(privateKey)); -// System.out.println("解密后内容:" + decryptData); - - // RSA签名 - String sign = RSASignature.sign(data, CERT); - System.out.println(sign); - // RSA验签 - boolean result = signVerify(data, PUBLIC_KEY, sign); - System.out.print("验签结果:" + result); - } catch (Exception e) { - e.printStackTrace(); - System.out.print("加解密异常"); - } - } } diff --git a/pluss-common-bundle/src/main/java/cn/pluss/platform/util/RSAUtil.java b/pluss-common-bundle/src/main/java/cn/pluss/platform/util/RSAUtil.java index 88f5f0c..c37115c 100644 --- a/pluss-common-bundle/src/main/java/cn/pluss/platform/util/RSAUtil.java +++ b/pluss-common-bundle/src/main/java/cn/pluss/platform/util/RSAUtil.java @@ -1,7 +1,8 @@ package cn.pluss.platform.util; -import org.apache.tomcat.util.codec.binary.Base64; +import org.apache.commons.codec.binary.Base64; +import org.json.JSONObject; import javax.crypto.Cipher; import java.security.KeyFactory; @@ -18,11 +19,10 @@ import java.security.spec.X509EncodedKeySpec; */ public class RSAUtil { - public static String RSA_ALGORITHM = "SHA1WithRSA"; + public static String RSA_ALGORITHM = "RSA"; + public static String UTF8 = "UTF-8"; - public static final String PUBLIC_KEY ="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCKjak6oTfMxO3hWZ8CnMgUxDXHtsHQLZf4GgxzbjVYIN93UtuycdHypfUEh18s8sWwHRvBfeJ4mG0QbLazMphUY7ju9ox/qyB+tmJtZO5fCUi1StnSh17fJRw2kBlD9dKtBBKHJw0PXC/d6ATRtbbbFerzgLtUz70SvUxooUQHtQIDAQAB"; - public static final String CERT ="MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAIqNqTqhN8zE7eFZnwKcyBTENce2wdAtl/gaDHNuNVgg33dS27Jx0fKl9QSHXyzyxbAdG8F94niYbRBstrMymFRjuO72jH+rIH62Ym1k7l8JSLVK2dKHXt8lHDaQGUP10q0EEocnDQ9cL93oBNG1ttsV6vOAu1TPvRK9TGihRAe1AgMBAAECgYBmI8KCl0DkcrSOsRvYuC2DqZWf8el1B3eFjeZp3e/zVOCIPYv6Q5ArWg6DVSxjnWEA0KSagqvGjU+xkQMqnXzPcPMhsIS+1wyR/pP+pwiatO2ioHaQpEqHg9eXhxrgA477/xuKVw9zl5GNqaIgd++2NDXnqLh0Y6OR73f0OB5eDQJBAPihEm+UWLOam/Q/k2+k4Lm2dvxJTBur1fslBiJpgMhgcz/PlwRwpL7aPD0AuPv0NqLouuoTiKpq9icnUv12tgsCQQCOqTANw0IErCHUNdinjXewmG3ui1j9XgM41rSn5ZeTrPL4GhZc2zbS/pZT4PBKUL6NLGkfPHmw4rOmNL/Xc5E/AkBqAwQBX5eSvVHSC2mqKPtJNGv3lqlFAzfyJg8/jQzEY5vAkZsq4Xzdg+A7gptdkvvY6rMIK9wSDhl3CGVyfbORAkA1N+g1OiHmnFACWhP4bU25EyPvWQxZeDi7e1zpRTzGWj5JT3IIMb7B9zcdE0yQbI6pG2gbvvOmiOt7lTH7raEBAkBas2gugvR3f0aGqQcqMpyM627pyRppQ2h58/7KBylP3oR2BReqMUcXeiJ8TuBXzbRXpeVQ0DWOva5CWZJmBMdz"; /** * 创建公钥私钥 @@ -60,12 +60,14 @@ public class RSAUtil { /** * 获取公钥对象 * - * @param pubKey 公钥 + * @param pubKey + * 公钥 * @return * @throws Exception */ public static RSAPublicKey getPublicKey(String pubKey) throws Exception { return getPublicKey(Base64.decodeBase64(pubKey)); + } /** @@ -195,17 +197,24 @@ public class RSAUtil { } public static void main(String[] args) throws Exception { - //KeyStore keyPair = RSAUtil.createKeys(); -// String publickey=keyPair.getPublicKey(); -// String privateKey=keyPair.getPrivateKey(); - System.out.println("公钥:" + PUBLIC_KEY); - System.out.println("私钥:" + CERT); - String encode=RSAUtil.encryptByPublicKey("1111",PUBLIC_KEY); - System.out.println("加密数据:"+encode); - System.out.println("解密数据:"+RSAUtil.decryptByPrivateKey(encode,CERT)); + +// KeyStore keyStore= createKeys(); +// System.out.println(keyStore.publicKey); +// System.out.println(keyStore.privateKey); + + String pubKey="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCt4B7TJ9vMml3p5qHEoYfZIuRqklbFSrI5jnq25vjjqpJp8Vc8Ir0n8QVCpfzaO5oU2tf4qZ4KIidwlysagdzLb73q8EQIf4ILt2BQFRS5RAGPnKNPA8BsWwqzbnAI2+GHCSWtixVatLbswfdmIQJEHMzDylLGHycbb3CG+mC/sQIDAQAB"; + + String priKey="MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAK3gHtMn28yaXenmocShh9ki5GqSVsVKsjmOerbm+OOqkmnxVzwivSfxBUKl/No7mhTa1/ipngoiJ3CXKxqB3MtvverwRAh/ggu3YFAVFLlEAY+co08DwGxbCrNucAjb4YcJJa2LFVq0tuzB92YhAkQczMPKUsYfJxtvcIb6YL+xAgMBAAECgYA6qkO8OtaOUgcdxBMQpO+Q85Td4EImju1TPh9pVsTjC8oatLMaNx5bO5bqxdZqS3HRV4VHAPOxt5RXCKoiZ253JMvmcWXmiwYNFEr9iFXOLVT0H6q+TT4cpp5klAFM5xELaR4WFsYlxvCA6KGdNqHg4wYSPwj+WdYM12xEhBtjgQJBAPttT2LuIoEyLvjrqUr8bMuFKHRuYp3rMtl3nwU0es2OuOOsWH69w+L7oi4tgHr1gzpN8k2XExMcf0uDnk9eBrsCQQCxCbdegzCiSafUxrDwZpROlfL1duRXDinkLc9KC2HfS+w4/9Mjuc49SFo3grKczGN3t6AnlBasONehmNuDAAqDAkAeFND3tCgarwdhrshdeWAG5ZKWg5J29GnsDNzQwZujtly2mKsp1sh2Asc/oSALFg6yThscX2Pf2Hv+a+vn8Qb7AkAuDXD9zPKhxLc7ylPMtWJu7uK8p6jOXIjZKnF5uWxEQeO5EBNEf9j+aAvP1NfRofld8w5ePU+IjWDKUJEJisExAkEA+L6M96L3ICNF3sYtdvILO2ExYb4AuxF18MmPVWEy0jK9xxan3rggpIG+BQQuy8DoL1snc+JABALiSFEbAZjm6Q=="; + + String data="hFAKmbWQ4mo/ARmGWPBUxPP0kbpiIukGrNWovZS3MJiq/wf63ZDtnfLlLDgGMbuNRxE0dX3sVM69O6Pndv1JNSGNs+NUsU8EAScg0gfWrBssoKFdi4ZFqla9uauoY7E/chsANvU3kwEoeMplloOilvvX4LTQueKnuNvHyt1WTYY="; + System.out.println(decryptByPrivateKey(data,priKey)); -// String privateKey="MIICdAIBADANBgkqhkiG9w0BAQEFAASCAl4wggJaAgEAAoGBAJ81T1tVomxy1ncvqUxP3hAhLf+1Iajaan2j3J3NcwVvI9Mr96wgqg3D4mWQ3ngjRySHf1d7L5wcf4LNgox88ePjTF0i1rsneRsNnYIwt4NCAvDairM6LuRMrcneulVD7q7aoOzjSl4PcRUQbmyRou1LGykEzmbj/bK7aPE/gmMJAgMBAAECgYBRkhTIrQV9HxF3G3pYWQtjpDxXKUzHoLCzEsO0LlFiVWE7julkzY+TYeubMjBpyVloA+xgvALWr1s9f2IF7PZZh3eJO8YrIQCPhz3uX8m/3Yt+t7yu/Ju0EtdwVC9CYcoBx9MaxaPAmviy8Fmt8rFTX5v3AKB1NrydBgkF1j3tSQJBAMvLSYBH8bqd3bN+pajdaqzbA+8hpsyxITEj5fk8lsc34nwiDq7xp9Z2CLDG8FSmRZEUBTaXt6OnFWYSrTl56dcCQQDH/hsJGwwI/8UfV+RmnDTrQGGiXIJUzKKgAJ47GNfeAlNJELYYqtIi5Dj/LMggBWg2F1/ZEwko/q5E3mLkKz4fAkAhIGlRNeCgQhsQm0yYV22IrY1FKMYxTbWkhD5UtjmYJohlPy/91gA/Ry6AdcYJLIHwZD24sw7Bxl4fGngX+K4/Aj8CV/f5I1gAwv6MX3tNuIbmOtrqDCt60usU9OzlxGTDNUPEl22K3HWZ8xK36s5tkaKm/58f7BkvYcypAfImulsCQBRkLBcHXyGhbH0gfjQT9lfWSMBbv3oKfDlrxLDKb0eZr7AtBTDqfubq52yh1cH4kvzkn8eLBVnBTcdKi48gMM0="; -// System.out.println("解密数据:"+RSAUtil.decryptByPrivateKey("fy1w9GHsrpwJzs4RW2KSZhB8gU4B2gJ3Gc1yLi5Hi0aniDiWYF95VwgNw3tjLzuDIEzoCEUDUphxK2rVmWZl4ORU3ooS+57TLhN5xb/WuhEo9RmKwm6CJHUUKxms3RoRUHk6r9hOhA4Irdqp2V/fIWQUlwp0HWytUqx912D53fs=",privateKey)); +// JSONObject object=new JSONObject(); +// object.put("openId","xsaxmasomxoamxoamsxo"); +// +// System.out.println(RSAUtil.encryptByPublicKey(object.toString(),"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOUSIKUGRwvUFrDvD6s8PgL8hQoKQrzTTK6vKWzQ2MIQ09ArZOd0ndxaZVVygebA+6vb7lArn1rMwKPFvbCs/iQZtYyXe7l+sfaPp8VzWzmDyAqHgQjsD+0LAMsdqtLCpB6kzP/WojeKaxREGAalJNyVR3hX2UzW98qkAV40hepwIDAQAB")); +// String ssss = "4AAB79960924E25BE1B626FB7B42917711E48FFBEFBCF29C0E47716514073F97AB2C0A97F95BD80168E1FBD9852ABC21038631F40A79B1142E11570430A0C03D896722433886222BED782A3DB82C156B246C9E8A7287AAB1BAFB1D520BC030514E82130FD1D20DDCE8C67E3A552A8EFE6784BF657614D7B6D16BBED16B899E00"; +// System.out.println(RSAUtil.decryptByPrivateKey(ssss,"MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJx0zH5Q01roGe33mUP27K4rHrWZ9UoPYcA7TE4ufv8wPk7/i1JZCZojx9BDUwwihn9Hwbv2XR66FRzQ7UzHsrjqNt5QcFUcbXh3Wm0BGQ6aLoK3qRAUIasvegIUxWHTvubQEGvV4Nld4FI0kStjLF89QzFBiyjCYa9xmWt62TU1AgMBAAECgYApWuouvViQn+cyso7NmzhGdVlhsTdYAybYdBQgWkPxWiQuJ3gBJU3Xc3u+ff02qO2aOTJpZ56Hn7Iy8rq239ZKhqnGJcQSjFTIODZo6S8xaWCv+DFjpsnTMA8rZ/ohiR/BoCMJPTFA3sRpjH4RquzV9y1HkSVvz96I/RAn2UU0QQJBAM8Cdudm96P67iYTRX/zAXeueV8wlqPKJ8i35lNBSprfyv0+N2v8ARjev8LCx8ebFzLNsLfEByx327KlnAY29EUCQQDBe5eya8wIqVRCbnZKzulCkSi8ZPg7Vzucg/W619hWe35ddXtUgLj/uPZ+SNZrGlWmt+dT9Mf7WEAxb4xXm+QxAkBtZ1QH//cpBtkN7mlwsbE421Dx6e/zKEfWYLqtjXgsWdIh/Nu1ij3aMv8No3uKFoEwLF0VAdj4u2+0/qly72AxAkEAo9MFUBKMMS1G5fTn/lGSGkYUqugHcx9anxzwvOK0EA4Cohmuco+HlSdEtwrvWsJykXaXzXOuvLgtqm4b87ZQkQJAWkKoEiIPloAVELKWqRtcoHNzdsJGZ5pMTlfOP0GgufNhZxYXFByEo7eZ7b7sbyaJkQOR6ubDlvwoPGxU1jnVKQ==")); } } diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/AppGuide.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/AppGuide.java index f3e5e83..0bf0d4d 100644 --- a/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/AppGuide.java +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/entity/AppGuide.java @@ -90,5 +90,9 @@ public class AppGuide implements Serializable { private Date updateTimeEnd; @TableField("type") private String type; + @TableField("android") + private String android; + @TableField("ios") + private String ios; } \ No newline at end of file diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java index 9f2fa5f..9494a1e 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantProfit/impl/MerchantProfitServiceImpl.java @@ -133,7 +133,7 @@ public class MerchantProfitServiceImpl extends ServiceImpl teamList = merchantProfitMapper.getMerchantTeamList(typeCode, userId, name, pagerSize, offset); for (MerchantProfitVO values : teamList) { List list = new ArrayList<>(); - if (values.getMerchantCode() != null) { + if (values.getMerchantCode() == null) { MerChannelStatusVO V0 = new MerChannelStatusVO(); V0.setStatus("1"); V0.setVirChannelFlag("D1"); diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/sxf/pay/impl/SxfPayServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/sxf/pay/impl/SxfPayServiceImpl.java index ce4a6b0..fb13480 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/sxf/pay/impl/SxfPayServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/sxf/pay/impl/SxfPayServiceImpl.java @@ -483,6 +483,7 @@ public class SxfPayServiceImpl implements SxfPayService { JSONObject reqData = new JSONObject(); reqData.put("ordNo", order.getOrderNumber()); reqData.put("mno", channel.getMerchantId()); + log.info("+++++++++++++++++++++++++++++给到随行付的金额为{}",order.getConsumeFee()); reqData.put("amt", order.getConsumeFee()); if ("wechatPay".equalsIgnoreCase(order.getPayTypeCode()) || "sxfPay1".equalsIgnoreCase(order.getPayTypeCode())) { reqData.put("payType", "WECHAT"); diff --git a/pluss-wap-page/src/main/java/cn/pluss/platform/controller/home/MerchantController.java b/pluss-wap-page/src/main/java/cn/pluss/platform/controller/home/MerchantController.java index aefb4d4..fb15e99 100644 --- a/pluss-wap-page/src/main/java/cn/pluss/platform/controller/home/MerchantController.java +++ b/pluss-wap-page/src/main/java/cn/pluss/platform/controller/home/MerchantController.java @@ -2447,37 +2447,87 @@ public class MerchantController { public ModelAndView register() { ModelAndView modelAndView = new ModelAndView("merchant/share"); Map result = new HashMap<>(16); - String inviteNum = request.getParameter("inviteNum");// 推广码 - String phone = ""; - String userName = ""; - if (StringUtil.isNotEmpty(inviteNum)) { - UserApp appInfo = userAppService.queryUserAppByInviteNum(inviteNum); + + String inviteNum1 = request.getParameter("inviteNum"); + if (ObjectUtil.isNotEmpty(inviteNum1)){ + String phone = ""; + String userName = ""; + UserApp appInfo = userAppService.queryUserAppByInviteNum(inviteNum1); if (appInfo != null) { phone = appInfo.getPhone(); userName = appInfo.getUserName(); } - } - String enPhone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");// 中间隐藏4位数的号码 - if (StringUtil.isNotEmpty(userName)) { - String reg = ".{1}"; - StringBuffer sb = new StringBuffer(); - Pattern p = Pattern.compile(reg); - Matcher m = p.matcher(userName); - int i = 0; - while (m.find()) { - i++; - if (i == 1) { - continue; + String enPhone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");// 中间隐藏4位数的号码 + if (StringUtil.isNotEmpty(userName)) { + String reg = ".{1}"; + StringBuffer sb = new StringBuffer(); + Pattern p = Pattern.compile(reg); + Matcher m = p.matcher(userName); + int i = 0; + while (m.find()) { + i++; + if (i == 1) { + continue; + } + m.appendReplacement(sb, "*"); } - m.appendReplacement(sb, "*"); + m.appendTail(sb); + result.put("userName", sb.toString()); } - m.appendTail(sb); - result.put("userName", sb.toString()); + result.put("enPhone", enPhone); + result.put("inviteNum", inviteNum1); + modelAndView.addAllObjects(result); + return modelAndView; } - result.put("enPhone", enPhone); - result.put("inviteNum", inviteNum); - modelAndView.addAllObjects(result); - return modelAndView; + try { + String str= request.getQueryString(); + String strs= RSAUtil.decryptByPrivateKey(str,"MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAK3gHtMn28yaXenmocShh9ki5GqSVsVKsjmOerbm+OOqkmnxVzwivSfxBUKl/No7mhTa1/ipngoiJ3CXKxqB3MtvverwRAh/ggu3YFAVFLlEAY+co08DwGxbCrNucAjb4YcJJa2LFVq0tuzB92YhAkQczMPKUsYfJxtvcIb6YL+xAgMBAAECgYA6qkO8OtaOUgcdxBMQpO+Q85Td4EImju1TPh9pVsTjC8oatLMaNx5bO5bqxdZqS3HRV4VHAPOxt5RXCKoiZ253JMvmcWXmiwYNFEr9iFXOLVT0H6q+TT4cpp5klAFM5xELaR4WFsYlxvCA6KGdNqHg4wYSPwj+WdYM12xEhBtjgQJBAPttT2LuIoEyLvjrqUr8bMuFKHRuYp3rMtl3nwU0es2OuOOsWH69w+L7oi4tgHr1gzpN8k2XExMcf0uDnk9eBrsCQQCxCbdegzCiSafUxrDwZpROlfL1duRXDinkLc9KC2HfS+w4/9Mjuc49SFo3grKczGN3t6AnlBasONehmNuDAAqDAkAeFND3tCgarwdhrshdeWAG5ZKWg5J29GnsDNzQwZujtly2mKsp1sh2Asc/oSALFg6yThscX2Pf2Hv+a+vn8Qb7AkAuDXD9zPKhxLc7ylPMtWJu7uK8p6jOXIjZKnF5uWxEQeO5EBNEf9j+aAvP1NfRofld8w5ePU+IjWDKUJEJisExAkEA+L6M96L3ICNF3sYtdvILO2ExYb4AuxF18MmPVWEy0jK9xxan3rggpIG+BQQuy8DoL1snc+JABALiSFEbAZjm6Q=="); + String[] params= strs.split("&"); + String inviteNum=""; + if(params.length<=1){ + inviteNum=params[0].split("=")[1]; + result.put("typeCode","MC"); + result.put("currentFee",""); + }else { + inviteNum=params[0].split("=")[1]; + result.put("typeCode",params[1].split("=")[1]); + result.put("currentFee",(params[1].split("=").length<=1)?"":params[1].split("=")[1]); + } + String phone = ""; + String userName = ""; + if (StringUtil.isNotEmpty(inviteNum)) { + UserApp appInfo = userAppService.queryUserAppByInviteNum(inviteNum); + if (appInfo != null) { + phone = appInfo.getPhone(); + userName = appInfo.getUserName(); + } + } + String enPhone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");// 中间隐藏4位数的号码 + if (StringUtil.isNotEmpty(userName)) { + String reg = ".{1}"; + StringBuffer sb = new StringBuffer(); + Pattern p = Pattern.compile(reg); + Matcher m = p.matcher(userName); + int i = 0; + while (m.find()) { + i++; + if (i == 1) { + continue; + } + m.appendReplacement(sb, "*"); + } + m.appendTail(sb); + result.put("userName", sb.toString()); + } + result.put("enPhone", enPhone); + result.put("inviteNum", inviteNum); + modelAndView.addAllObjects(result); + return modelAndView; + } catch (Exception e) { + throw new RuntimeException(e); + } + + } diff --git a/pluss-wap-page/src/main/webapp/WEB-INF/jsp/merchant/share.jsp b/pluss-wap-page/src/main/webapp/WEB-INF/jsp/merchant/share.jsp index c4199b5..11a1748 100644 --- a/pluss-wap-page/src/main/webapp/WEB-INF/jsp/merchant/share.jsp +++ b/pluss-wap-page/src/main/webapp/WEB-INF/jsp/merchant/share.jsp @@ -6,6 +6,8 @@ + + 分享 - +