diff --git a/jpress-core/src/main/java/io/jpress/web/base/ApiControllerBase.java b/jpress-core/src/main/java/io/jpress/web/base/ApiControllerBase.java index aa8837c70dfc374ee25615823f18ca2a8d6e263e..a2c06f0f2169c5956221c7c20077e5ea5d614417 100644 --- a/jpress-core/src/main/java/io/jpress/web/base/ApiControllerBase.java +++ b/jpress-core/src/main/java/io/jpress/web/base/ApiControllerBase.java @@ -39,5 +39,8 @@ public abstract class ApiControllerBase extends ControllerBase { protected void renderOkJson(String attr, Object value) { renderJson(Ret.ok(attr, value)); } + protected void renderOkDataJson(Object value){ + renderJson(Ret.ok("data", value)); + } } diff --git a/jpress-service-api/src/main/java/io/jpress/service/CouponService.java b/jpress-service-api/src/main/java/io/jpress/service/CouponService.java index 206dc052c5b243e595282de533696bfe5438ab12..0f92bcaebdb22813a42630cab160589bc2e70d98 100644 --- a/jpress-service-api/src/main/java/io/jpress/service/CouponService.java +++ b/jpress-service-api/src/main/java/io/jpress/service/CouponService.java @@ -1,6 +1,7 @@ package io.jpress.service; import com.jfinal.plugin.activerecord.Page; +import io.jboot.db.model.Columns; import io.jpress.model.Coupon; import java.util.List; @@ -80,6 +81,7 @@ public interface CouponService { * @return */ public Page paginate(int page, int pageSize); + public Page paginateByColumns(int page, int pageSize, Columns columns,String orderBy); public void doSyncTakeCount(long couponId); @@ -87,4 +89,4 @@ public interface CouponService { public void doSyncUsedCount(long couponId); -} \ No newline at end of file +} diff --git a/jpress-service-provider/src/main/java/io/jpress/service/provider/CouponCodeServiceProvider.java b/jpress-service-provider/src/main/java/io/jpress/service/provider/CouponCodeServiceProvider.java index 7d88d68819ff17a42280452eafe2de1acd22d192..0411fbe256b64eb6952ad0ae2a6ebae240661253 100644 --- a/jpress-service-provider/src/main/java/io/jpress/service/provider/CouponCodeServiceProvider.java +++ b/jpress-service-provider/src/main/java/io/jpress/service/provider/CouponCodeServiceProvider.java @@ -228,7 +228,7 @@ public class CouponCodeServiceProvider extends JbootServiceBase impl */ @Override public List findAvailableByUserId(Long userid, BigDecimal orderTotalAmount){ - List couponCodes = findListByColumns(Columns.create().add("user_id", userid)); + List couponCodes = findListByColumns(Columns.create().add("user_id", userid),"created desc"); List removeList = new ArrayList<>(); for(CouponCode code:couponCodes){ if (!checkCouponCode(code,userid,orderTotalAmount)){ @@ -246,7 +246,7 @@ public class CouponCodeServiceProvider extends JbootServiceBase impl */ @Override public List findAvailableList(long userid){ - List couponCodes = findListByColumns(Columns.create().add("user_id", userid).add("status",CouponCode.STATUS_NORMAL)); + List couponCodes = findListByColumns(Columns.create().add("user_id", userid).add("status",CouponCode.STATUS_NORMAL),"created desc"); List finalList = new ArrayList<>(); for(CouponCode couponCode:couponCodes){ //没过期,normal状态的 @@ -268,7 +268,7 @@ public class CouponCodeServiceProvider extends JbootServiceBase impl @Override public List findExpire(long userid){ - List couponCodes = findListByColumns(Columns.create().add("user_id", userid).add("status",CouponCode.STATUS_NORMAL)); + List couponCodes = findListByColumns(Columns.create().add("user_id", userid).add("status",CouponCode.STATUS_NORMAL),"created desc"); List finalList = new ArrayList<>(); for(CouponCode couponCode:couponCodes){ //没过期,normal状态的 @@ -291,7 +291,7 @@ public class CouponCodeServiceProvider extends JbootServiceBase impl */ @Override public List findUsed(long userid){ - List couponCodes = findListByColumns(Columns.create().add("user_id", userid).add("status", CouponCode.STATUS_USED)); + List couponCodes = findListByColumns(Columns.create().add("user_id", userid).add("status", CouponCode.STATUS_USED),"created desc"); List finalList = new ArrayList<>(); for(CouponCode couponCode:couponCodes){ diff --git a/jpress-web/src/main/java/io/jpress/web/admin/_CouponController.java b/jpress-web/src/main/java/io/jpress/web/admin/_CouponController.java index 0fbcde4a84424e7c43cc7978f32b06c3200b3828..cba443c7502a17f66b92e91f92ead23ca4458bd6 100644 --- a/jpress-web/src/main/java/io/jpress/web/admin/_CouponController.java +++ b/jpress-web/src/main/java/io/jpress/web/admin/_CouponController.java @@ -58,7 +58,7 @@ public class _CouponController extends AdminControllerBase { @AdminMenu(text = "优惠券", groupId = JPressConsts.SYSTEM_MENU_ORDER, order = 8) public void index() { - Page page = couponService.paginate(getPagePara(), 10); + Page page = couponService.paginateByColumns(getPagePara(), 10,Columns.create(),"id desc"); setAttr("page", page); render("finance/coupon.html"); } @@ -112,6 +112,11 @@ public class _CouponController extends AdminControllerBase { render("finance/coupon_take_edit.html"); } + public void layer(){ + Page page = couponService.paginateByColumns(getPagePara(), 10,Columns.create(),"id desc"); + setAttr("page", page); + render("finance/layer_coupon.html"); + } @EmptyValidate({@Form(name = "userId",message = "用户ID不能为空")}) public void doCodeSave() { diff --git a/jpress-web/src/main/java/io/jpress/web/admin/_UserInfoController.java b/jpress-web/src/main/java/io/jpress/web/admin/_UserInfoController.java index 49b716a418a39d61cf30f0b346003d1692da7f39..596ac899c5450ff0ad53fb82f6470a483ed44b86 100644 --- a/jpress-web/src/main/java/io/jpress/web/admin/_UserInfoController.java +++ b/jpress-web/src/main/java/io/jpress/web/admin/_UserInfoController.java @@ -24,6 +24,7 @@ import io.jpress.service.*; import io.jpress.web.base.AdminControllerBase; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; /** @@ -65,6 +66,10 @@ public class _UserInfoController extends AdminControllerBase { private UserTagService userTagService; + @Inject + private CouponCodeService couponCodeService; + + public void index() { Long uid = getParaToLong(); User user = userService.findById(uid); @@ -197,5 +202,27 @@ public class _UserInfoController extends AdminControllerBase { render("user/detail_utm.html"); } + public void coupon(){ + int action = getParaToInt("action",0); + Long uid = getParaToLong(); + User user = userService.findById(uid); + setAttr("user", user); + List renderList = new ArrayList<>(); + User loginedUser = getLoginedUser(); + if (action == 2){ + //已经使用的 + renderList = couponCodeService.findUsed(user.getId()); + } + if (action == 0){ + //未过期的,未使用的,正常状态的 + renderList = couponCodeService.findAvailableList(user.getId()); + } + if (action == 1){ + //已经过期的 + renderList = couponCodeService.findExpire(user.getId()); + } + setAttr("couponCodeList",renderList); + render("user/detail_coupon.html"); + } } diff --git a/jpress-web/src/main/webapp/WEB-INF/views/admin/finance/layer_coupon.html b/jpress-web/src/main/webapp/WEB-INF/views/admin/finance/layer_coupon.html new file mode 100644 index 0000000000000000000000000000000000000000..06e983aa67318cf051a70d0c7525cdda69349623 --- /dev/null +++ b/jpress-web/src/main/webapp/WEB-INF/views/admin/finance/layer_coupon.html @@ -0,0 +1,86 @@ +#@layer() +#define script() + +#end + +#define content() +
+ +
+
+ +
+ + + + + + + + + + + + + + #for(coupon : page.list ??) + + + + + + + + + + + + #end + +
名称类型金额发券量领取量使用量状态分配
+
+ + +
+
+ +
+#end diff --git a/jpress-web/src/main/webapp/WEB-INF/views/admin/user/_user_detail_layout.html b/jpress-web/src/main/webapp/WEB-INF/views/admin/user/_user_detail_layout.html index 3c4c5cf37460e29f873c6590a53e21c57eb13ec2..4fb5c375a290665e90ddae42670ab339b2455360 100755 --- a/jpress-web/src/main/webapp/WEB-INF/views/admin/user/_user_detail_layout.html +++ b/jpress-web/src/main/webapp/WEB-INF/views/admin/user/_user_detail_layout.html @@ -58,7 +58,7 @@
- +

#(user.nickname ??)

#(user.identity ??)

@@ -71,6 +71,7 @@
  • 角色分配
  • #end
  • 财务信息
  • +
  • 优惠券码
  • 会员信息
  • 通信资料
  • 账号密码
  • @@ -78,6 +79,7 @@
  • 其他属性
  • 修改头像
  • 行为记录
  • +
    diff --git a/jpress-web/src/main/webapp/WEB-INF/views/admin/user/detail_coupon.html b/jpress-web/src/main/webapp/WEB-INF/views/admin/user/detail_coupon.html new file mode 100644 index 0000000000000000000000000000000000000000..9b25d5b0d4b175e778063877a9f7e662ebb0268c --- /dev/null +++ b/jpress-web/src/main/webapp/WEB-INF/views/admin/user/detail_coupon.html @@ -0,0 +1,112 @@ +#include("_user_detail_layout.html") +#@user_detail_layout("coupon") +#define detail() +#define layout_script() + + +#end + + + + + +
    + + + + + + + + + + + + + + #for(data : couponCodeList) + + + + + + + + + + + + #end + + +
    名称金额券码使用时间仅限会员券类型领取时间
    +
    +#end + diff --git a/module-product/module-product-web/src/main/java/io/jpress/module/product/api/ProductApiController.java b/module-product/module-product-web/src/main/java/io/jpress/module/product/api/ProductApiController.java index 40750779255ffb91ca9d70c394b6ea211b7251b9..df9b5810b2bc4b56aa5653c922a94d4e86c6e9be 100644 --- a/module-product/module-product-web/src/main/java/io/jpress/module/product/api/ProductApiController.java +++ b/module-product/module-product-web/src/main/java/io/jpress/module/product/api/ProductApiController.java @@ -97,4 +97,14 @@ public class ProductApiController extends ApiControllerBase { renderOkJson("products", relevantArticles); } + + /** + * 商品搜索 + */ + public void search(){ + + } + + + } diff --git a/module-product/module-product-web/src/main/java/io/jpress/module/product/api/UserCarApiController.java b/module-product/module-product-web/src/main/java/io/jpress/module/product/api/UserCarApiController.java new file mode 100644 index 0000000000000000000000000000000000000000..5ec699f51150282c882ce96f4bb80bd16dcbb57b --- /dev/null +++ b/module-product/module-product-web/src/main/java/io/jpress/module/product/api/UserCarApiController.java @@ -0,0 +1,59 @@ +/** + * Copyright (c) 2016-2019, Michael Yang 杨福海 (fuhai999@gmail.com). + *

    + * Licensed under the GNU Lesser General Public License (LGPL) ,Version 3.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

    + * http://www.gnu.org/licenses/lgpl-3.0.txt + *

    + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.jpress.module.product.api; + +import io.jboot.web.controller.annotation.RequestMapping; +import io.jpress.web.base.ApiControllerBase; + +/** + * @author haicuan139 (haicuan139@163.com) + * @Date: 2019/12/24 + */ +@RequestMapping("/api/usercar") +public class UserCarApiController extends ApiControllerBase { + + /** + * 购物车列表 + */ + public void index(){ + + } + + /** + * 添加到购物车 + */ + public void doDelCar(){ + + } + + /** + * 购物车中删除 + */ + public void doAddCar(){ + + } + + /** + * 改变购物车中商品的数量 + */ + public void changeCount(){ + + } + + + + +} diff --git a/module-product/module-product-web/src/main/java/io/jpress/module/product/api/UserCouponApiController.java b/module-product/module-product-web/src/main/java/io/jpress/module/product/api/UserCouponApiController.java new file mode 100644 index 0000000000000000000000000000000000000000..49d21543eeb5373140fd6d12e576aae784e396dd --- /dev/null +++ b/module-product/module-product-web/src/main/java/io/jpress/module/product/api/UserCouponApiController.java @@ -0,0 +1,79 @@ +/** + * Copyright (c) 2016-2019, Michael Yang 杨福海 (fuhai999@gmail.com). + *

    + * Licensed under the GNU Lesser General Public License (LGPL) ,Version 3.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

    + * http://www.gnu.org/licenses/lgpl-3.0.txt + *

    + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.jpress.module.product.api; + +import com.jfinal.aop.Inject; +import io.jboot.web.controller.annotation.RequestMapping; +import io.jpress.model.CouponCode; +import io.jpress.model.User; +import io.jpress.service.CouponCodeService; +import io.jpress.service.CouponService; +import io.jpress.web.base.ApiControllerBase; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +/** + * @author haicuan139 (haicuan139@163.com) + * @Date: 2019/12/24 + */ +@RequestMapping("/api/usercoupon") +public class UserCouponApiController extends ApiControllerBase { + + @Inject + private CouponCodeService couponCodeService; + /** + * 用户的优惠券列表 + */ + public void index(){ + int action = getParaToInt("action",0); + List renderList = new ArrayList<>(); + User loginedUser = getLoginedUser(); + if (action == 0){ + //未过期的,未使用的,正常状态的 + renderList = couponCodeService.findAvailableList(loginedUser.getId()); + } + if (action == 1){ + //已经过期的 + renderList = couponCodeService.findExpire(loginedUser.getId()); + } + if (action == 2){ + //已经使用的 + renderList = couponCodeService.findUsed(loginedUser.getId()); + } + renderOkDataJson(renderList); + } + + + /** + * 支付是,获取用户可用的优惠券 + */ + public void findAvailable(){ + String price = getPara("price"); + List couponCodes = couponCodeService.findAvailableByUserId(getLoginedUser().getId(), new BigDecimal(price)); + renderOkDataJson(couponCodes); + } + + /** + * 领取优惠券 + */ + public void getCoupon(){ + + } + + +} diff --git a/module-product/module-product-web/src/main/java/io/jpress/module/product/api/UserOrderApiController.java b/module-product/module-product-web/src/main/java/io/jpress/module/product/api/UserOrderApiController.java new file mode 100644 index 0000000000000000000000000000000000000000..5b056ff1692c42b5081939982a9fe7e7731f478d --- /dev/null +++ b/module-product/module-product-web/src/main/java/io/jpress/module/product/api/UserOrderApiController.java @@ -0,0 +1,66 @@ +/** + * Copyright (c) 2016-2019, Michael Yang 杨福海 (fuhai999@gmail.com). + *

    + * Licensed under the GNU Lesser General Public License (LGPL) ,Version 3.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

    + * http://www.gnu.org/licenses/lgpl-3.0.txt + *

    + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.jpress.module.product.api; + +import io.jboot.web.controller.annotation.RequestMapping; +import io.jpress.web.base.ApiControllerBase; + +/** + * @author haicuan139 (haicuan139@163.com) + * @Date: 2019/12/24 + */ +@RequestMapping("/api/userorder") +public class UserOrderApiController extends ApiControllerBase { + + /** + * 订单列表 + */ + public void index(){ + + } + + /** + * 添加到订单 + */ + public void doDelOrder(){ + + } + + /** + * 订单中删除 + */ + public void doCreateOrder(){ + + } + + /** + * 改变订单中商品的数量 + */ + public void changeCount(){ + + } + + /** + * 对订单进行支付 + */ + public void payOrder(){ + + } + + + + +}