diff --git a/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java b/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java index 0f59623f..84c9bb8e 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java +++ b/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java @@ -239,12 +239,11 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl + * 门店店员表 + *

+ * + * @author hupeng + * @since 2020-03-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "YxSystemStoreStaff对象", description = "门店店员表") +public class YxSystemStoreStaff extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "微信用户id") + private Integer uid; + + private String nickname; + + @ApiModelProperty(value = "店员头像") + private String avatar; + + @ApiModelProperty(value = "门店id") + private Integer storeId; + + private String storeName; + + @ApiModelProperty(value = "店员名称") + private String staffName; + + @ApiModelProperty(value = "手机号码") + private String phone; + + @ApiModelProperty(value = "核销开关") + private Integer verifyStatus; + + @ApiModelProperty(value = "状态") + private Integer status; + + @ApiModelProperty(value = "添加时间") + private Integer addTime; + +} diff --git a/yshop-api/src/main/java/co/yixiang/modules/shop/mapper/YxSystemStoreStaffMapper.java b/yshop-api/src/main/java/co/yixiang/modules/shop/mapper/YxSystemStoreStaffMapper.java new file mode 100644 index 00000000..67603f17 --- /dev/null +++ b/yshop-api/src/main/java/co/yixiang/modules/shop/mapper/YxSystemStoreStaffMapper.java @@ -0,0 +1,40 @@ +package co.yixiang.modules.shop.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import co.yixiang.modules.shop.entity.YxSystemStoreStaff; +import co.yixiang.modules.shop.web.param.YxSystemStoreStaffQueryParam; +import co.yixiang.modules.shop.web.vo.YxSystemStoreStaffQueryVo; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.io.Serializable; + +/** + *

+ * 门店店员表 Mapper 接口 + *

+ * + * @author hupeng + * @since 2020-03-23 + */ +@Repository +public interface YxSystemStoreStaffMapper extends BaseMapper { + + /** + * 根据ID获取查询对象 + * @param id + * @return + */ + YxSystemStoreStaffQueryVo getYxSystemStoreStaffById(Serializable id); + + /** + * 获取分页对象 + * @param page + * @param yxSystemStoreStaffQueryParam + * @return + */ + IPage getYxSystemStoreStaffPageList(@Param("page") Page page, @Param("param") YxSystemStoreStaffQueryParam yxSystemStoreStaffQueryParam); + +} diff --git a/yshop-api/src/main/java/co/yixiang/modules/shop/service/YxSystemStoreStaffService.java b/yshop-api/src/main/java/co/yixiang/modules/shop/service/YxSystemStoreStaffService.java new file mode 100644 index 00000000..0b19b00a --- /dev/null +++ b/yshop-api/src/main/java/co/yixiang/modules/shop/service/YxSystemStoreStaffService.java @@ -0,0 +1,37 @@ +package co.yixiang.modules.shop.service; + +import co.yixiang.modules.shop.entity.YxSystemStoreStaff; +import co.yixiang.common.service.BaseService; +import co.yixiang.modules.shop.web.param.YxSystemStoreStaffQueryParam; +import co.yixiang.modules.shop.web.vo.YxSystemStoreStaffQueryVo; +import co.yixiang.common.web.vo.Paging; + +import java.io.Serializable; + +/** + *

+ * 门店店员表 服务类 + *

+ * + * @author hupeng + * @since 2020-03-23 + */ +public interface YxSystemStoreStaffService extends BaseService { + + boolean checkStatus(int uid); + + /** + * 根据ID获取查询对象 + * @param id + * @return + */ + YxSystemStoreStaffQueryVo getYxSystemStoreStaffById(Serializable id) throws Exception; + + /** + * 获取分页对象 + * @param yxSystemStoreStaffQueryParam + * @return + */ + Paging getYxSystemStoreStaffPageList(YxSystemStoreStaffQueryParam yxSystemStoreStaffQueryParam) throws Exception; + +} diff --git a/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxSystemStoreStaffServiceImpl.java b/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxSystemStoreStaffServiceImpl.java new file mode 100644 index 00000000..3bad932d --- /dev/null +++ b/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxSystemStoreStaffServiceImpl.java @@ -0,0 +1,58 @@ +package co.yixiang.modules.shop.service.impl; + +import co.yixiang.modules.shop.entity.YxSystemStoreStaff; +import co.yixiang.modules.shop.mapper.YxSystemStoreStaffMapper; +import co.yixiang.modules.shop.service.YxSystemStoreStaffService; +import co.yixiang.modules.shop.web.param.YxSystemStoreStaffQueryParam; +import co.yixiang.modules.shop.web.vo.YxSystemStoreStaffQueryVo; +import co.yixiang.common.service.impl.BaseServiceImpl; +import co.yixiang.common.web.vo.Paging; +import co.yixiang.modules.user.entity.YxUserRecharge; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.beans.factory.annotation.Autowired; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import java.io.Serializable; + + +/** + *

+ * 门店店员表 服务实现类 + *

+ * + * @author hupeng + * @since 2020-03-23 + */ +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class YxSystemStoreStaffServiceImpl extends BaseServiceImpl implements YxSystemStoreStaffService { + + @Autowired + private YxSystemStoreStaffMapper yxSystemStoreStaffMapper; + + @Override + public boolean checkStatus(int uid) { + YxSystemStoreStaff storeStaff = new YxSystemStoreStaff(); + storeStaff.setUid(uid); + return yxSystemStoreStaffMapper.selectCount(Wrappers.query(storeStaff)) > 0; + } + + @Override + public YxSystemStoreStaffQueryVo getYxSystemStoreStaffById(Serializable id) throws Exception{ + return yxSystemStoreStaffMapper.getYxSystemStoreStaffById(id); + } + + @Override + public Paging getYxSystemStoreStaffPageList(YxSystemStoreStaffQueryParam yxSystemStoreStaffQueryParam) throws Exception{ + Page page = setPageParam(yxSystemStoreStaffQueryParam,OrderItem.desc("create_time")); + IPage iPage = yxSystemStoreStaffMapper.getYxSystemStoreStaffPageList(page,yxSystemStoreStaffQueryParam); + return new Paging(iPage); + } + +} diff --git a/yshop-api/src/main/java/co/yixiang/modules/shop/web/param/YxSystemStoreStaffQueryParam.java b/yshop-api/src/main/java/co/yixiang/modules/shop/web/param/YxSystemStoreStaffQueryParam.java new file mode 100644 index 00000000..0d193bee --- /dev/null +++ b/yshop-api/src/main/java/co/yixiang/modules/shop/web/param/YxSystemStoreStaffQueryParam.java @@ -0,0 +1,22 @@ +package co.yixiang.modules.shop.web.param; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import co.yixiang.common.web.param.QueryParam; + +/** + *

+ * 门店店员表 查询参数对象 + *

+ * + * @author hupeng + * @date 2020-03-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value="YxSystemStoreStaffQueryParam对象", description="门店店员表查询参数") +public class YxSystemStoreStaffQueryParam extends QueryParam { + private static final long serialVersionUID = 1L; +} diff --git a/yshop-api/src/main/java/co/yixiang/modules/shop/web/vo/YxSystemStoreStaffQueryVo.java b/yshop-api/src/main/java/co/yixiang/modules/shop/web/vo/YxSystemStoreStaffQueryVo.java new file mode 100644 index 00000000..5a59d607 --- /dev/null +++ b/yshop-api/src/main/java/co/yixiang/modules/shop/web/vo/YxSystemStoreStaffQueryVo.java @@ -0,0 +1,54 @@ +package co.yixiang.modules.shop.web.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +import java.util.Date; + +/** + *

+ * 门店店员表 查询结果对象 + *

+ * + * @author hupeng + * @date 2020-03-23 + */ +@Data +@ApiModel(value = "YxSystemStoreStaffQueryVo对象", description = "门店店员表查询参数") +public class YxSystemStoreStaffQueryVo implements Serializable { + private static final long serialVersionUID = 1L; + + private Integer id; + + @ApiModelProperty(value = "微信用户id") + private Integer uid; + + private String nickname; + + @ApiModelProperty(value = "店员头像") + private String avatar; + + @ApiModelProperty(value = "门店id") + private Integer storeId; + + private String storeName; + + @ApiModelProperty(value = "店员名称") + private String staffName; + + @ApiModelProperty(value = "手机号码") + private String phone; + + @ApiModelProperty(value = "核销开关") + private Integer verifyStatus; + + @ApiModelProperty(value = "状态") + private Integer status; + + @ApiModelProperty(value = "添加时间") + private Integer addTime; + +} \ No newline at end of file diff --git a/yshop-api/src/main/java/co/yixiang/modules/user/entity/YxUserRecharge.java b/yshop-api/src/main/java/co/yixiang/modules/user/entity/YxUserRecharge.java index 4565b0a9..06048cbb 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/user/entity/YxUserRecharge.java +++ b/yshop-api/src/main/java/co/yixiang/modules/user/entity/YxUserRecharge.java @@ -40,6 +40,8 @@ public class YxUserRecharge extends BaseEntity { @ApiModelProperty(value = "充值金额") private BigDecimal price; + private BigDecimal givePrice; + @ApiModelProperty(value = "充值类型") private String rechargeType; diff --git a/yshop-api/src/main/java/co/yixiang/modules/user/service/impl/YxUserRechargeServiceImpl.java b/yshop-api/src/main/java/co/yixiang/modules/user/service/impl/YxUserRechargeServiceImpl.java index 08f72e8a..807847df 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/user/service/impl/YxUserRechargeServiceImpl.java +++ b/yshop-api/src/main/java/co/yixiang/modules/user/service/impl/YxUserRechargeServiceImpl.java @@ -71,6 +71,9 @@ public class YxUserRechargeServiceImpl extends BaseServiceImpl imp private YxUserLevelService userLevelService; @Autowired private YxStoreCouponUserService storeCouponUserService; + @Autowired + private YxSystemStoreStaffService systemStoreStaffService; @@ -442,8 +445,10 @@ public class YxUserServiceImpl extends BaseServiceImpl imp }else{ userQueryVo.setStatu(0); } - //todo 测试环境设置所有人是管理员,生成环境记得去掉 - //userQueryVo.setAdminid(1); + + //获取核销权限 + userQueryVo.setCheckStatus(systemStoreStaffService.checkStatus((int)id)); + return userQueryVo; } diff --git a/yshop-api/src/main/java/co/yixiang/modules/user/web/controller/UserExtractController.java b/yshop-api/src/main/java/co/yixiang/modules/user/web/controller/UserExtractController.java index 56da30e1..3fedb072 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/user/web/controller/UserExtractController.java +++ b/yshop-api/src/main/java/co/yixiang/modules/user/web/controller/UserExtractController.java @@ -71,7 +71,7 @@ public class UserExtractController extends BaseController { */ @PostMapping("/extract/cash") @ApiOperation(value = "用户提现",notes = "用户提现") - public ApiResult addYxUserExtract(@Valid @RequestBody UserExtParam param) throws Exception{ + public ApiResult addYxUserExtract(@Valid @RequestBody UserExtParam param) throws Exception{ int uid = SecurityUtils.getUserId().intValue(); userExtractService.userExtract(uid,param); diff --git a/yshop-api/src/main/java/co/yixiang/modules/user/web/controller/UserRechargeController.java b/yshop-api/src/main/java/co/yixiang/modules/user/web/controller/UserRechargeController.java index db3b6ee0..5de62179 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/user/web/controller/UserRechargeController.java +++ b/yshop-api/src/main/java/co/yixiang/modules/user/web/controller/UserRechargeController.java @@ -17,6 +17,7 @@ import co.yixiang.common.web.controller.BaseController; import co.yixiang.enums.BillDetailEnum; import co.yixiang.exception.ErrorRequestException; import co.yixiang.modules.shop.service.YxSystemConfigService; +import co.yixiang.modules.shop.service.YxSystemGroupDataService; import co.yixiang.modules.user.entity.YxUser; import co.yixiang.modules.user.entity.YxWechatUser; import co.yixiang.modules.user.service.YxUserRechargeService; @@ -33,6 +34,7 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -61,6 +63,18 @@ public class UserRechargeController extends BaseController { private final YxSystemConfigService systemConfigService; private final YxPayService payService; private final YxWechatUserService wechatUserService; + private final YxSystemGroupDataService systemGroupDataService; + + /** + * 充值方案 + */ + @GetMapping("/recharge/index") + @ApiOperation(value = "充值方案",notes = "充值方案",response = ApiResult.class) + public ApiResult getWays(){ + Map map = new LinkedHashMap<>(); + map.put("recharge_price_ways",systemGroupDataService.getDatas("recharge_price_ways")); + return ApiResult.ok(map); + } /** * 公众号充值/H5充值 diff --git a/yshop-api/src/main/java/co/yixiang/modules/user/web/param/RechargeParam.java b/yshop-api/src/main/java/co/yixiang/modules/user/web/param/RechargeParam.java index c976028f..40590be8 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/user/web/param/RechargeParam.java +++ b/yshop-api/src/main/java/co/yixiang/modules/user/web/param/RechargeParam.java @@ -19,5 +19,7 @@ public class RechargeParam implements Serializable { @Min(value = 1,message = "充值金额不能低于1") private Double price; + private Double paidPrice = 0d; + private String orderSn; } diff --git a/yshop-api/src/main/java/co/yixiang/modules/user/web/vo/YxUserQueryVo.java b/yshop-api/src/main/java/co/yixiang/modules/user/web/vo/YxUserQueryVo.java index 7f2ce3e4..c89aedf4 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/user/web/vo/YxUserQueryVo.java +++ b/yshop-api/src/main/java/co/yixiang/modules/user/web/vo/YxUserQueryVo.java @@ -45,6 +45,8 @@ public class YxUserQueryVo implements Serializable { private Boolean isYesterDaySign; + private Boolean checkStatus; + // @ApiModelProperty(value = "用户密码(跟pwd)") diff --git a/yshop-api/src/main/resources/mapper/shop/YxSystemStoreStaffMapper.xml b/yshop-api/src/main/resources/mapper/shop/YxSystemStoreStaffMapper.xml new file mode 100644 index 00000000..bf10502f --- /dev/null +++ b/yshop-api/src/main/resources/mapper/shop/YxSystemStoreStaffMapper.xml @@ -0,0 +1,18 @@ + + + + + + + id, uid, nickname, avatar, store_id, store_name, staff_name, phone, verify_status, status, add_time + + + + + + + diff --git a/yshop-api/src/test/java/co/yixiang/test/CodeGenerator.java b/yshop-api/src/test/java/co/yixiang/test/CodeGenerator.java index 8cda22da..cf0d1750 100644 --- a/yshop-api/src/test/java/co/yixiang/test/CodeGenerator.java +++ b/yshop-api/src/test/java/co/yixiang/test/CodeGenerator.java @@ -47,7 +47,7 @@ public class CodeGenerator { // 作者 private static final String AUTHOR = "hupeng"; // 生成的表名称 - private static final String TABLE_NAME = "yx_system_store"; // 主键数据库列名称 + private static final String TABLE_NAME = "yx_system_store_staff"; // 主键数据库列名称 private static final String PK_ID_COLUMN_NAME = "id"; // 代码生成策略 true:All/false:SIMPLE private static final boolean GENERATOR_STRATEGY = true; diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/StoreOrderController.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/StoreOrderController.java index 8e2b911f..a4ffbd27 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/StoreOrderController.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/StoreOrderController.java @@ -206,11 +206,10 @@ public class StoreOrderController { try { YxWechatUserDTO wechatUser = wechatUserService.findById(resources.getUid()); if (ObjectUtil.isNotNull(wechatUser)) { + //公众号与小程序打通统一公众号模板通知 if (StrUtil.isNotBlank(wechatUser.getOpenid())) { templateService.deliverySuccessNotice(resources.getOrderId(), expressDTO.getName(),resources.getDeliveryId(),wechatUser.getOpenid()); - } else if (StrUtil.isNotBlank(wechatUser.getRoutineOpenid())) { - //todo 小程序通知 } } } catch (Exception e) { @@ -266,12 +265,11 @@ public class StoreOrderController { try { YxWechatUserDTO wechatUser = wechatUserService.findById(resources.getUid()); if (ObjectUtil.isNotNull(wechatUser)) { + //公众号与小程序打通统一公众号模板通知 if (StrUtil.isNotBlank(wechatUser.getOpenid())) { templateService.refundSuccessNotice(resources.getOrderId(), resources.getPayPrice().toString(),wechatUser.getOpenid(), OrderUtil.stampToDate(resources.getAddTime().toString())); - } else if (StrUtil.isNotBlank(wechatUser.getRoutineOpenid())) { - //todo 小程序通知 } } } catch (Exception e) {