| | |
| | | <artifactId>commons-beanutils</artifactId> |
| | | <version>1.9.2</version> |
| | | </dependency> |
| | | <dependency> <!--swagger2--> |
| | | <dependency> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger2</artifactId> |
| | | <version>2.9.2</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>io.swagge</groupId> |
| | | <artifactId>swagger-annotations</artifactId> |
| | | </exclusion> |
| | | <exclusion> |
| | | <groupId>io.swagge</groupId> |
| | | <artifactId>swagger-models</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.swagger</groupId> |
| | | <artifactId>swagger-annotations</artifactId> |
| | | <version>1.5.22</version> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger-ui</artifactId> |
| | | <version>2.9.2</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.swagger</groupId> |
| | | <artifactId>swagger-models</artifactId> |
| | | <version>1.5.22</version> |
| | | </dependency> |
| | | |
| | | <!-- mybatis generertor--> |
| | | |
| | | <dependency> |
| | | <groupId>org.apache.velocity</groupId> |
| | |
| | | |
| | | |
| | | private ResultUtil AlipayPayment(String code,BigDecimal amount) { |
| | | ResultUtil alipay = payMoneyUtil.alipay("玩湃币充值", "", "", code, amount.toString(), |
| | | ResultUtil alipay = payMoneyUtil.alipay("玩湃币充值", "玩湃币充值", "", code, amount.toString(), |
| | | "/base/recharge/alipayRechargeCallback"); |
| | | if(alipay.getCode() == 200){ |
| | | new Thread(new Runnable() { |
| | |
| | | student.setPhone(ToolUtil.isNotEmpty(stu.getPhone()) ? stu.getPhone() : ""); |
| | | student.setSex(stu.getSex()); |
| | | student.setIdCard(ToolUtil.isNotEmpty(stu.getIdCard())?stu.getIdCard() : ""); |
| | | student.setBirthday(new Date(stu.getBirthday())); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | student.setBirthday(sdf.parse(stu.getBirthday())); |
| | | student.setHeight(stu.getHeight()); |
| | | student.setWeight(stu.getWeight()); |
| | | BigDecimal bigDecimal = BigDecimal.valueOf(stu.getWeight()); |
| | |
| | | } |
| | | |
| | | public ResultUtil AlipayPayment(String code,BigDecimal amount){ |
| | | ResultUtil alipay = payMoneyUtil.alipay("课包续费", "", "", code, amount.toString(), |
| | | ResultUtil alipay = payMoneyUtil.alipay("课包续费", "课包续费", "", code, amount.toString(), |
| | | "/base/coursePackage/alipayPaymentCallback"); |
| | | if(alipay.getCode() == 200){ |
| | | new Thread(new Runnable() { |
| | |
| | | */ |
| | | public ResultUtil alipay(VipPayment vipPayment) throws Exception{ |
| | | String code = vipPayment.getCode(); |
| | | ResultUtil alipay = payMoneyUtil.alipay("购买年度会员", "", "", code, vipPayment.getAmount().toString(), |
| | | ResultUtil alipay = payMoneyUtil.alipay("购买年度会员", "购买年度会员", "", code, vipPayment.getAmount().toString(), |
| | | "/base/appUser/addVipPaymentAliCallback"); |
| | | if(alipay.getCode() == 200){ |
| | | new Thread(new Runnable() { |
| | |
| | | */ |
| | | @Component |
| | | public class PayMoneyUtil { |
| | | private String aliAppid = "2021004103650328";//支付宝appid |
| | | private String aliAppid = "2021004105665036";//支付宝appid |
| | | |
| | | private String appPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUMAeeFUrZrc98qsBYCwC7ptFnPBqU5IIDMWMznjjNLaXd393vxvbl4xNZLOknKPYUdG/Xm2DgmqAvHawnfsyrm387V60M2XEA4PMTo0kZDWXhYPM7JhtISG0sTYRdclwew36lwkqQ3RnAc12+Ntx7Q19+kITq2vOX8vnBG0HhkFiiPVIeavXnrQ30robnTQSJU+FE9Umwm84k9fsLXtD38rsCVP3Seo2ubAiwDxC8TEHww7cpMIun+ikJJSSxFABkdRMFb6rx40zvjQoGIRtCpfftnMikJhaRurdjeJkqDwBBzDfAM0wB0v5V7K41VNvoVKcgfvxWEAuzC9w0VYdVAgMBAAECggEBAIGGNbJMRB9eF8SM7xBFlb9vgQrt8wH/dVBbI61jd5yHcLotSayiSP4I68l/Qs9ysxyP5Y4cBqJrJOXp1qay4yx//saczOo1SNuOw4h/qY3XMxy7A/7IQQJ+I8acfry7D5/oGlPCLjDOwQqBDAgNpcuryNU0dqlc9Zvzya+rJnuDspl2FvCbXkQBiihQCG+oQXvAWivRQquW1MmpqhSohevpABJPW4SSSIJhHyoC8GEIcDcOhZ9rLX1e8qndhS7xEBi3sGTunyaiv4zJtA5jHzQ8pH737+OhqdcMsr03cWfiKIlLGCC28ZX3X/fqqfByws5lvxViq4UIAP/et7VVkkECgYEA/I+MHPo1UgGBr1rDA9aP1ESpaDb3tC6HzVgvHid/Lle+zSvQiZ5q0BvqQogj3GU+FIfVtStC4wjINTKyyeoOWV7YTKcToUJPPCF98VCZsevY3tp2Z1rxqU90yjccNSPtwjwH9RQ8D96eU+4HByrh5qwFU3p2aNOIbv4B8z57xOUCgYEAljSghLWnLmSZcz+2KEBcy5Jg92lZZfQoNd88hBR2dnccQbK2yPanPrzsmqB76017x4t7JV1X3ssI0b1f42hF2r9gwC5AD6/GhTCRoiZIMuCz+EBexWBiG3IJLN7yh6CYYEVvKd+3iCkneSxxT4Xqo0AWlMnoV2lcu0fLV0KvgbECgYBLfYiu3Kb1ZRfjVyi1S/vfwco1KUDu7X2QBkzHIZ0lN/sDDpadm+lnXQCvdEvrw6NDtbpOFak/fU+Cfy3rpnc1hWD3wHTgnZZbbdNcPvBBuzIuonQDvq4/Ik3RZ5mZ1Kxrg1AJlEvDnpIKmjoljU7KiR5qbk9YU+oS6v+gOkv6dQKBgGAxtfcnqriQXqGrVMo0ZflNdmIcis87bSELJWNlA3Tc1TDR9jN/mx4XueNREetgxPvHPQdx3xtkpfJEuIsXtVzhIWISfJ5PMPENaMcSgzxqIXfEKa14C3yOLIgbA/GODOfir81+Y7iEuq3ko3CNT/Zazdtd7zlD1cpusS/iGioRAoGAE268pgJfIJkUY5qkQHClzv/OBUlhDzGUowfYPwhZ2TNISfm0zpWq1to4nIHVHDPTsVs5wEgGPO3fYzd284/lU180/NIqHa9cwHI9zNO3E8X8mP8H1WUaxon64fV6UQGXzMvd4l7v1GYzEMkNVqwPmpAwrlLzQOLpDe/dGY5lvJw=";//支付宝开发者应用私钥 |
| | | private String appPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi5i9nW/hGLJ3A06cZxTQdviFC7THpdSihoTYGLr9q006hu0V26ecBMY/o4w5bvIX0Ok/yofmZsVcCJpAPvbXL/uqVrIjnRRxXiaeBFThlxoBUTdunvbUSDYfzlEhJr5NvUKI6H6lz2niXlQGx4qy8Hau4ccWit9kM8jwUvsBVQoFgJA+xrjMvooA7YLopQtpOD+UJr5thApTSf1xrnr1W12yolTLEH15JmNV372cqXrYUuqnY0QsaPtxeqJUGAOcGdVLllQ7easEznP8DFBvDdHATcmp2SHNQDUEWN6MCVPbMgY06NQVqAXxqjTAYSVh+6TRu6bofPmpYC3TZB003AgMBAAECggEBAJAcR2+PA3NBYUYHeFrqBRMS8uX8ZR19kjZ7IgoSLTFaQsP9opRylPSPXhrPVBKAE5leRQAHn4MCSlESwHvMfxo7KFjFTFAc6dffZZpipYQUOc9bGampwJh58/3e/pyBgVMG6J23CPf/HJQtNFSkjd/V9+ayb/9l2dUEL3bC0fAZ/dbx8HsxdLw8wn3fLlWLj68hOMqa2deCZe3JdSVsPbeWqkh56FFsMLug0Nd+Ar4TgRl9/jnhXF0JWiD0LmPUYLhboY7EfUBzN4w1iYbDi1P+3zvoOYsiVKAXox9GMhQ2VzOO2UcSTuizSza2e98mGpabl/GpKmCz+RDFjtkX6eECgYEA2MyCij65eO3aGIm3FUe93DULRBYTfX8qJQSJq2WOWA3mmQlEW6L3O2B5/lG2h+8WmN6iLEs9eHpgycGYp7vAqgrANEn16ACVcuyx0scFtrZfZ+kmHMzFfiUWxJjVYk/6YngsGVBLdw6ueM42C8TTP67X9tU5TdVGoGWuqEj4W98CgYEAwFqwprXOch5Pqk/RPbb49r0Ou03K/UbciWnWWKzUhFFNS8MdlQPoDvQZbMwHLeWsa2VhaKITK3x5biLQb3U+0GLOn6lTvEyrEUH+ucREyLgVYTRAvwBPtnvlrzpyxPk2HnslQjju8WrvvLLBMKWUjlTrTOzhaHT21gz3pHMiOakCgYEAhLmfaXdBITGshb054sNLDtdCkGpbgEcrzAHdLps769iGxkYQHXHFngpQZUwtTUcoNGqIKknd1jZFrv7gsD+XkgKG7PwimehRlkwmCX5ilxtLiVgJRzRt6+5U5AMVD90a0tHzXYP0z2yjj73fBJF5KtGl0a10KZxaYrQdm1UhB00CgYBZZgzx/k9rtHC8LAqIj1CYhHejT92G53c6Gkl3vyOqN4sgKhfGmSEySfrDGPRBPZxr8ZtbIPCd5mUdberH0osWGMYFaJI1UsCy7aQwvGpniz7MhZeN7dweaOjwDs8mgtjHQ96mL4XGCDhR0BZ/wIURvZ/6iaGdhbbu9unlsWj3uQKBgQCmZYdsbbZkd3ev6f8rwyvMz+DrCQyYpY44cegBYuJgrZiQnL2fJioeN7ixX0UM48SfwsZEIrzshP/LGAwnc2MdjxKUl4jLN8SEe0NAjXOnz9Zaw740+aOmLpXcLWdP4uM2gIhWsvW1tEkQZCXmm7c9s/RsU8Pmzv+YL3+fSijOzA==";//支付宝开发者应用私钥 |
| | | |
| | | private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlDAHnhVK2a3PfKrAWAsAu6bRZzwalOSCAzFjM544zS2l3d/d78b25eMTWSzpJyj2FHRv15tg4JqgLx2sJ37Mq5t/O1etDNlxAODzE6NJGQ1l4WDzOyYbSEhtLE2EXXJcHsN+pcJKkN0ZwHNdvjbce0NffpCE6trzl/L5wRtB4ZBYoj1SHmr1560N9K6G500EiVPhRPVJsJvOJPX7C17Q9/K7AlT90nqNrmwIsA8QvExB8MO3KTCLp/opCSUksRQAZHUTBW+q8eNM740KBiEbQqX37ZzIpCYWkbq3Y3iZKg8AQcw3wDNMAdL+VeyuNVTb6FSnIH78VhALswvcNFWHVQIDAQAB";//支付宝应用公钥 |
| | | private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAouYvZ1v4RiydwNOnGcU0Hb4hQu0x6XUooaE2Bi6/atNOobtFdunnATGP6OMOW7yF9DpP8qH5mbFXAiaQD721y/7qlayI50UcV4mngRU4ZcaAVE3bp721Eg2H85RISa+Tb1CiOh+pc9p4l5UBseKsvB2ruHHForfZDPI8FL7AVUKBYCQPsa4zL6KAO2C6KULaTg/lCa+bYQKU0n9ca569VtdsqJUyxB9eSZjVd+9nKl62FLqp2NELGj7cXqiVBgDnBnVS5ZUO3mrBM5z/AxQbw3RwE3JqdkhzUA1BFjejAlT2zIGNOjUFagF8ao0wGElYfuk0bum6Hz5qWAt02QdNNwIDAQAB";//支付宝应用公钥 |
| | | |
| | | private String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥 |
| | | |
| | |
| | | |
| | | public static void main(String[] ages){ |
| | | PayMoneyUtil payMoneyUtil = new PayMoneyUtil(); |
| | | ResultUtil ce = payMoneyUtil.alipay("测试", "", "", "121456457", "10", "http://123.com"); |
| | | ResultUtil ce = payMoneyUtil.alipay("测试", "测试", "", "121456457", "10", "http://123.com"); |
| | | System.err.println(ce); |
| | | ResultUtil resultUtil = null; |
| | | try { |
| | |
| | | <artifactId>commons-beanutils</artifactId> |
| | | <version>1.9.2</version> |
| | | </dependency> |
| | | <dependency> <!--swagger2--> |
| | | <dependency> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger2</artifactId> |
| | | <version>2.9.2</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>io.swagge</groupId> |
| | | <artifactId>swagger-annotations</artifactId> |
| | | </exclusion> |
| | | <exclusion> |
| | | <groupId>io.swagge</groupId> |
| | | <artifactId>swagger-models</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.swagger</groupId> |
| | | <artifactId>swagger-annotations</artifactId> |
| | | <version>1.5.22</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.swagger</groupId> |
| | | <artifactId>swagger-models</artifactId> |
| | | <version>1.5.22</version> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger-ui</artifactId> |
| | | <version>2.9.2</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.apache.shardingsphere</groupId> |
| | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | @TableId(value = "id", type = IdType.NONE) |
| | | private Long id; |
| | | /** |
| | | * 用户id |
| | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | @TableId(value = "id", type = IdType.NONE) |
| | | private Long id; |
| | | /** |
| | | * 优惠券id |
| | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | @TableId(value = "id", type = IdType.NONE) |
| | | private Long id; |
| | | /** |
| | | * 优惠券id |
| | |
| | | String content = userCoupon.get("content").toString(); |
| | | if (type == 1) {//满减{"num1":1,"num2":1} |
| | | JSONObject jsonObject = JSON.parseObject(content); |
| | | Double num1 = jsonObject.getDouble("num1"); |
| | | Double num1 = jsonObject.getDouble("conditionalAmount"); |
| | | if(price.compareTo(num1) <= 0){ |
| | | continue; |
| | | } |
| | | couponListVo.setUseCondition("满" + num1 + "元可用"); |
| | | couponListVo.setFavorable(jsonObject.getDouble("num2") + "元"); |
| | | couponListVo.setFavorable(jsonObject.getDouble("deductionAmount") + "元"); |
| | | } |
| | | if (type == 2) {//代金券{"num1":1} |
| | | JSONObject jsonObject = JSON.parseObject(content); |
| | | Double num1 = jsonObject.getDouble("num1"); |
| | | Double num1 = jsonObject.getDouble("deductionAmount"); |
| | | if(price.compareTo(num1) <= 0){ |
| | | continue; |
| | | } |
| | |
| | | if (type == 3) {//体验券{"num1":1} |
| | | JSONObject jsonObject = JSON.parseObject(content); |
| | | couponListVo.setUseCondition(""); |
| | | couponListVo.setFavorable(jsonObject.getString("num1")); |
| | | couponListVo.setFavorable(jsonObject.getString("experienceName")); |
| | | } |
| | | listVos.add(couponListVo); |
| | | } |
| | |
| | | <artifactId>commons-beanutils</artifactId> |
| | | <version>1.9.2</version> |
| | | </dependency> |
| | | <dependency> <!--swagger2--> |
| | | <dependency> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger2</artifactId> |
| | | <version>2.9.2</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>io.swagge</groupId> |
| | | <artifactId>swagger-annotations</artifactId> |
| | | </exclusion> |
| | | <exclusion> |
| | | <groupId>io.swagge</groupId> |
| | | <artifactId>swagger-models</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.swagger</groupId> |
| | | <artifactId>swagger-annotations</artifactId> |
| | | <version>1.5.22</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.swagger</groupId> |
| | | <artifactId>swagger-models</artifactId> |
| | | <version>1.5.22</version> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger-ui</artifactId> |
| | | <version>2.9.2</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.apache.httpcomponents</groupId> |
| | |
| | | @ApiImplicitParam(value = "城市code", name = "cityCode", dataType = "string", required = false), |
| | | @ApiImplicitParam(value = "搜索内容", name = "content", dataType = "string", required = false), |
| | | @ApiImplicitParam(value = "报名条件(1=全部用户,2=仅限年度会员参与,3=仅限学员参与)", name = "registerCondition", dataType = "int", required = false), |
| | | @ApiImplicitParam(value = "排序(1=正序,2=倒序)", name = "heat", dataType = "int", required = false), |
| | | @ApiImplicitParam(value = "排序(asc=正序,desc=倒序)", name = "heat", dataType = "String", required = false), |
| | | @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<List<CompetitionListVo>> queryCompetitionList(String cityCode, String content, Integer registerCondition, Integer heat){ |
| | | public ResultUtil<List<CompetitionListVo>> queryCompetitionList(String cityCode, String content, Integer registerCondition, String heat){ |
| | | try { |
| | | List<CompetitionListVo> competitionListVos = cttService.queryCompetitionList(cityCode, content, registerCondition, heat); |
| | | return ResultUtil.success(competitionListVos); |
| | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | @TableId(value = "id", type = IdType.NONE) |
| | | private Long id; |
| | | /** |
| | | * 业务流水号 |
| | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | @TableId(value = "id", type = IdType.NONE) |
| | | private Long id; |
| | | /** |
| | | * 赛事id |
| | |
| | | * @return |
| | | */ |
| | | List<CompetitionListVo> queryCompetitionList(@Param("cityCode") String cityCode, @Param("content") String content, |
| | | @Param("registerCondition") Integer registerCondition, @Param("heat") Integer heat); |
| | | @Param("registerCondition") Integer registerCondition, @Param("heat") String heat); |
| | | |
| | | |
| | | /** |
| | |
| | | * @param heat |
| | | * @return |
| | | */ |
| | | List<CompetitionListVo> queryCompetitionList(String cityCode, String content, Integer registerCondition, Integer heat) throws Exception; |
| | | List<CompetitionListVo> queryCompetitionList(String cityCode, String content, Integer registerCondition, String heat) throws Exception; |
| | | |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<CompetitionListVo> queryCompetitionList(String cityCode, String content, Integer registerCondition, Integer heat) throws Exception { |
| | | public List<CompetitionListVo> queryCompetitionList(String cityCode, String content, Integer registerCondition, String heat) throws Exception { |
| | | return this.baseMapper.queryCompetitionList(cityCode, content, registerCondition, heat); |
| | | } |
| | | |
| | |
| | | */ |
| | | @Component |
| | | public class PayMoneyUtil { |
| | | private String aliAppid = "2021004103650328";//支付宝appid |
| | | private String aliAppid = "2021004105665036";//支付宝appid |
| | | |
| | | private String appPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCSsBy+F6k1CTL4b0qQssuhf6x2aeqSn2eBmv0mJALK9iqRgA9EG0buYVnV/tsNGYvKCgX56onb+Cv+f9/TShZzp0FVGemIcgPhrjK0WW2RJBMq9EmPzc2x+7SkygKO1H6S3CwWhYdc7TCNL9OnFAHSEa+FfGNWXg0jM0mSXI7/me8icbWZd5mdiLTV+OWx5ONAE0GfVPhUPnb9faunE6gvZCamZnS+H6ACzzidO7ksVkZq5PBsI3Jew2oAcAJSktsljMZNqDrVknzUbvKBXSw80zZD66i5twx8+8els5VLo6qu9PD80l+K430r2eMqxzXm9mRXZSPSxoOm5c+0cNiHAgMBAAECggEAR+EIlJWfkp+JXHecgD88zUx0xCmuil6WJ8o81h27SJ1LyrSHxoXfQhxuGxChYk/sUfqLZyVonGOFm1Yp5a1eRxnkR8FE0FmeUU49Bmbz67VTty6xhUgBzX9by4w5qKezxl8hM4AHDqAjtGuFOU/yfG+yJKUJQF8h7OfK22+DmveglMt+W8buCf+IJahMyxYLWnA5eG8X1KjOC5PnpQEEBBB3g8fJpdbcoUteGGKzGhkSMKXuM//m2T8bU1sNZytnV+rDblg4E9IZIJwhory7WBxDzykEGpbM+RwJ6E6bAp6MXMUKbed1Uf/40d8C5yItWhjUh1a+ZDS0XbsMP+C/IQKBgQDmYhUr5wcqNQHqpKZWd0l/UZyR+Ykjk7WNvWFQIoMZmCWCGcepyQHAdXpk29evgTqcF9v9dlGDc7waFc93L2uxEYOaSk5UK8Sf6yoXHDocKwauY5DDvAuyy2b9QQDNqisi/MN872RaefBILz/DYN2ZbTtp8i/udSaRl01h6EXQfwKBgQCi/5+eIEcQZTa4zhq5CXKKVbcU2Y8uVsM1tgLaxOwQFr0Xd0ckQiJdkN7qhjgeSuOz0BOXo1xovzN4ZIKISB5sZDadgQCZi7O1YeKc8ElLPnV/WfKBGAxSBpURyMUOYH1mno5QG+QiGmTgH0/OhmqWfp+dVWHNwlx0EwMOpCBz+QKBgBRuVlpSXrxLfyQD/gxk/8uevTfk3VieXNd5GAw3Q1EdwRXMm3xfKxyaToRrSrFx0HTPWN8dgxUZSnE1xfRX7EEDwJwKQvAMAZ/9BvqNskmVNz537fqtzovIphWHkj6q/LBZoiyOPmQXtEtyhUEacgyNN1up8r4+/XCj7mTkaGyZAoGBAIx+GG6LE7WmB8yymYX0Bq4Fw5BNFYSzc/7PqxY1teMINmQLg15VQpmzTPCIT8aMdkd+ieSiAfynEQ4sU/ZzcwWqOwj3MDUonPUyMcljs0kPxObH+KYcvEHXOpXhnzgNIwlYkQGriK98YIZtdrRkV2rwKVPLTEm1xUqnOHNeNDrBAoGASnewOvqzZQVnzbGYur7nbEBQaMKWP2IYKozr57+EHQ40QFyTzFUx+jhxnQ2TIoXQEbozNp11eWGm9TZenHxUbOZmAmPKGq5DQzBgwj/V9QPNPpulCEkgjEqIn0gdCNaEilZXTpdsLPxmZ/J9IxGJt+y/5OYhbIwfSS9gbvVEook=";//支付宝开发者应用私钥 |
| | | private String appPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi5i9nW/hGLJ3A06cZxTQdviFC7THpdSihoTYGLr9q006hu0V26ecBMY/o4w5bvIX0Ok/yofmZsVcCJpAPvbXL/uqVrIjnRRxXiaeBFThlxoBUTdunvbUSDYfzlEhJr5NvUKI6H6lz2niXlQGx4qy8Hau4ccWit9kM8jwUvsBVQoFgJA+xrjMvooA7YLopQtpOD+UJr5thApTSf1xrnr1W12yolTLEH15JmNV372cqXrYUuqnY0QsaPtxeqJUGAOcGdVLllQ7easEznP8DFBvDdHATcmp2SHNQDUEWN6MCVPbMgY06NQVqAXxqjTAYSVh+6TRu6bofPmpYC3TZB003AgMBAAECggEBAJAcR2+PA3NBYUYHeFrqBRMS8uX8ZR19kjZ7IgoSLTFaQsP9opRylPSPXhrPVBKAE5leRQAHn4MCSlESwHvMfxo7KFjFTFAc6dffZZpipYQUOc9bGampwJh58/3e/pyBgVMG6J23CPf/HJQtNFSkjd/V9+ayb/9l2dUEL3bC0fAZ/dbx8HsxdLw8wn3fLlWLj68hOMqa2deCZe3JdSVsPbeWqkh56FFsMLug0Nd+Ar4TgRl9/jnhXF0JWiD0LmPUYLhboY7EfUBzN4w1iYbDi1P+3zvoOYsiVKAXox9GMhQ2VzOO2UcSTuizSza2e98mGpabl/GpKmCz+RDFjtkX6eECgYEA2MyCij65eO3aGIm3FUe93DULRBYTfX8qJQSJq2WOWA3mmQlEW6L3O2B5/lG2h+8WmN6iLEs9eHpgycGYp7vAqgrANEn16ACVcuyx0scFtrZfZ+kmHMzFfiUWxJjVYk/6YngsGVBLdw6ueM42C8TTP67X9tU5TdVGoGWuqEj4W98CgYEAwFqwprXOch5Pqk/RPbb49r0Ou03K/UbciWnWWKzUhFFNS8MdlQPoDvQZbMwHLeWsa2VhaKITK3x5biLQb3U+0GLOn6lTvEyrEUH+ucREyLgVYTRAvwBPtnvlrzpyxPk2HnslQjju8WrvvLLBMKWUjlTrTOzhaHT21gz3pHMiOakCgYEAhLmfaXdBITGshb054sNLDtdCkGpbgEcrzAHdLps769iGxkYQHXHFngpQZUwtTUcoNGqIKknd1jZFrv7gsD+XkgKG7PwimehRlkwmCX5ilxtLiVgJRzRt6+5U5AMVD90a0tHzXYP0z2yjj73fBJF5KtGl0a10KZxaYrQdm1UhB00CgYBZZgzx/k9rtHC8LAqIj1CYhHejT92G53c6Gkl3vyOqN4sgKhfGmSEySfrDGPRBPZxr8ZtbIPCd5mUdberH0osWGMYFaJI1UsCy7aQwvGpniz7MhZeN7dweaOjwDs8mgtjHQ96mL4XGCDhR0BZ/wIURvZ/6iaGdhbbu9unlsWj3uQKBgQCmZYdsbbZkd3ev6f8rwyvMz+DrCQyYpY44cegBYuJgrZiQnL2fJioeN7ixX0UM48SfwsZEIrzshP/LGAwnc2MdjxKUl4jLN8SEe0NAjXOnz9Zaw740+aOmLpXcLWdP4uM2gIhWsvW1tEkQZCXmm7c9s/RsU8Pmzv+YL3+fSijOzA==";//支付宝开发者应用私钥 |
| | | |
| | | private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwRiMpvwg288WxCwJTBxeqQcFlkZR1p+hZn3/GshrYgRKhGu34IfnRbEnb70YJBq0N1AmdJRU4tYMS1qqFcvKdXnUrdPz+yx4F/uWv+Vz7ftzAEZ1JJh1s9IhJ1ayE4NNWBczj12cIrinUcIHNoITmPFSpcizk9jGnzZZDK4u2oZQEontseu6QyLoc4bBXgy3J1Cux7Q3kO0m3unr0j14PSOAY6kMmgPOyAyuP5Vl655OFJz1x4YDiXs6c+fHLzEZh+Bmm4kCedE7PeJ69xpxSo+i0qia9mhiR4L3LmX7yAzDffHfSQHdxzN0UR34ZF9ChZi/tGOeGABbC35tzGiWWQIDAQAB";//支付宝应用公钥 |
| | | private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAouYvZ1v4RiydwNOnGcU0Hb4hQu0x6XUooaE2Bi6/atNOobtFdunnATGP6OMOW7yF9DpP8qH5mbFXAiaQD721y/7qlayI50UcV4mngRU4ZcaAVE3bp721Eg2H85RISa+Tb1CiOh+pc9p4l5UBseKsvB2ruHHForfZDPI8FL7AVUKBYCQPsa4zL6KAO2C6KULaTg/lCa+bYQKU0n9ca569VtdsqJUyxB9eSZjVd+9nKl62FLqp2NELGj7cXqiVBgDnBnVS5ZUO3mrBM5z/AxQbw3RwE3JqdkhzUA1BFjejAlT2zIGNOjUFagF8ao0wGElYfuk0bum6Hz5qWAt02QdNNwIDAQAB";//支付宝应用公钥 |
| | | |
| | | private String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥 |
| | | |
| | |
| | | import springfox.documentation.service.Parameter; |
| | | import springfox.documentation.spi.DocumentationType; |
| | | import springfox.documentation.spring.web.plugins.Docket; |
| | | import springfox.documentation.swagger2.annotations.EnableSwagger2; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | * @date 2017年6月1日19:42:59 |
| | | */ |
| | | @Configuration |
| | | @EnableSwagger2 |
| | | @ConditionalOnProperty(prefix = "guns", name = "swagger-open", havingValue = "true") |
| | | public class SwaggerConfig{ |
| | | |
| | |
| | | </if> |
| | | order by a.insertTime desc |
| | | ) as aa |
| | | <if test="null != heat 1 == heat"> |
| | | order by aa.heat |
| | | </if> |
| | | <if test="null != heat 2 == heat"> |
| | | order by aa.heat desc |
| | | <if test="null != heat and '' != heat"> |
| | | order by aa.heat #{heat} |
| | | </if> |
| | | </select> |
| | | |
| | |
| | | <artifactId>freemarker</artifactId> |
| | | <version>2.3.30</version> |
| | | </dependency> |
| | | |
| | | <dependency> <!--swagger2--> |
| | | <dependency> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger2</artifactId> |
| | | <version>2.9.2</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>io.swagge</groupId> |
| | | <artifactId>swagger-annotations</artifactId> |
| | | </exclusion> |
| | | <exclusion> |
| | | <groupId>io.swagge</groupId> |
| | | <artifactId>swagger-models</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.swagger</groupId> |
| | | <artifactId>swagger-annotations</artifactId> |
| | | <version>1.5.22</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.swagger</groupId> |
| | | <artifactId>swagger-models</artifactId> |
| | | <version>1.5.22</version> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger-ui</artifactId> |
| | | <version>2.9.2</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.apache.httpcomponents</groupId> |
| | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | @TableId(value = "id", type = IdType.NONE) |
| | | private Long id; |
| | | /** |
| | | * 用户id |
| | |
| | | /** |
| | | * 主键id |
| | | */ |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | @TableId(value = "id", type = IdType.NONE) |
| | | private Long id; |
| | | /** |
| | | * 课包id |
| | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | @TableId(value = "id", type = IdType.NONE) |
| | | private Long id; |
| | | /** |
| | | * 业务编号 |
| | |
| | | /** |
| | | * 主键id |
| | | */ |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | @TableId(value = "id", type = IdType.NONE) |
| | | private Long id; |
| | | /** |
| | | * 用户id |
| | |
| | | */ |
| | | @Component |
| | | public class PayMoneyUtil { |
| | | private String aliAppid = "2021004103650328";//支付宝appid |
| | | private String aliAppid = "2021004105665036";//支付宝appid |
| | | |
| | | private String appPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCSsBy+F6k1CTL4b0qQssuhf6x2aeqSn2eBmv0mJALK9iqRgA9EG0buYVnV/tsNGYvKCgX56onb+Cv+f9/TShZzp0FVGemIcgPhrjK0WW2RJBMq9EmPzc2x+7SkygKO1H6S3CwWhYdc7TCNL9OnFAHSEa+FfGNWXg0jM0mSXI7/me8icbWZd5mdiLTV+OWx5ONAE0GfVPhUPnb9faunE6gvZCamZnS+H6ACzzidO7ksVkZq5PBsI3Jew2oAcAJSktsljMZNqDrVknzUbvKBXSw80zZD66i5twx8+8els5VLo6qu9PD80l+K430r2eMqxzXm9mRXZSPSxoOm5c+0cNiHAgMBAAECggEAR+EIlJWfkp+JXHecgD88zUx0xCmuil6WJ8o81h27SJ1LyrSHxoXfQhxuGxChYk/sUfqLZyVonGOFm1Yp5a1eRxnkR8FE0FmeUU49Bmbz67VTty6xhUgBzX9by4w5qKezxl8hM4AHDqAjtGuFOU/yfG+yJKUJQF8h7OfK22+DmveglMt+W8buCf+IJahMyxYLWnA5eG8X1KjOC5PnpQEEBBB3g8fJpdbcoUteGGKzGhkSMKXuM//m2T8bU1sNZytnV+rDblg4E9IZIJwhory7WBxDzykEGpbM+RwJ6E6bAp6MXMUKbed1Uf/40d8C5yItWhjUh1a+ZDS0XbsMP+C/IQKBgQDmYhUr5wcqNQHqpKZWd0l/UZyR+Ykjk7WNvWFQIoMZmCWCGcepyQHAdXpk29evgTqcF9v9dlGDc7waFc93L2uxEYOaSk5UK8Sf6yoXHDocKwauY5DDvAuyy2b9QQDNqisi/MN872RaefBILz/DYN2ZbTtp8i/udSaRl01h6EXQfwKBgQCi/5+eIEcQZTa4zhq5CXKKVbcU2Y8uVsM1tgLaxOwQFr0Xd0ckQiJdkN7qhjgeSuOz0BOXo1xovzN4ZIKISB5sZDadgQCZi7O1YeKc8ElLPnV/WfKBGAxSBpURyMUOYH1mno5QG+QiGmTgH0/OhmqWfp+dVWHNwlx0EwMOpCBz+QKBgBRuVlpSXrxLfyQD/gxk/8uevTfk3VieXNd5GAw3Q1EdwRXMm3xfKxyaToRrSrFx0HTPWN8dgxUZSnE1xfRX7EEDwJwKQvAMAZ/9BvqNskmVNz537fqtzovIphWHkj6q/LBZoiyOPmQXtEtyhUEacgyNN1up8r4+/XCj7mTkaGyZAoGBAIx+GG6LE7WmB8yymYX0Bq4Fw5BNFYSzc/7PqxY1teMINmQLg15VQpmzTPCIT8aMdkd+ieSiAfynEQ4sU/ZzcwWqOwj3MDUonPUyMcljs0kPxObH+KYcvEHXOpXhnzgNIwlYkQGriK98YIZtdrRkV2rwKVPLTEm1xUqnOHNeNDrBAoGASnewOvqzZQVnzbGYur7nbEBQaMKWP2IYKozr57+EHQ40QFyTzFUx+jhxnQ2TIoXQEbozNp11eWGm9TZenHxUbOZmAmPKGq5DQzBgwj/V9QPNPpulCEkgjEqIn0gdCNaEilZXTpdsLPxmZ/J9IxGJt+y/5OYhbIwfSS9gbvVEook=";//支付宝开发者应用私钥 |
| | | private String appPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi5i9nW/hGLJ3A06cZxTQdviFC7THpdSihoTYGLr9q006hu0V26ecBMY/o4w5bvIX0Ok/yofmZsVcCJpAPvbXL/uqVrIjnRRxXiaeBFThlxoBUTdunvbUSDYfzlEhJr5NvUKI6H6lz2niXlQGx4qy8Hau4ccWit9kM8jwUvsBVQoFgJA+xrjMvooA7YLopQtpOD+UJr5thApTSf1xrnr1W12yolTLEH15JmNV372cqXrYUuqnY0QsaPtxeqJUGAOcGdVLllQ7easEznP8DFBvDdHATcmp2SHNQDUEWN6MCVPbMgY06NQVqAXxqjTAYSVh+6TRu6bofPmpYC3TZB003AgMBAAECggEBAJAcR2+PA3NBYUYHeFrqBRMS8uX8ZR19kjZ7IgoSLTFaQsP9opRylPSPXhrPVBKAE5leRQAHn4MCSlESwHvMfxo7KFjFTFAc6dffZZpipYQUOc9bGampwJh58/3e/pyBgVMG6J23CPf/HJQtNFSkjd/V9+ayb/9l2dUEL3bC0fAZ/dbx8HsxdLw8wn3fLlWLj68hOMqa2deCZe3JdSVsPbeWqkh56FFsMLug0Nd+Ar4TgRl9/jnhXF0JWiD0LmPUYLhboY7EfUBzN4w1iYbDi1P+3zvoOYsiVKAXox9GMhQ2VzOO2UcSTuizSza2e98mGpabl/GpKmCz+RDFjtkX6eECgYEA2MyCij65eO3aGIm3FUe93DULRBYTfX8qJQSJq2WOWA3mmQlEW6L3O2B5/lG2h+8WmN6iLEs9eHpgycGYp7vAqgrANEn16ACVcuyx0scFtrZfZ+kmHMzFfiUWxJjVYk/6YngsGVBLdw6ueM42C8TTP67X9tU5TdVGoGWuqEj4W98CgYEAwFqwprXOch5Pqk/RPbb49r0Ou03K/UbciWnWWKzUhFFNS8MdlQPoDvQZbMwHLeWsa2VhaKITK3x5biLQb3U+0GLOn6lTvEyrEUH+ucREyLgVYTRAvwBPtnvlrzpyxPk2HnslQjju8WrvvLLBMKWUjlTrTOzhaHT21gz3pHMiOakCgYEAhLmfaXdBITGshb054sNLDtdCkGpbgEcrzAHdLps769iGxkYQHXHFngpQZUwtTUcoNGqIKknd1jZFrv7gsD+XkgKG7PwimehRlkwmCX5ilxtLiVgJRzRt6+5U5AMVD90a0tHzXYP0z2yjj73fBJF5KtGl0a10KZxaYrQdm1UhB00CgYBZZgzx/k9rtHC8LAqIj1CYhHejT92G53c6Gkl3vyOqN4sgKhfGmSEySfrDGPRBPZxr8ZtbIPCd5mUdberH0osWGMYFaJI1UsCy7aQwvGpniz7MhZeN7dweaOjwDs8mgtjHQ96mL4XGCDhR0BZ/wIURvZ/6iaGdhbbu9unlsWj3uQKBgQCmZYdsbbZkd3ev6f8rwyvMz+DrCQyYpY44cegBYuJgrZiQnL2fJioeN7ixX0UM48SfwsZEIrzshP/LGAwnc2MdjxKUl4jLN8SEe0NAjXOnz9Zaw740+aOmLpXcLWdP4uM2gIhWsvW1tEkQZCXmm7c9s/RsU8Pmzv+YL3+fSijOzA==";//支付宝开发者应用私钥 |
| | | |
| | | private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwRiMpvwg288WxCwJTBxeqQcFlkZR1p+hZn3/GshrYgRKhGu34IfnRbEnb70YJBq0N1AmdJRU4tYMS1qqFcvKdXnUrdPz+yx4F/uWv+Vz7ftzAEZ1JJh1s9IhJ1ayE4NNWBczj12cIrinUcIHNoITmPFSpcizk9jGnzZZDK4u2oZQEontseu6QyLoc4bBXgy3J1Cux7Q3kO0m3unr0j14PSOAY6kMmgPOyAyuP5Vl655OFJz1x4YDiXs6c+fHLzEZh+Bmm4kCedE7PeJ69xpxSo+i0qia9mhiR4L3LmX7yAzDffHfSQHdxzN0UR34ZF9ChZi/tGOeGABbC35tzGiWWQIDAQAB";//支付宝应用公钥 |
| | | private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAouYvZ1v4RiydwNOnGcU0Hb4hQu0x6XUooaE2Bi6/atNOobtFdunnATGP6OMOW7yF9DpP8qH5mbFXAiaQD721y/7qlayI50UcV4mngRU4ZcaAVE3bp721Eg2H85RISa+Tb1CiOh+pc9p4l5UBseKsvB2ruHHForfZDPI8FL7AVUKBYCQPsa4zL6KAO2C6KULaTg/lCa+bYQKU0n9ca569VtdsqJUyxB9eSZjVd+9nKl62FLqp2NELGj7cXqiVBgDnBnVS5ZUO3mrBM5z/AxQbw3RwE3JqdkhzUA1BFjejAlT2zIGNOjUFagF8ao0wGElYfuk0bum6Hz5qWAt02QdNNwIDAQAB";//支付宝应用公钥 |
| | | |
| | | private String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥 |
| | | |
| | |
| | | <artifactId>mybatis</artifactId> |
| | | <version>3.5.6</version> |
| | | </dependency> |
| | | <dependency> <!--swagger2--> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger2</artifactId> |
| | | <version>2.9.2</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>io.swagge</groupId> |
| | | <artifactId>swagger-annotations</artifactId> |
| | | </exclusion> |
| | | <exclusion> |
| | | <groupId>io.swagge</groupId> |
| | | <artifactId>swagger-models</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | <!--引入swagger--> |
| | | <dependency> |
| | | <groupId>io.swagger</groupId> |
| | | <artifactId>swagger-annotations</artifactId> |
| | | <version>1.5.22</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.swagger</groupId> |
| | | <artifactId>swagger-models</artifactId> |
| | | <version>1.5.22</version> |
| | | <groupId>com.spring4all</groupId> |
| | | <artifactId>swagger-spring-boot-starter</artifactId> |
| | | <version>1.7.0.RELEASE</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>redis.clients</groupId> |
| | |
| | | * @author jason |
| | | * 网关应用 |
| | | */ |
| | | |
| | | @MBCloudApplication |
| | | @ComponentScan({"cn.mb.cloud"}) |
| | | public class GatewayApplication { |
| | |
| | | |
| | | @PostConstruct |
| | | void started() { |
| | | TimeZone.setDefault(TimeZone.getTimeZone("GMT+7")); |
| | | TimeZone.setDefault(TimeZone.getTimeZone("GMT+8")); |
| | | } |
| | | } |
| | |
| | | package cn.mb.cloud.gateway.filter; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.cloud.gateway.filter.GatewayFilterChain; |
| | | import org.springframework.cloud.gateway.filter.GlobalFilter; |
| | | import org.springframework.core.Ordered; |
| | | import org.springframework.core.io.buffer.*; |
| | | import org.springframework.http.HttpMethod; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.http.server.reactive.ServerHttpRequest; |
| | | import org.springframework.http.server.reactive.ServerHttpRequestDecorator; |
| | | import org.springframework.http.server.reactive.ServerHttpResponse; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.server.ServerWebExchange; |
| | | import reactor.core.publisher.Flux; |
| | | import reactor.core.publisher.Mono; |
| | | |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.Set; |
| | | |
| | | |
| | | @Slf4j |
| | | @Component |
| | | public class WrapperResponseGlobalFilter implements GlobalFilter, Ordered { |
| | | |
| | | @Override |
| | | public int getOrder() { |
| | | return Ordered.HIGHEST_PRECEDENCE; |
| | | } |
| | | |
| | | @Override |
| | | public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { |
| | | ServerHttpRequest req = exchange.getRequest(); |
| | | ServerHttpResponse res = exchange.getResponse(); |
| | | String method = req.getMethodValue(); |
| | | MediaType ct = req.getHeaders().getContentType(); |
| | | if (HttpMethod.POST.matches(method)) { |
| | | return DataBufferUtils.join(req.getBody()).flatMap(dataBuffer -> { |
| | | byte[] bytes = new byte[dataBuffer.readableByteCount()]; |
| | | dataBuffer.read(bytes); |
| | | // String bodyStr = new String(bytes, StandardCharsets.UTF_8); |
| | | // exchange.getAttributes().put("POST_BODY", bodyStr); |
| | | DataBufferUtils.release(dataBuffer); |
| | | Flux<DataBuffer> cachedFlux = Flux.defer(() -> { |
| | | DataBuffer buffer = res.bufferFactory().wrap(bytes); |
| | | return Mono.just(buffer); |
| | | }); |
| | | ServerHttpRequest mutateReq = new ServerHttpRequestDecorator(req) { |
| | | @Override |
| | | public Flux<DataBuffer> getBody() { |
| | | return cachedFlux; |
| | | } |
| | | }; |
| | | return chain.filter(exchange.mutate().request(mutateReq).build()); |
| | | }); |
| | | } |
| | | return chain.filter(exchange); |
| | | } |
| | | |
| | | } |
| | | //package cn.mb.cloud.gateway.filter; |
| | | // |
| | | //import lombok.extern.slf4j.Slf4j; |
| | | //import org.springframework.cloud.gateway.filter.GatewayFilterChain; |
| | | //import org.springframework.cloud.gateway.filter.GlobalFilter; |
| | | //import org.springframework.core.Ordered; |
| | | //import org.springframework.core.io.buffer.*; |
| | | //import org.springframework.http.HttpMethod; |
| | | //import org.springframework.http.MediaType; |
| | | //import org.springframework.http.server.reactive.ServerHttpRequest; |
| | | //import org.springframework.http.server.reactive.ServerHttpRequestDecorator; |
| | | //import org.springframework.http.server.reactive.ServerHttpResponse; |
| | | //import org.springframework.stereotype.Component; |
| | | //import org.springframework.web.server.ServerWebExchange; |
| | | //import reactor.core.publisher.Flux; |
| | | //import reactor.core.publisher.Mono; |
| | | // |
| | | //import java.nio.charset.StandardCharsets; |
| | | //import java.util.Set; |
| | | // |
| | | // |
| | | //@Slf4j |
| | | //@Component |
| | | //public class WrapperResponseGlobalFilter implements GlobalFilter, Ordered { |
| | | // |
| | | // @Override |
| | | // public int getOrder() { |
| | | // return Ordered.HIGHEST_PRECEDENCE; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { |
| | | // ServerHttpRequest req = exchange.getRequest(); |
| | | // ServerHttpResponse res = exchange.getResponse(); |
| | | // String method = req.getMethodValue(); |
| | | // MediaType ct = req.getHeaders().getContentType(); |
| | | // if (HttpMethod.POST.matches(method)) { |
| | | // return DataBufferUtils.join(req.getBody()).flatMap(dataBuffer -> { |
| | | // byte[] bytes = new byte[dataBuffer.readableByteCount()]; |
| | | // dataBuffer.read(bytes); |
| | | //// String bodyStr = new String(bytes, StandardCharsets.UTF_8); |
| | | //// exchange.getAttributes().put("POST_BODY", bodyStr); |
| | | // DataBufferUtils.release(dataBuffer); |
| | | // Flux<DataBuffer> cachedFlux = Flux.defer(() -> { |
| | | // DataBuffer buffer = res.bufferFactory().wrap(bytes); |
| | | // return Mono.just(buffer); |
| | | // }); |
| | | // ServerHttpRequest mutateReq = new ServerHttpRequestDecorator(req) { |
| | | // @Override |
| | | // public Flux<DataBuffer> getBody() { |
| | | // return cachedFlux; |
| | | // } |
| | | // }; |
| | | // return chain.filter(exchange.mutate().request(mutateReq).build()); |
| | | // }); |
| | | // } |
| | | // return chain.filter(exchange); |
| | | // } |
| | | // |
| | | //} |
| | |
| | | <artifactId>commons-beanutils</artifactId> |
| | | <version>1.9.2</version> |
| | | </dependency> |
| | | <dependency> <!--swagger2--> |
| | | <dependency> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger2</artifactId> |
| | | <version>2.9.2</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>io.swagge</groupId> |
| | | <artifactId>swagger-annotations</artifactId> |
| | | </exclusion> |
| | | <exclusion> |
| | | <groupId>io.swagge</groupId> |
| | | <artifactId>swagger-models</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.swagger</groupId> |
| | | <artifactId>swagger-annotations</artifactId> |
| | | <version>1.5.22</version> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger-ui</artifactId> |
| | | <version>2.9.2</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.swagger</groupId> |
| | | <artifactId>swagger-models</artifactId> |
| | | <version>1.5.22</version> |
| | | </dependency> |
| | | |
| | | <!-- http--> |
| | | <dependency> |
| | | <groupId>org.apache.httpcomponents</groupId> |
| | | <artifactId>httpclient</artifactId> |
| | | <version>4.5.13</version> |
| | | </dependency> |
| | | |
| | | <!-- mybatis generertor--> |
| | | |
| | | <dependency> |
| | | <groupId>org.apache.velocity</groupId> |
| | | <artifactId>velocity</artifactId> |
| | |
| | | import com.dsh.other.entity.Store; |
| | | import com.dsh.other.feignclient.model.*; |
| | | import com.dsh.other.model.BaseVo; |
| | | import com.dsh.other.model.ProvinceAndCityVo; |
| | | import com.dsh.other.model.QueryStoreList; |
| | | import com.dsh.other.model.StoreFreeBenefitVo; |
| | | import com.dsh.other.service.StoreService; |
| | |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/store/queryProvinceAndCity") |
| | | @ApiOperation(value = "获取省市数据", tags = {"APP-加入玩湃"}) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "省编号", name = "pcode", dataType = "string", required = false), |
| | | }) |
| | | public ResultUtil<List<ProvinceAndCityVo>> queryProvinceAndCity(String pcode){ |
| | | try { |
| | | List<ProvinceAndCityVo> provinceAndCityVos = storeService.queryProvinceAndCity(pcode); |
| | | return ResultUtil.success(provinceAndCityVos); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/store/queryAllCity") |
| | | @ApiOperation(value = "获取所有开通城市", tags = {"APP-赛事活动列表"}) |
| | | @ApiImplicitParams({ |
| | | }) |
| | | public ResultUtil<List<ProvinceAndCityVo>> queryAllCity(){ |
| | | try { |
| | | List<ProvinceAndCityVo> provinceAndCityVos = storeService.queryAllCity(); |
| | | return ResultUtil.success(provinceAndCityVos); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/store/queryStoreByCityCode") |
| | | @ApiOperation(value = "获取城市code获取门店", tags = {"APP-加入玩湃"}) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "城市code", name = "cityCode", dataType = "string", required = true), |
| | | }) |
| | | public ResultUtil<List<BaseVo>> queryStoreByCityCode(String cityCode){ |
| | | try { |
| | | List<BaseVo> list = storeService.queryStoreByCityCode(cityCode); |
| | | return ResultUtil.success(list); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dsh.other.entity.Store; |
| | | import com.dsh.other.model.BaseVo; |
| | | import com.dsh.other.model.ProvinceAndCityVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | |
| | | /** |
| | |
| | | */ |
| | | public interface StoreMapper extends BaseMapper<Store> { |
| | | |
| | | |
| | | /** |
| | | * 获取省数据 |
| | | * @return |
| | | */ |
| | | List<ProvinceAndCityVo> queryProvince(); |
| | | |
| | | |
| | | /** |
| | | * 获取市数据 |
| | | * @param pcode |
| | | * @return |
| | | */ |
| | | List<ProvinceAndCityVo> queryCity(@Param("pcode") String pcode); |
| | | |
| | | |
| | | /** |
| | | * 根据城市code获取城市列表 |
| | | * @param cityCode |
| | | * @return |
| | | */ |
| | | List<BaseVo> queryStoreByCityCode(@Param("cityCode") String cityCode); |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.other.model; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @date 2023/7/14 17:42 |
| | | */ |
| | | @Data |
| | | @ApiModel |
| | | public class ProvinceAndCityVo { |
| | | @ApiModelProperty("名称") |
| | | private String name; |
| | | @ApiModelProperty("编号") |
| | | private String code; |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.dsh.other.entity.Store; |
| | | import com.dsh.other.model.BaseVo; |
| | | import com.dsh.other.model.ProvinceAndCityVo; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | */ |
| | | List<BaseVo> queryStoreLists(String lon, String lat) throws Exception; |
| | | |
| | | |
| | | /** |
| | | * 获取开通的省市数据 |
| | | * @param pcode |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | List<ProvinceAndCityVo> queryProvinceAndCity(String pcode) throws Exception; |
| | | |
| | | |
| | | /** |
| | | * 获取所有城市 |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | List<ProvinceAndCityVo> queryAllCity() throws Exception; |
| | | |
| | | |
| | | /** |
| | | * 根据城市code获取门店列表 |
| | | * @param cityCode |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | List<BaseVo> queryStoreByCityCode(String cityCode) throws Exception; |
| | | |
| | | } |
| | |
| | | import com.dsh.other.entity.Store; |
| | | import com.dsh.other.mapper.StoreMapper; |
| | | import com.dsh.other.model.BaseVo; |
| | | import com.dsh.other.model.ProvinceAndCityVo; |
| | | import com.dsh.other.service.StoreService; |
| | | import com.dsh.other.util.GDMapGeocodingUtil; |
| | | import com.dsh.other.util.ToolUtil; |
| | |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取开通省市 |
| | | * @param pcode |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public List<ProvinceAndCityVo> queryProvinceAndCity(String pcode) throws Exception { |
| | | if(ToolUtil.isEmpty(pcode)){ |
| | | return this.baseMapper.queryProvince(); |
| | | } |
| | | if(ToolUtil.isNotEmpty(pcode)){ |
| | | return this.baseMapper.queryCity(pcode); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取所有开通城市 |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public List<ProvinceAndCityVo> queryAllCity() throws Exception { |
| | | return this.baseMapper.queryCity(null); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据城市code获取城市列表 |
| | | * @param cityCode |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public List<BaseVo> queryStoreByCityCode(String cityCode) throws Exception { |
| | | return this.baseMapper.queryStoreByCityCode(cityCode); |
| | | } |
| | | } |
| | |
| | | <mapper namespace="com.dsh.other.mapper.StoreMapper"> |
| | | |
| | | |
| | | <select id="queryProvince" resultType="com.dsh.other.model.ProvinceAndCityVo"> |
| | | select province as name, provinceCode as code from t_store where state = 1 group by province, provinceCode |
| | | </select> |
| | | |
| | | |
| | | <select id="queryCity" resultType="com.dsh.other.model.ProvinceAndCityVo"> |
| | | select city as name, cityCode as code from t_store where state = 1 |
| | | <if test="null != pcode and '' != pcode"> |
| | | and provinceCode = #{pcode} |
| | | </if> |
| | | group by city, cityCode |
| | | </select> |
| | | |
| | | <select id="queryStoreByCityCode" resultType="com.dsh.other.model.BaseVo"> |
| | | select id, name from t_store where state = 1 and cityCode = #{cityCode} |
| | | </select> |
| | | </mapper> |