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-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..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 @@ -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 current + * @param size + * @param typeCode + * @return + */ + @GetMapping("/userApp/teamControl") + public Result teamControl(String name, + @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(), + 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..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 @@ -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, 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, startTime, endTime)); + } + return ResultGenerator.genSuccessResult(merchantProfitMapper.teamOrder(userApp.getUserId(), pageSize, offset, startTime, endTime)); + } } 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-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-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 9731acf..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,6 +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 7e59177..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 @@ -1,7 +1,13 @@ 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.MerChannelStatusVO; +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; @@ -27,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); @@ -67,5 +74,84 @@ 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("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" + + "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); + Integer getCountChildV2( @Param("userId") Long userId); + + 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, + @Param("startTime") String startTime, @Param("endTime") String endTime); + /** + * 团队交易 + */ + 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/java/cn/pluss/platform/mapper/UserAppMapper.java b/pluss-dao-bundle/src/main/java/cn/pluss/platform/mapper/UserAppMapper.java index 353754e..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; @@ -45,6 +47,7 @@ public interface UserAppMapper extends BaseMapper { MerchSummaryVO selectBillCountAndTotalFee(@Param("condition") MerchSearchDTO condition); Integer queryUserAppPageCount(Map map); + Integer queryUserPageCount(Map map); List queryUserInfoVOPage(Map map); @@ -144,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/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 20fdcca..9ac065b 100644 --- a/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml +++ b/pluss-dao-bundle/src/main/resources/mapper/MerchantProfit-sqlmap.xml @@ -249,13 +249,15 @@ resultType="cn.pluss.platform.entity.MerchantProfit"> SELECT profit.*, - ua.userType + ua.userType, + bi.alias FROM tb_pluss_merchant_profit profit LEFT JOIN tb_pluss_merchant_order merchantOrder ON profit.orderNumber = merchantOrder.orderNumber LEFT JOIN tb_pluss_user_app ua ON ua.userId = profit.userId + LEFT JOIN tb_pluss_merchant_base_info bi ON merchantOrder.merchantCode = bi.merchantCode - and merchantOrder.status = 1 + profit.userId=#{userId} and profit.id = #{id} @@ -278,7 +280,7 @@ and profit.merchantCode = #{merchantCode} - and profit.merchantName like CONCAT('%',#{merchantName},'%') + and bi.alias like CONCAT('%',#{merchantName},'%') and profit.consumeFee = #{consumeFee} @@ -346,7 +348,6 @@ and profit.merchantParentPhone = #{merchantParentPhone} - order by id desc limit #{pageSize} offset #{offset} @@ -554,7 +555,8 @@ @@ -860,4 +863,253 @@ 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..6b1aa0e 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 @@ + + + diff --git a/pluss-dao-bundle/src/main/resources/mapper/UserPromotionMapper.xml b/pluss-dao-bundle/src/main/resources/mapper/UserPromotionMapper.xml index 581fed8..f953bdc 100644 --- a/pluss-dao-bundle/src/main/resources/mapper/UserPromotionMapper.xml +++ b/pluss-dao-bundle/src/main/resources/mapper/UserPromotionMapper.xml @@ -3,21 +3,38 @@ - - - - - - - - - - - + + + + + + + + + + + + user_id, type_code, current_fee, parent_user_id, is_extend, create_time, update_time + + + update tb_pluss_user_promotion + set type_code = #{typeCode,jdbcType=VARCHAR}, + current_fee = #{currentFee,jdbcType=DECIMAL}, + parent_user_id = #{parentUserId,jdbcType=VARCHAR}, + is_extend = #{isExtend,jdbcType=VARCHAR}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + update_time = #{updateTime,jdbcType=TIMESTAMP} + where user_id = #{userId,jdbcType=INTEGER} + + 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/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-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..77f4b8b --- /dev/null +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantProfitVO.java @@ -0,0 +1,69 @@ +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; + +/** + * @author 团队管理 + */ +@Data +public class MerchantProfitVO { + private String userName; + private String phone; + /** + * 费率 + */ + private String current_fee; + /** + * 角色 + */ + private String type_code; + /** + * userId + */ + private String userId; + /** + * parent_user_id + */ + private Integer parent_user_id; + /** + *总交易金额 + */ + private BigDecimal consumeFee = BigDecimal.ZERO; + /** + * 本月交易金额 + */ + private BigDecimal currentMonth = BigDecimal.ZERO; + /** + * 昨日收款 + */ + private BigDecimal yestedayConsumeFee = BigDecimal.ZERO; + /** + *昨日收款笔数 + */ + private Integer countNum = 0; + /** + * 商户号 + */ + private String merchantCode; + + /** + * 入网时间 + */ + @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 new file mode 100644 index 0000000..987360c --- /dev/null +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/ProfitOrderVO.java @@ -0,0 +1,25 @@ +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; + +/** + * 直推间推商户收款 + * @author lyf + */ +@Data +public class ProfitOrderVO { + + private String merchantName; + + private BigDecimal consumeFee; + @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-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 55fef90..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 @@ -1,16 +1,20 @@ 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.MerchantOrderMapper; -import cn.pluss.platform.merchantOrder.MerchantOrderService; +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; 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; @@ -19,11 +23,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; + /** * 推广者的主页面信息查询实现类 */ @@ -38,9 +46,12 @@ public class PromoterMainPageServiceImpl implements MainPageService { @Autowired @Lazy private MerchantOrderStatisticsService mosService; - - @Autowired - private MerchantOrderMapper merchantOrderMapper; + @Resource + private MerchantProfitMapper merchantProfitMapper; + @Resource + private UserPromotionMapper userPromotionMapper; + @Resource + private UserAppMapper userAppMapper; @Override public Map getSpreadData(String userId) { @@ -68,7 +79,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; @@ -77,20 +88,33 @@ 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); //今日新增商户数 - 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); + //团队商户交易 + BigDecimal consumeFeeTeam = merchantProfitMapper.getConsumeFeeTeam(userId); + //今日收款 + BigDecimal consumeFeeTeamToday = merchantProfitMapper.getConsumeFeeTeamToday(userId); + //总商户数 + Integer countChildAll = merchantProfitMapper.getCountChildV2(Long.valueOf(userId)); + 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); @@ -112,6 +136,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 a321761..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 @@ -6,8 +6,10 @@ 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; @@ -15,13 +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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.pluss.platform.vo.MerChannelStatusVO; +import cn.pluss.platform.vo.MerchantProfitVO; 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; @@ -52,6 +52,10 @@ public class MerchantProfitServiceImpl extends ServiceImpl teamList(String typeCode, Long userId,Integer page,Integer size, + String name) { + switch (typeCode){ + case "AG": + typeCode = "FB"; + break; + case "FB": + typeCode = "SB"; + break; + case "SB": + typeCode = ""; + break; + case "MC": + break; + default: + throw new MsgException("身份错误"); + } + + // 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.getMerchantTeamList(typeCode, userId, name, pagerSize, offset); + for (MerchantProfitVO values : teamList) { + List list = new ArrayList<>(); + if (values.getMerchantCode() == null) { + 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; + + } + 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, pagerSize, offset); + for (MerchantProfitVO values : teamList) { + values.setCurrentMonth(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/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-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/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 b4d206d..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 @@ + + 分享 - +