| @@ -238,5 +238,18 @@ public class WxCardInfoController extends BaseController { | |||||
| wxCardSpendService.exportData(wxCardSpendVo, request, response); | wxCardSpendService.exportData(wxCardSpendVo, request, response); | ||||
| } | } | ||||
| @ApiOperation("启用/停用") | |||||
| @PostMapping("/startOrStop") | |||||
| @SystemControllerLog(description = "启用/停用") | |||||
| public ResultData startOrStop(@RequestBody WxCardInfo WxCardInfo) { | |||||
| try { | |||||
| wxCardInfoService.startOrStop(WxCardInfo); | |||||
| } catch (Exception e) { | |||||
| logger.error(e.getMessage()); | |||||
| return new ResultData(ErrorCode.COUPON_PASSWORD_POSTPONE_ERR.getCode(),"更新失败"); | |||||
| } | |||||
| return new ResultData(); | |||||
| } | |||||
| } | } | ||||
| @@ -87,8 +87,7 @@ public class WxCouponPasswordController extends BaseController { | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | ||||
| public ResultData batchList(@ModelAttribute WxCouponPassword wxCouponPassword, Integer pageNum, Integer pageSize) { | public ResultData batchList(@ModelAttribute WxCouponPassword wxCouponPassword, Integer pageNum, Integer pageSize) { | ||||
| wxCouponPassword.updateTenantInfo(getTenantInfo()); | wxCouponPassword.updateTenantInfo(getTenantInfo()); | ||||
| wxCouponPassword.setSortColumns(BaseEntity.SortField.CreateDate_DESC, BaseEntity.SortField.Id_DESC); | |||||
| wxCouponPassword.setSortColumns(BaseEntity.SortField.CreateDate_DESC); | |||||
| final PageInfo<WxCouponPasswordVo> page = wxCouponPasswordService.listVoAsPage(wxCouponPassword, pageNum, pageSize); | final PageInfo<WxCouponPasswordVo> page = wxCouponPasswordService.listVoAsPage(wxCouponPassword, pageNum, pageSize); | ||||
| return new ResultData(page); | return new ResultData(page); | ||||
| } | } | ||||
| @@ -97,20 +96,11 @@ public class WxCouponPasswordController extends BaseController { | |||||
| @PostMapping("/startOrStop") | @PostMapping("/startOrStop") | ||||
| @SystemControllerLog(description = "启用/停用") | @SystemControllerLog(description = "启用/停用") | ||||
| public ResultData startOrStop(@RequestBody WxCouponPassword wxCouponPassword) { | public ResultData startOrStop(@RequestBody WxCouponPassword wxCouponPassword) { | ||||
| // | |||||
| if (wxCouponPassword.getCouponId() == null) { | |||||
| logger.error("couponId不能为空: "); | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||||
| } | |||||
| WxCouponPassword couponPassword = new WxCouponPassword(); | |||||
| couponPassword.updateTenantInfo(getTenantInfo()); | |||||
| couponPassword.setCouponId(wxCouponPassword.getCouponId()); | |||||
| couponPassword.setExpireDate(wxCouponPassword.getExpireDate()); | |||||
| try { | try { | ||||
| wxCouponPasswordService.postpone(couponPassword); | |||||
| wxCouponPasswordService.startOrStop(wxCouponPassword); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error(e.getMessage()); | logger.error(e.getMessage()); | ||||
| return new ResultData(ErrorCode.COUPON_PASSWORD_POSTPONE_ERR); | |||||
| return new ResultData(ErrorCode.COUPON_PASSWORD_POSTPONE_ERR.getCode(),"更新失败"); | |||||
| } | } | ||||
| return new ResultData(); | return new ResultData(); | ||||
| } | } | ||||
| @@ -6,11 +6,13 @@ import com.iformall.common.Result; | |||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.vo.WxCardSpendVo; | import com.iformall.domain.vo.WxCardSpendVo; | ||||
| import com.iformall.enums.EnumCardInfoStatus; | |||||
| import com.iformall.enums.EnumCouponStatus; | import com.iformall.enums.EnumCouponStatus; | ||||
| import com.iformall.enums.EnumCreditLockedStatus; | import com.iformall.enums.EnumCreditLockedStatus; | ||||
| import com.iformall.enums.EnumMerchantStatus; | import com.iformall.enums.EnumMerchantStatus; | ||||
| import com.iformall.enums.EnumMerchantSubsidySource; | import com.iformall.enums.EnumMerchantSubsidySource; | ||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| import com.iformall.enums.EnumYesOrNo; | |||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.service.WxCUserBasicInfoService; | import com.iformall.service.WxCUserBasicInfoService; | ||||
| import com.iformall.service.WxCardInfoService; | import com.iformall.service.WxCardInfoService; | ||||
| @@ -142,11 +144,15 @@ public class WxCardPayController extends BaseController { | |||||
| logger.error("卡不存在: " + cardIdStr); | logger.error("卡不存在: " + cardIdStr); | ||||
| return new ResultData(ErrorCode.CARD_IS_NOT_FOUND); | return new ResultData(ErrorCode.CARD_IS_NOT_FOUND); | ||||
| } | } | ||||
| return saveCardPayOrder(cUserId,cardInfo,merchantBUser,totalFeeStr,EnumPayWay.PAY_WAY_WECHAT); | return saveCardPayOrder(cUserId,cardInfo,merchantBUser,totalFeeStr,EnumPayWay.PAY_WAY_WECHAT); | ||||
| } | } | ||||
| private ResultData saveCardPayOrder(Long cUserId,WxCardInfo cardInfo,WxMerchantBUser merchantBUser,String totalFeeStr,EnumPayWay payWay) { | private ResultData saveCardPayOrder(Long cUserId,WxCardInfo cardInfo,WxMerchantBUser merchantBUser,String totalFeeStr,EnumPayWay payWay) { | ||||
| if (EnumCardInfoStatus.STOP.getCode().intValue() == cardInfo.getStatus().intValue()) { | |||||
| return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡已被禁用."); | |||||
| } | |||||
| String ipStr = getIpAddr(); | String ipStr = getIpAddr(); | ||||
| if (Constant.defaultCUserId != cUserId) { | if (Constant.defaultCUserId != cUserId) { | ||||
| WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(cUserId,merchantBUser.getFinalTenantId()); | WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(cUserId,merchantBUser.getFinalTenantId()); | ||||
| @@ -250,6 +256,9 @@ public class WxCardPayController extends BaseController { | |||||
| if (null == couponPassword) { | if (null == couponPassword) { | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "卡未查询到"); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "卡未查询到"); | ||||
| } | } | ||||
| if (EnumYesOrNo.YES.getCode().intValue() == couponPassword.getIsStop().intValue()) { | |||||
| return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡已被禁用."); | |||||
| } | |||||
| WxCoupon coupon = wxCouponService.getById(couponPassword.getCouponId(),couponPassword.getTenantId()); | WxCoupon coupon = wxCouponService.getById(couponPassword.getCouponId(),couponPassword.getTenantId()); | ||||
| if (coupon == null) { | if (coupon == null) { | ||||
| @@ -32,6 +32,7 @@ import com.iformall.domain.po.WxCouponOrder; | |||||
| import com.iformall.domain.po.WxMerchant; | import com.iformall.domain.po.WxMerchant; | ||||
| import com.iformall.domain.po.WxOrder; | import com.iformall.domain.po.WxOrder; | ||||
| import com.iformall.domain.vo.WxCardSpendVo; | import com.iformall.domain.vo.WxCardSpendVo; | ||||
| import com.iformall.enums.EnumCardInfoStatus; | |||||
| import com.iformall.enums.EnumCreditLockedStatus; | import com.iformall.enums.EnumCreditLockedStatus; | ||||
| import com.iformall.enums.EnumMerchantStatus; | import com.iformall.enums.EnumMerchantStatus; | ||||
| import com.iformall.enums.EnumMerchantSubsidySource; | import com.iformall.enums.EnumMerchantSubsidySource; | ||||
| @@ -137,6 +138,9 @@ public class WxCardPayController extends BaseController { | |||||
| logger.error("卡不存在: " + cardIdStr); | logger.error("卡不存在: " + cardIdStr); | ||||
| return new ResultData(ErrorCode.CARD_IS_NOT_FOUND); | return new ResultData(ErrorCode.CARD_IS_NOT_FOUND); | ||||
| } | } | ||||
| if (EnumCardInfoStatus.STOP.getCode().intValue() == cardInfo.getStatus().intValue()) { | |||||
| return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡已被禁用."); | |||||
| } | |||||
| if(payment > cardInfo.getRemainingAmount()) { | if(payment > cardInfo.getRemainingAmount()) { | ||||
| logger.error("卡余额不足: " + cardIdStr); | logger.error("卡余额不足: " + cardIdStr); | ||||
| @@ -24,7 +24,7 @@ public class WxCouponPassword extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="卡券短ID",name="couponShort") | @io.swagger.annotations.ApiModelProperty(value="卡券短ID",name="couponShort") | ||||
| private String couponShort; | private String couponShort; | ||||
| @Excel(name = "兑换码", width = 20, orderNum = "2") | @Excel(name = "兑换码", width = 20, orderNum = "2") | ||||
| @io.swagger.annotations.ApiModelProperty(value="商户名称",name="password") | |||||
| @io.swagger.annotations.ApiModelProperty(value="卡密",name="password") | |||||
| private String password; | private String password; | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private String passwordLike; | private String passwordLike; | ||||
| @@ -8,12 +8,12 @@ import java.util.List; | |||||
| public interface WxCardInfoMapper extends CommonMapper<WxCardInfo, Long> { | public interface WxCardInfoMapper extends CommonMapper<WxCardInfo, Long> { | ||||
| //List<WxCardVo> findVoList(WxCardVo wxCardVo); | |||||
| void updateTransferStatusByCouponId(Long couponId); | void updateTransferStatusByCouponId(Long couponId); | ||||
| List<WxCardInfo> findList(WxCardInfo wxCardInfo); | List<WxCardInfo> findList(WxCardInfo wxCardInfo); | ||||
| List<Long> findIdList(WxCardInfo wxCardInfo); | List<Long> findIdList(WxCardInfo wxCardInfo); | ||||
| void updateStatus(WxCardInfo wxCardInfo); | |||||
| } | } | ||||
| @@ -27,5 +27,7 @@ public interface WxCouponPasswordMapper extends CommonMapper<WxCouponPassword, L | |||||
| void updatePostpone(WxCouponPassword wxCouponPassword); | void updatePostpone(WxCouponPassword wxCouponPassword); | ||||
| void updateExpiredTime(@Param("couponId")Long couponId,@Param("expiredTime")Date expiredTime); | void updateExpiredTime(@Param("couponId")Long couponId,@Param("expiredTime")Date expiredTime); | ||||
| void updateIsStop(@Param("tenantId")String tenantId,@Param("Id")Long Id,@Param("isStop")Integer isStop); | |||||
| } | } | ||||
| @@ -47,5 +47,7 @@ public interface WxCardInfoService { | |||||
| void exportData(WxCardVo wxCardVo, HttpServletRequest request, HttpServletResponse response); | void exportData(WxCardVo wxCardVo, HttpServletRequest request, HttpServletResponse response); | ||||
| void startOrStop(WxCardInfo cardInfo); | |||||
| } | } | ||||
| @@ -113,4 +113,5 @@ public interface WxCardSpendService { | |||||
| WxCardSpend cardSpendForPosPay(PromotionCalc scoreCreditCalc, WxCardSpend record, WxMerchant merchant, WxMerchantBUser buUser,Integer payWay) throws MallinkException; | WxCardSpend cardSpendForPosPay(PromotionCalc scoreCreditCalc, WxCardSpend record, WxMerchant merchant, WxMerchantBUser buUser,Integer payWay) throws MallinkException; | ||||
| Integer sumRealPayment(WxCardSpendVo wxCardSpend); | Integer sumRealPayment(WxCardSpendVo wxCardSpend); | ||||
| } | } | ||||
| @@ -321,4 +321,9 @@ public class WxCardInfoServiceImpl implements WxCardInfoService { | |||||
| return cardInfo; | return cardInfo; | ||||
| } | } | ||||
| @Override | |||||
| public void startOrStop(WxCardInfo cardInfo) { | |||||
| wxCardInfoMapper.updateStatus(cardInfo); | |||||
| } | |||||
| } | } | ||||
| @@ -301,7 +301,7 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { | |||||
| @Override | @Override | ||||
| public void startOrStop(WxCouponPassword wxCouponPassword) { | public void startOrStop(WxCouponPassword wxCouponPassword) { | ||||
| //如果当前卡密是已兑换的状态,则更新对应的电子卡状态即可 | |||||
| wxCouponPasswordMapper.updateIsStop(wxCouponPassword.getTenantId(), wxCouponPassword.getId(), wxCouponPassword.getIsStop()); | |||||
| } | } | ||||
| } | } | ||||
| @@ -8,6 +8,8 @@ | |||||
| <result column="coupon_id" jdbcType="BIGINT" property="couponId" /> | <result column="coupon_id" jdbcType="BIGINT" property="couponId" /> | ||||
| <result column="c_user_id" jdbcType="BIGINT" property="cUserId" /> | <result column="c_user_id" jdbcType="BIGINT" property="cUserId" /> | ||||
| <result column="owner_user_id" jdbcType="BIGINT" property="ownerUserId" /> | <result column="owner_user_id" jdbcType="BIGINT" property="ownerUserId" /> | ||||
| <result column="coupon_password_id" jdbcType="BIGINT" property="couponPasswordId" /> | |||||
| <result column="coupon_password" jdbcType="VARCHAR" property="couponPassword" /> | |||||
| <result column="transaction_id" jdbcType="VARCHAR" property="transactionId" /> | <result column="transaction_id" jdbcType="VARCHAR" property="transactionId" /> | ||||
| <result column="amount" jdbcType="INTEGER" property="amount" /> | <result column="amount" jdbcType="INTEGER" property="amount" /> | ||||
| <result column="sale_amount" jdbcType="INTEGER" property="saleAmount" /> | <result column="sale_amount" jdbcType="INTEGER" property="saleAmount" /> | ||||
| @@ -19,14 +21,13 @@ | |||||
| <result column="create_date" jdbcType="TIMESTAMP" property="createDate" /> | <result column="create_date" jdbcType="TIMESTAMP" property="createDate" /> | ||||
| <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" /> | <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" /> | ||||
| <result column="support_transfer" jdbcType="INTEGER" property="supportTransfer"/> | <result column="support_transfer" jdbcType="INTEGER" property="supportTransfer"/> | ||||
| <result column="coupon_password_id" jdbcType="BIGINT" property="couponPasswordId"/> | |||||
| <result column="coupon_password" jdbcType="VARCHAR" property="couponPassword"/> | |||||
| <result column="status" jdbcType="INTEGER" property="status"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| `id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`c_user_id`,`owner_user_id`,`coupon_password_id`,`coupon_password`,`transaction_id`, | `id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`c_user_id`,`owner_user_id`,`coupon_password_id`,`coupon_password`,`transaction_id`, | ||||
| `amount`,`sale_amount`,`remaining_amount`,`service_fee_amount`,`share_fee_amount`,`remaining_share_fee_amount`, | `amount`,`sale_amount`,`remaining_amount`,`service_fee_amount`,`share_fee_amount`,`remaining_share_fee_amount`, | ||||
| `rate_amount`,`create_date`,`update_date`,`support_transfer` | |||||
| `rate_amount`,`create_date`,`update_date`,`support_transfer`,`status` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -91,6 +92,10 @@ | |||||
| <if test=" null != enddate"> | <if test=" null != enddate"> | ||||
| and `create_date` <= #{enddate} | and `create_date` <= #{enddate} | ||||
| </if> | </if> | ||||
| <if test=" null != status"> | |||||
| and `status` = #{status} | |||||
| </if> | |||||
| <if test=" null != couponPasswordIdList "> | <if test=" null != couponPasswordIdList "> | ||||
| and coupon_password_id in | and coupon_password_id in | ||||
| <foreach collection="couponPasswordIdList" index="index" item="cpidItem" open="(" separator="," close=")"> | <foreach collection="couponPasswordIdList" index="index" item="cpidItem" open="(" separator="," close=")"> | ||||
| @@ -139,4 +144,8 @@ | |||||
| <include refid="dynamicWhereConditions" /> | <include refid="dynamicWhereConditions" /> | ||||
| </select> | </select> | ||||
| <update id="updateStatus" parameterType="com.iformall.domain.po.WxCardInfo"> | |||||
| update wx_card_info set status=#{status},update_date=now() where id=#{id} and tenant_id = #{tenantId} | |||||
| </update> | |||||
| </mapper> | </mapper> | ||||
| @@ -209,5 +209,9 @@ | |||||
| <update id="updateExpiredTime" parameterType="map"> | <update id="updateExpiredTime" parameterType="map"> | ||||
| update wx_coupon_password set expire_date = #{expiredTime} , update_date = now() where coupon_id = #{couponId} | update wx_coupon_password set expire_date = #{expiredTime} , update_date = now() where coupon_id = #{couponId} | ||||
| </update> | </update> | ||||
| <update id="updateIsStop" parameterType="map"> | |||||
| update wx_coupon_password set is_stop = #{isStop} , update_date = now() where id = #{id} and tenant_id = #{tenantId} | |||||
| </update> | |||||
| </mapper> | </mapper> | ||||