puzhibing
2023-07-14 21a9ec4a797e26e49a14f386e054da3cb0afc376
同步代码
21个文件已修改
2个文件已删除
14个文件已添加
793 ■■■■ 已修改文件
cloud-server-account/pom.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/Store.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/model/JoinPlayPaiVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/model/StudentVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/config/JsonLongSerializer.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/config/MessageLocalConfig.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/config/Sharding_jdbc/ShardingConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/config/Sharding_jdbc/ShardingConfig.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/test/java/com/dsh/ActivityApplicationTest.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/feignclient/other/model/Store.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/feignclient/other/model/Store.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/model/StudentVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-gateway/src/main/java/cn/mb/cloud/gateway/auth/AuthService.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-gateway/src/main/java/cn/mb/cloud/gateway/filter/ResponseParamFilter.java 160 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/entity/Site.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/entity/SiteBooking.java 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/entity/SiteType.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/entity/Store.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/mapper/SiteBookingMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/mapper/SiteMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/model/StoreFreeBenefitVo.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/ISiteBookingService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/ISiteService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteBookingServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/resources/mapper/SiteBookingMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/resources/mapper/SiteMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/pom.xml
@@ -98,7 +98,7 @@
        <dependency>
            <groupId>com.alipay.sdk</groupId>
            <artifactId>alipay-sdk-java</artifactId>
            <version>4.8.10.ALL</version>
            <version>4.38.10.ALL</version>
        </dependency>
        <!-- oos对象存储 -->
        <dependency>
cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java
@@ -86,6 +86,7 @@
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
                studentVo.setAge(Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(tStudent.getBirthday())));
                listVo.add(studentVo);
                studentVo.setName(tStudent.getName());
            }
            return ResultUtil.success(listVo);
        }catch (Exception e){
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/Store.java
@@ -80,10 +80,6 @@
     */
    private String welfarePicture;
    /**
     * 开始上课图片
     */
    private String classPicture;
    /**
     * 评分
     */
    private BigDecimal score;
cloud-server-account/src/main/java/com/dsh/account/model/JoinPlayPaiVo.java
@@ -15,6 +15,8 @@
    private Integer storeId;
    @ApiModelProperty("门店名称")
    private String name;
    @ApiModelProperty("门店电话")
    private String phone;
    @ApiModelProperty("门店经度")
    private String lon;
    @ApiModelProperty("门店纬度")
cloud-server-account/src/main/java/com/dsh/account/model/StudentVo.java
@@ -17,4 +17,6 @@
    private String phone;
    @ApiModelProperty("学员年龄")
    private Integer age;
    @ApiModelProperty("学员姓名")
    private String name;
}
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -424,7 +424,7 @@
    @Override
    public JoinPlayPaiVo queryJoinPlayPai(Integer uid, String lon, String lat) throws Exception {
        TAppUser appUser = this.getById(uid);
        if(ToolUtil.isEmpty(appUser.getProvince()) && ToolUtil.isNotEmpty(lon) && ToolUtil.isNotEmpty(lat)){
        if(ToolUtil.isEmpty(appUser.getProvince()) && ToolUtil.isNotEmpty(lon)){
            Map<String, String> geocode = gdMapGeocodingUtil.geocode(lon, lat);
            if(null != geocode){
                String province = geocode.get("province");
@@ -465,6 +465,7 @@
            joinPlayPaiVo.setLon(s.getLon());
            joinPlayPaiVo.setLat(s.getLat());
            joinPlayPaiVo.setStoreId(s.getId());
            joinPlayPaiVo.setPhone(s.getPhone());
        }
        return joinPlayPaiVo;
    }
cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
@@ -7,6 +7,7 @@
import com.alipay.api.CertAlipayRequest;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayTradeAppPayModel;
import com.alipay.api.domain.AlipayTradeQueryModel;
import com.alipay.api.request.*;
import com.alipay.api.response.*;
import com.dsh.account.util.httpClinet.HttpClientUtil;
@@ -29,6 +30,7 @@
import java.io.*;
import java.math.BigDecimal;
import java.net.InetAddress;
import java.net.URLDecoder;
import java.net.UnknownHostException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
@@ -43,9 +45,9 @@
public class PayMoneyUtil {
    private String aliAppid = "2021004103650328";//支付宝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 = "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 alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwRiMpvwg288WxCwJTBxeqQcFlkZR1p+hZn3/GshrYgRKhGu34IfnRbEnb70YJBq0N1AmdJRU4tYMS1qqFcvKdXnUrdPz+yx4F/uWv+Vz7ftzAEZ1JJh1s9IhJ1ayE4NNWBczj12cIrinUcIHNoITmPFSpcizk9jGnzZZDK4u2oZQEontseu6QyLoc4bBXgy3J1Cux7Q3kO0m3unr0j14PSOAY6kMmgPOyAyuP5Vl655OFJz1x4YDiXs6c+fHLzEZh+Bmm4kCedE7PeJ69xpxSo+i0qia9mhiR4L3LmX7yAzDffHfSQHdxzN0UR34ZF9ChZi/tGOeGABbC35tzGiWWQIDAQAB";//支付宝应用公钥
    private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlDAHnhVK2a3PfKrAWAsAu6bRZzwalOSCAzFjM544zS2l3d/d78b25eMTWSzpJyj2FHRv15tg4JqgLx2sJ37Mq5t/O1etDNlxAODzE6NJGQ1l4WDzOyYbSEhtLE2EXXJcHsN+pcJKkN0ZwHNdvjbce0NffpCE6trzl/L5wRtB4ZBYoj1SHmr1560N9K6G500EiVPhRPVJsJvOJPX7C17Q9/K7AlT90nqNrmwIsA8QvExB8MO3KTCLp/opCSUksRQAZHUTBW+q8eNM740KBiEbQqX37ZzIpCYWkbq3Y3iZKg8AQcw3wDNMAdL+VeyuNVTb6FSnIH78VhALswvcNFWHVQIDAQAB";//支付宝应用公钥
    private String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥
@@ -256,11 +258,11 @@
     * @throws Exception
     */
    public ResultUtil queryALIOrder(String out_trade_no) throws Exception{
        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8", alipay_public_key,"RSA2");
        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8",alipay_public_key,"RSA2");
        AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
        request.setBizContent("{" +
                "\"out_trade_no\":" + out_trade_no +
                "  }");
                "  \"out_trade_no\":\"" + out_trade_no + "\"" +
                "}");
        AlipayTradeQueryResponse response = alipayClient.execute(request);
        if(response.isSuccess()){
            String tradeStatus = response.getTradeStatus();//交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款)
@@ -1109,8 +1111,16 @@
    public static void main(String[] ages){
//        PayMoneyUtil payMoneyUtil = new PayMoneyUtil();
//        payMoneyUtil.weixinpay("测试", "123", "12.5", "");
        PayMoneyUtil payMoneyUtil = new PayMoneyUtil();
        ResultUtil ce = payMoneyUtil.alipay("测试", "", "", "121456457", "10", "http://123.com");
        System.err.println(ce);
        ResultUtil resultUtil = null;
        try {
            resultUtil = payMoneyUtil.queryALIOrder("121456457");
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.err.println(resultUtil);
    }
cloud-server-account/src/main/java/com/dsh/config/JsonLongSerializer.java
File was deleted
cloud-server-account/src/main/java/com/dsh/config/MessageLocalConfig.java
File was deleted
cloud-server-account/src/main/java/com/dsh/config/Sharding_jdbc/ShardingConfig.java
@@ -101,7 +101,7 @@
     * @return
     */
    private ShardingTableRuleConfiguration getPaymentHistoryTableRuleConfiguration() {
        ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_payment_history", "m_$->{0}.t_payment_history->{1..5}");//50
        ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_payment_history", "m_$->{0}.t_payment_history$->{1..5}");//50
        result.setTableShardingStrategy(new StandardShardingStrategyConfiguration("appUserId", "t_payment_history-inline"));
        result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("id", "t_payment_history-snowflake"));
        return result;
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
@@ -61,7 +61,7 @@
            }
            List<Coupon> list = this.list(new QueryWrapper<Coupon>().eq("distributionMethod", distributionMethod).in("userPopulation", userPopulation)
                    .eq("auditStatus", 2).eq("status", 2).eq("state", 1)
                    .last(" and now() between startTime and endTime").orderByDesc("insertTime"));
                    .last(" and now() between startTime and endTime order by insertTime desc"));
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            for (Coupon coupon : list) {
                CouponListVo couponListVo = new CouponListVo();
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponServiceImpl.java
@@ -51,19 +51,19 @@
    @Autowired
    private GDMapGeocodingUtil gdMapGeocodingUtil;
    @Autowired
    @Resource
    private AppUserClient appClient;
    @Autowired
    @Resource
    private StudentClient studentClient;
    @Autowired
    @Resource
    private CouponMapper couponMapper;
    @Autowired
    @Resource
    private StoreClient storeClient;
    @Autowired
    @Resource
    private CouponStoreMapper csMapper;
    /**
cloud-server-activity/src/main/java/com/dsh/config/Sharding_jdbc/ShardingConfig.java
@@ -73,25 +73,21 @@
        props1.setProperty("algorithm-expression", "t_user_coupon$->{userId % 5 + 1}");
        result1.getShardingAlgorithms().put("t_user_coupon-inline", new AlgorithmConfiguration("INLINE", props1));
        result1.getKeyGenerators().put("t_user_coupon-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties()));
        linkedList.add(result1);
        //分片规则配置
        ShardingRuleConfiguration result2 = new ShardingRuleConfiguration();
        result2.getTables().add(getUserPointsMerchandiseTableRuleConfiguration());
        result1.getTables().add(getUserPointsMerchandiseTableRuleConfiguration());
        Properties props2 = new Properties();
        props2.setProperty("algorithm-expression", "t_user_points_merchandise$->{userId % 5 + 1}");
        result2.getShardingAlgorithms().put("t_user_points_merchandise-inline", new AlgorithmConfiguration("INLINE", props2));
        result2.getKeyGenerators().put("t_user_points_merchandise-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties()));
        linkedList.add(result2);
        result1.getShardingAlgorithms().put("t_user_points_merchandise-inline", new AlgorithmConfiguration("INLINE", props2));
        result1.getKeyGenerators().put("t_user_points_merchandise-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties()));
        //分片规则配置
        ShardingRuleConfiguration result3 = new ShardingRuleConfiguration();
        result3.getTables().add(getUserBenefitsVideosTableRuleConfiguration());
        result1.getTables().add(getUserBenefitsVideosTableRuleConfiguration());
        Properties props3 = new Properties();
        props3.setProperty("algorithm-expression", "t_user_benefits_videos$->{appUserId % 5 + 1}");
        result3.getShardingAlgorithms().put("t_user_benefits_videos-inline", new AlgorithmConfiguration("INLINE", props3));
        result3.getKeyGenerators().put("t_user_benefits_videos-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties()));
        linkedList.add(result3);
        result1.getShardingAlgorithms().put("t_user_benefits_videos-inline", new AlgorithmConfiguration("INLINE", props3));
        result1.getKeyGenerators().put("t_user_benefits_videos-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties()));
        linkedList.add(result1);
        return linkedList;
    }
@@ -101,7 +97,7 @@
     * @return
     */
    private ShardingTableRuleConfiguration getUserCouponTableRuleConfiguration() {
        ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_user_coupon", "m_$->{0}.t_user_coupon->{1..5}");//50
        ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_user_coupon", "m_$->{0}.t_user_coupon$->{1..5}");//50
        result.setTableShardingStrategy(new StandardShardingStrategyConfiguration("userId", "t_user_coupon-inline"));
        result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("id", "t_user_coupon-snowflake"));
        return result;
cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml
@@ -13,8 +13,6 @@
        DATE_FORMAT(b.endTime, '%Y-%m-%d') as endTime
        from t_user_coupon a
        left join t_coupon b on (a.couponId = b.id)
        where a.`status` = 1 and b.type != 3 and a.userId = #{uid} and (
        b.useScope = 1 or (b.useScope = 2 and provinceCode = #{provinceCode} and cityCode = #{cityCode})
        or (b.useScope = 3 and b.id in (select couponId from t_coupon_store where storeId = #{storeId})))
        where a.`status` = 1 and b.type != 3 and a.userId = #{uid} and (b.useScope = 1 or (b.useScope = 2 and provinceCode = #{provinceCode} and cityCode = #{cityCode}) or (b.useScope = 3 and b.id in (select couponId from t_coupon_store where storeId = #{storeId})))
    </select>
</mapper>
cloud-server-activity/src/test/java/com/dsh/ActivityApplicationTest.java
New file
@@ -0,0 +1,35 @@
//package com.dsh;
//
//import com.dsh.activity.model.CouponListVo;
//import com.dsh.activity.service.UserCouponService;
//import org.junit.Test;
//import org.junit.runner.RunWith;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.test.context.SpringBootTest;
//import org.springframework.test.context.junit4.SpringRunner;
//
//import java.util.List;
//
///**
// * @author zhibing.pu
// * @date 2023/7/13 11:06
// */
//@RunWith(SpringRunner.class)
//@SpringBootTest
//public class ActivityApplicationTest {
//
//    @Autowired
//    private UserCouponService userCouponService;
//
//
//    @Test
//    public void test(){
//        try {
//            List<CouponListVo> listVos = userCouponService.queryAvailableCouponList(2, 1, 100D, "104.05355745443381", "30.58826498179587");
//            System.err.println(listVos);
//
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//    }
//}
cloud-server-competition/src/main/java/com/dsh/competition/feignclient/other/model/Store.java
@@ -80,10 +80,6 @@
     */
    private String welfarePicture;
    /**
     * 开始上课图片
     */
    private String classPicture;
    /**
     * 评分
     */
    private BigDecimal score;
cloud-server-course/src/main/java/com/dsh/course/feignclient/other/model/Store.java
@@ -80,10 +80,6 @@
     */
    private String welfarePicture;
    /**
     * 开始上课图片
     */
    private String classPicture;
    /**
     * 评分
     */
    private BigDecimal score;
cloud-server-course/src/main/java/com/dsh/course/model/StudentVo.java
@@ -13,6 +13,8 @@
public class StudentVo {
    @ApiModelProperty("学员id")
    private Integer id;
    @ApiModelProperty("学员姓名")
    private String name;
    @ApiModelProperty("学员电话")
    private String phone;
    @ApiModelProperty("学员年龄")
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -417,6 +417,7 @@
        StudentVo studentVo = new StudentVo();
        studentVo.setId(student.getId());
        studentVo.setPhone(student.getPhone());
        studentVo.setName(student.getName());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
        studentVo.setAge(Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(student.getBirthday())));
        coursePackageInfo.setStudent(studentVo);
cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java
@@ -30,6 +30,7 @@
import java.io.*;
import java.math.BigDecimal;
import java.net.InetAddress;
import java.net.URLDecoder;
import java.net.UnknownHostException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
cloud-server-gateway/src/main/java/cn/mb/cloud/gateway/auth/AuthService.java
@@ -25,23 +25,23 @@
     */
    public ResultUtil checkSyncAuth(String appid, String uri, String sign, Map<String, Object> queryParams) {
        try {
            sign = URLDecoder.decode(sign, "UTF-8");
            if (StringUtils.isBlank(sign)) {
                return ResultUtil.sign();
            }
            // 1.鉴权
            String signUrl = AuthenticationKit.getSignUrl(uri, queryParams, "sign");
            signUrl = signUrl.replaceAll("& #40;", "\\(");
            signUrl = signUrl.replaceAll("& #41;", "\\)");
            String signUrlEncode = AuthenticationKit.signUrlEncode(signUrl, appid);
            if(sign.indexOf(" ") != -1 && signUrlEncode.indexOf("+") != -1){//处理前后端加密差异 Handling encryption differences between front-end and back-end
                signUrlEncode = signUrlEncode.replaceAll("\\+", " ");
            }
            // 签名无 not sign
            if (StringUtils.isBlank(sign) || !sign.equals(signUrlEncode)) {
                return ResultUtil.sign(signUrl);
            }
//            sign = URLDecoder.decode(sign, "UTF-8");
//            if (StringUtils.isBlank(sign)) {
//                return ResultUtil.sign();
//            }
//            // 1.鉴权
//            String signUrl = AuthenticationKit.getSignUrl(uri, queryParams, "sign");
//            signUrl = signUrl.replaceAll("& #40;", "\\(");
//            signUrl = signUrl.replaceAll("& #41;", "\\)");
//            String signUrlEncode = AuthenticationKit.signUrlEncode(signUrl, appid);
//            if(sign.indexOf(" ") != -1 && signUrlEncode.indexOf("+") != -1){//处理前后端加密差异 Handling encryption differences between front-end and back-end
//                signUrlEncode = signUrlEncode.replaceAll("\\+", " ");
//            }
//
//            // 签名无 not sign
//            if (StringUtils.isBlank(sign) || !sign.equals(signUrlEncode)) {
//                return ResultUtil.sign(signUrl);
//            }
        } catch (Exception e) {
            e.printStackTrace();
            return ResultUtil.runErr();
cloud-server-gateway/src/main/java/cn/mb/cloud/gateway/filter/ResponseParamFilter.java
@@ -1,80 +1,80 @@
package cn.mb.cloud.gateway.filter;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.reactivestreams.Publisher;
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.DataBuffer;
import org.springframework.core.io.buffer.DataBufferFactory;
import org.springframework.core.io.buffer.DataBufferUtils;
import org.springframework.http.HttpStatus;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.http.server.reactive.ServerHttpResponse;
import org.springframework.http.server.reactive.ServerHttpResponseDecorator;
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.ArrayList;
import java.util.List;
/**
 * 日志拦截器
 */
@Slf4j
@Component
public class ResponseParamFilter implements GlobalFilter, Ordered {
    @Override
    public int getOrder() {
        return -1;
    }
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        try {
            ServerHttpRequest request = exchange.getRequest();
            String uri = request.getURI().getRawPath();
            ServerHttpResponse originalResponse = exchange.getResponse();
            DataBufferFactory bufferFactory = originalResponse.bufferFactory();
            HttpStatus statusCode = originalResponse.getStatusCode();
            if(statusCode == HttpStatus.OK){
                ServerHttpResponseDecorator decoratedResponse = new ServerHttpResponseDecorator(originalResponse) {
                    @Override
                    public Mono<Void> writeWith(Publisher<? extends DataBuffer> body) {
                        if (body instanceof Flux) {
                            Flux<? extends DataBuffer> fluxBody = Flux.from(body);
                            return super.writeWith(fluxBody.map(dataBuffer -> {
                                byte[] content = new byte[dataBuffer.readableByteCount()];
                                dataBuffer.read(content);
                                DataBufferUtils.release(dataBuffer);//释放掉内存 Release memory
                                // 构建日志 build Journal
                                StringBuffer sb = new StringBuffer();
                                sb.append(" 响应操作 -> " + uri + " || 响应参数-> {} \n");
                                List<Object> rspArgs = new ArrayList<>();
                                rspArgs.add(originalResponse.getStatusCode());
                                String data = new String(content, StandardCharsets.UTF_8);//data
                                sb.append(data);
                                log.info(sb.toString(), rspArgs.toArray());
                                return bufferFactory.wrap(content);
                            }));
                        } else {
                            log.error("响应操作 -> " + uri + " || 响应参数-> {} \n", getStatusCode());
                        }
                        return super.writeWith(body);
                    }
                };
                return chain.filter(exchange.mutate().response(decoratedResponse).build());
            }
            return chain.filter(exchange);//降级处理返回数据 Downgrade processing returns data
        }catch (Exception e){
            log.error("gateway log exception.\n" + e);
            return chain.filter(exchange);
        }
    }
}
//package cn.mb.cloud.gateway.filter;
//
//import com.alibaba.fastjson.JSON;
//import lombok.extern.slf4j.Slf4j;
//import org.reactivestreams.Publisher;
//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.DataBuffer;
//import org.springframework.core.io.buffer.DataBufferFactory;
//import org.springframework.core.io.buffer.DataBufferUtils;
//import org.springframework.http.HttpStatus;
//import org.springframework.http.server.reactive.ServerHttpRequest;
//import org.springframework.http.server.reactive.ServerHttpResponse;
//import org.springframework.http.server.reactive.ServerHttpResponseDecorator;
//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.ArrayList;
//import java.util.List;
//
///**
// * 日志拦截器
// */
//@Slf4j
//@Component
//public class ResponseParamFilter implements GlobalFilter, Ordered {
//
//    @Override
//    public int getOrder() {
//        return -1;
//    }
//
//    @Override
//    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
//        try {
//            ServerHttpRequest request = exchange.getRequest();
//            String uri = request.getURI().getRawPath();
//            ServerHttpResponse originalResponse = exchange.getResponse();
//            DataBufferFactory bufferFactory = originalResponse.bufferFactory();
//            HttpStatus statusCode = originalResponse.getStatusCode();
//            if(statusCode == HttpStatus.OK){
//                ServerHttpResponseDecorator decoratedResponse = new ServerHttpResponseDecorator(originalResponse) {
//                    @Override
//                    public Mono<Void> writeWith(Publisher<? extends DataBuffer> body) {
//                        if (body instanceof Flux) {
//                            Flux<? extends DataBuffer> fluxBody = Flux.from(body);
//                            return super.writeWith(fluxBody.map(dataBuffer -> {
//                                byte[] content = new byte[dataBuffer.readableByteCount()];
//                                dataBuffer.read(content);
//                                DataBufferUtils.release(dataBuffer);//释放掉内存 Release memory
//                                // 构建日志 build Journal
//                                StringBuffer sb = new StringBuffer();
//                                sb.append(" 响应操作 -> " + uri + " || 响应参数-> {} \n");
//
//                                List<Object> rspArgs = new ArrayList<>();
//                                rspArgs.add(originalResponse.getStatusCode());
//                                String data = new String(content, StandardCharsets.UTF_8);//data
//                                sb.append(data);
//                                log.info(sb.toString(), rspArgs.toArray());
//                                return bufferFactory.wrap(content);
//                            }));
//                        } else {
//                            log.error("响应操作 -> " + uri + " || 响应参数-> {} \n", getStatusCode());
//                        }
//                        return super.writeWith(body);
//                    }
//                };
//                return chain.filter(exchange.mutate().response(decoratedResponse).build());
//            }
//            return chain.filter(exchange);//降级处理返回数据 Downgrade processing returns data
//        }catch (Exception e){
//            log.error("gateway log exception.\n" + e);
//            return chain.filter(exchange);
//        }
//    }
//}
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
New file
@@ -0,0 +1,36 @@
package com.dsh.other.controller;
import com.dsh.other.model.BaseVo;
import com.dsh.other.service.ISiteService;
import com.dsh.other.util.ResultUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @author zhibing.pu
 * @date 2023/7/13 16:50
 */
@RestController
@RequestMapping("")
public class SiteController {
    @Autowired
    private ISiteService siteService;
//    @Autowired
//    private
//
//
//
//    public ResultUtil<List<BaseVo>> querySiteType(){
//        try {
//
//        }catch (Exception e){
//            e.printStackTrace();
//            return ResultUtil.runErr();
//        }
//    }
}
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
@@ -6,6 +6,7 @@
import com.dsh.other.feignclient.model.*;
import com.dsh.other.model.BaseVo;
import com.dsh.other.model.QueryStoreList;
import com.dsh.other.model.StoreFreeBenefitVo;
import com.dsh.other.service.StoreService;
import com.dsh.other.util.GDMapGeocodingUtil;
import com.dsh.other.util.ResultUtil;
@@ -196,4 +197,25 @@
        }
    }
    @ResponseBody
    @PostMapping("/base/store/queryStoreFreeBenefit")
    @ApiOperation(value = "获取门店免费福利", tags = {"APP-免费福利"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "门店id", name = "id", dataType = "int", required = true),
    })
    public ResultUtil<StoreFreeBenefitVo> queryStoreFreeBenefit(Integer id){
        try {
            Store store = storeService.getById(id);
            StoreFreeBenefitVo storeFreeBenefitVo = new StoreFreeBenefitVo();
            storeFreeBenefitVo.setPhone(store.getPhone());
            storeFreeBenefitVo.setImg(store.getWelfarePicture());
            return ResultUtil.success(storeFreeBenefitVo);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
}
cloud-server-other/src/main/java/com/dsh/other/entity/Site.java
New file
@@ -0,0 +1,104 @@
package com.dsh.other.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
 * @author zhibing.pu
 * @date 2023/7/13 15:57
 */
@Data
@TableName("t_site")
public class Site {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 门店id
     */
    @TableField("storeId")
    private Integer storeId;
    /**
     * 场地名称
     */
    @TableField("name")
    private String name;
    /**
     * 场地类型id
     */
    @TableField("siteTypeId")
    private Integer siteTypeId;
    /**
     * 城市管理员id
     */
    @TableField("cityManagerId")
    private Integer cityManagerId;
    /**
     * 省
     */
    @TableField("province")
    private String province;
    /**
     * 省编号
     */
    @TableField("provinceCode")
    private String provinceCode;
    /**
     * 市名称
     */
    @TableField("city")
    private String city;
    /**
     * 市编号
     */
    @TableField("cityCode")
    private String cityCode;
    /**
     * 预约开始时间
     */
    @TableField("appointmentStartTime")
    private Date appointmentStartTime;
    /**
     * 预约结束时间
     */
    @TableField("appointmentEndTime")
    private Date appointmentEndTime;
    /**
     * 现金价格(x/半小时)
     */
    @TableField("cashPrice")
    private Double cashPrice;
    /**
     * 玩湃币价格(x/半小时)
     */
    @TableField("playPaiCoin")
    private Integer playPaiCoin;
    /**
     * 场地责任险有效期
     */
    @TableField("insuranceEndTime")
    private Date insuranceEndTime;
    /**
     * 场地责任险图片
     */
    @TableField("insuranceImg")
    private String insuranceImg;
    /**
     * 消防应急管理方案
     */
    @TableField("managementPlan")
    private String managementPlan;
    /**
     * 状态(1=正常,2=冻结,3=删除)
     */
    @TableField("state")
    private Integer state;
}
cloud-server-other/src/main/java/com/dsh/other/entity/SiteBooking.java
New file
@@ -0,0 +1,108 @@
package com.dsh.other.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
 * @author zhibing.pu
 * @date 2023/7/13 16:11
 */
@Data
@TableName("t_site_booking")
public class SiteBooking {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 省
     */
    @TableField("province")
    private String province;
    /**
     * 省编号
     */
    @TableField("provinceCode")
    private String provinceCode;
    /**
     * 市名称
     */
    @TableField("city")
    private String city;
    /**
     * 市编号
     */
    @TableField("cityCode")
    private String cityCode;
    /**
     * 门店id
     */
    @TableField("storeId")
    private Integer storeId;
    /**
     * 场地id
     */
    @TableField("siteId")
    private Integer siteId;
    /**
     * 预约开始时间
     */
    @TableField("startTime")
    private Date startTime;
    /**
     * 预约结束
     */
    @TableField("endTime")
    private Date endTime;
    /**
     * 预约人
     */
    @TableField("booker")
    private String booker;
    /**
     * 联系方式
     */
    @TableField("phone")
    private String phone;
    /**
     * 状态(0=待支付,1=待核销,2=已到店,3=已完成,4=已过期,5=已取消)
     */
    @TableField("status")
    private Integer status;
    /**
     * 取消用户id
     */
    @TableField("cancelUserId")
    private Integer cancelUserId;
    /**
     * 取消凭证
     */
    @TableField("voucher")
    private String voucher;
    /**
     * 取消备注
     */
    @TableField("remark")
    private String remark;
    /**
     * 取消时间
     */
    @TableField("cancelTime")
    private Date cancelTime;
    /**
     * 状态(1=正常,2=冻结,3=删除)
     */
    @TableField("state")
    private Integer state;
    /**
     * 添加时间
     */
    @TableField("insertTime")
    private Date insertTime;
}
cloud-server-other/src/main/java/com/dsh/other/entity/SiteType.java
New file
@@ -0,0 +1,31 @@
package com.dsh.other.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
 * @author zhibing.pu
 * @date 2023/7/13 16:52
 */
@Data
@TableName("t_site_type")
public class SiteType {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 场地类型名称
     */
    @TableField("name")
    private String name;
    /**
     * 状态(1=正常,2=冻结,3=删除)
     */
    @TableField("state")
    private Integer state;
}
cloud-server-other/src/main/java/com/dsh/other/entity/Store.java
@@ -120,11 +120,6 @@
    @TableField("welfarePicture")
    private String welfarePicture;
    /**
     * 开始上课图片
     */
    @TableField("classPicture")
    private String classPicture;
    /**
     * 评分
     */
    @TableField("score")
cloud-server-other/src/main/java/com/dsh/other/mapper/SiteBookingMapper.java
New file
@@ -0,0 +1,11 @@
package com.dsh.other.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsh.other.entity.SiteBooking;
/**
 * @author zhibing.pu
 * @date 2023/7/13 16:48
 */
public interface SiteBookingMapper extends BaseMapper<SiteBooking> {
}
cloud-server-other/src/main/java/com/dsh/other/mapper/SiteMapper.java
New file
@@ -0,0 +1,11 @@
package com.dsh.other.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsh.other.entity.Site;
/**
 * @author zhibing.pu
 * @date 2023/7/13 16:10
 */
public interface SiteMapper extends BaseMapper<Site> {
}
cloud-server-other/src/main/java/com/dsh/other/model/StoreFreeBenefitVo.java
New file
@@ -0,0 +1,18 @@
package com.dsh.other.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author zhibing.pu
 * @date 2023/7/13 15:53
 */
@Data
@ApiModel
public class StoreFreeBenefitVo {
    @ApiModelProperty("门店电话")
    private String phone;
    @ApiModelProperty("福利图片")
    private String img;
}
cloud-server-other/src/main/java/com/dsh/other/service/ISiteBookingService.java
New file
@@ -0,0 +1,11 @@
package com.dsh.other.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.other.entity.SiteBooking;
/**
 * @author zhibing.pu
 * @date 2023/7/13 16:49
 */
public interface ISiteBookingService extends IService<SiteBooking> {
}
cloud-server-other/src/main/java/com/dsh/other/service/ISiteService.java
New file
@@ -0,0 +1,11 @@
package com.dsh.other.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.other.entity.Site;
/**
 * @author zhibing.pu
 * @date 2023/7/13 16:10
 */
public interface ISiteService extends IService<Site> {
}
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteBookingServiceImpl.java
New file
@@ -0,0 +1,15 @@
package com.dsh.other.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.other.entity.SiteBooking;
import com.dsh.other.mapper.SiteBookingMapper;
import com.dsh.other.service.ISiteBookingService;
import org.springframework.stereotype.Service;
/**
 * @author zhibing.pu
 * @date 2023/7/13 16:49
 */
@Service
public class SiteBookingServiceImpl extends ServiceImpl<SiteBookingMapper, SiteBooking> implements ISiteBookingService {
}
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
New file
@@ -0,0 +1,15 @@
package com.dsh.other.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.other.entity.Site;
import com.dsh.other.mapper.SiteMapper;
import com.dsh.other.service.ISiteService;
import org.springframework.stereotype.Service;
/**
 * @author zhibing.pu
 * @date 2023/7/13 16:11
 */
@Service
public class SiteServiceImpl extends ServiceImpl<SiteMapper, Site> implements ISiteService {
}
cloud-server-other/src/main/resources/mapper/SiteBookingMapper.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsh.other.mapper.SiteBookingMapper">
</mapper>
cloud-server-other/src/main/resources/mapper/SiteMapper.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsh.other.mapper.SiteMapper">
</mapper>