diff --git a/hai-bweb/src/main/java/com/bweb/controller/ApiMerchantsController.java b/hai-bweb/src/main/java/com/bweb/controller/ApiMerchantsController.java index 5248a48f..096f3fe6 100644 --- a/hai-bweb/src/main/java/com/bweb/controller/ApiMerchantsController.java +++ b/hai-bweb/src/main/java/com/bweb/controller/ApiMerchantsController.java @@ -11,6 +11,7 @@ import com.hai.common.security.UserCenter; import com.hai.common.utils.*; import com.hai.entity.ApiMerchants; import com.hai.entity.ApiProduct; +import com.hai.entity.ApiProductConfig; import com.hai.enum_type.ApiAmountRecordTypeEnum; import com.hai.enum_type.CompanyAmountSourceTypeEnum; import com.hai.model.HighMerchantModel; @@ -278,4 +279,19 @@ public class ApiMerchantsController { } } + @RequestMapping(value = "/getListMerchProduct", method = RequestMethod.GET) + @ResponseBody + @ApiOperation(value = "查询商户产品") + public ResponseData getListMerchProduct(@RequestParam(value = "merchantId", required = true) Long merchantId) { + try { + + return ResponseMsgUtil.success(apiMerchantsService.getListMerchProduct(merchantId)); + + } catch (Exception e) { + log.error("ApiMerchantsController --> findById() error!", e); + return ResponseMsgUtil.exception(e); + } + } + + } diff --git a/hai-bweb/src/main/java/com/bweb/controller/ApiProductController.java b/hai-bweb/src/main/java/com/bweb/controller/ApiProductController.java index 7d1f5d3c..0f09bf86 100644 --- a/hai-bweb/src/main/java/com/bweb/controller/ApiProductController.java +++ b/hai-bweb/src/main/java/com/bweb/controller/ApiProductController.java @@ -10,10 +10,7 @@ import com.hai.common.security.SessionObject; import com.hai.common.security.UserCenter; import com.hai.common.utils.PageUtil; import com.hai.common.utils.ResponseMsgUtil; -import com.hai.entity.ApiProduct; -import com.hai.entity.BsOperationLog; -import com.hai.entity.HighAgent; -import com.hai.entity.OutRechargePrice; +import com.hai.entity.*; import com.hai.model.OutRechargePriceModel; import com.hai.model.ResponseData; import com.hai.model.UserInfoModel; @@ -236,7 +233,7 @@ public class ApiProductController { if (object == null || object.getJSONArray("productIds") == null || - object.getInteger("discount") == null || + object.getBigDecimal("discount") == null || object.getLong("merchantsId") == null ) { log.error("ApiProductController -> configApiProduct() error!"); @@ -253,4 +250,88 @@ public class ApiProductController { } } + + @RequestMapping(value = "/editConfigApiProductByStatus", method = RequestMethod.POST) + @ResponseBody + @ApiOperation(value = "修改商户产品状态") + public ResponseData editConfigApiProductByStatus(@RequestBody JSONObject object, HttpServletRequest request) { + try { + + if (object == null || + object.getInteger("status") == null || + object.getInteger("id") == null + ) { + log.error("ApiProductController -> configApiProduct() error!"); + throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); + } + + SessionObject sessionObject = userCenter.getSessionObject(request); + UserInfoModel userInfoModel = (UserInfoModel) sessionObject.getObject(); + + ApiProductConfig apiProductConfig = apiProductService.findProductConfigById(object.getLong("id")); + + apiProductConfig.setStatus(object.getInteger("status")); + apiProductConfig.setOperatorName(userInfoModel.getSecUser().getUserName()); + apiProductConfig.setOperatorId(userInfoModel.getSecUser().getId()); + apiProductService.updateConfigApiProduct(apiProductConfig); + + return ResponseMsgUtil.success("修改成功"); + + } catch (Exception e) { + log.error("ApiProductController --> editPriceStatus() error!", e); + return ResponseMsgUtil.exception(e); + } + } + + + @RequestMapping(value = "/updateConfigApiProduct", method = RequestMethod.POST) + @ResponseBody + @ApiOperation(value = "修改配置产品") + public ResponseData updateConfigApiProduct(@RequestBody JSONObject object) { + try { + + if (object == null || + object.getBigDecimal("discount") == null || + object.getLong("id") == null + ) { + log.error("ApiProductController -> configApiProduct() error!"); + throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); + } + + ApiProductConfig apiProductConfig = apiProductService.findProductConfigById(object.getLong("id")); + + ApiProduct apiProduct = apiProductService.findById(apiProductConfig.getProductId()); + + if (apiProductConfig.getStatus() == 101) { + log.error("ApiProductController -> configApiProduct() error!"); + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "当前状态错误"); + } + + apiProductConfig.setDiscount(object.getBigDecimal("discount")); + apiProductConfig.setDiscountPrice(apiProduct.getRechargePrice().multiply(object.getBigDecimal("discount")).divide(new BigDecimal(100))); + + apiProductService.updateConfigApiProduct(apiProductConfig); + + return ResponseMsgUtil.success("修改成功"); + + } catch (Exception e) { + log.error("ApiProductController --> insertPrice() error!", e); + return ResponseMsgUtil.exception(e); + } + } + + @RequestMapping(value = "/findConfigProduct", method = RequestMethod.GET) + @ResponseBody + @ApiOperation(value = "查询配置产品") + public ResponseData findConfigProduct(@RequestParam(value = "id", required = true) Long id) { + try { + + return ResponseMsgUtil.success(apiProductService.findProductConfigById(id)); + + } catch (Exception e) { + log.error("ApiMerchantsController --> findById() error!", e); + return ResponseMsgUtil.exception(e); + } + } + } diff --git a/hai-service/src/main/java/com/hai/dao/ApiProductConfigMapperExt.java b/hai-service/src/main/java/com/hai/dao/ApiProductConfigMapperExt.java index c25eb4aa..ab7ee319 100644 --- a/hai-service/src/main/java/com/hai/dao/ApiProductConfigMapperExt.java +++ b/hai-service/src/main/java/com/hai/dao/ApiProductConfigMapperExt.java @@ -1,7 +1,47 @@ package com.hai.dao; +import com.hai.model.ApiProductConfigModel; +import com.hai.model.OutUserOrderModel; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.type.JdbcType; + +import java.util.List; + /** * mapper扩展类 */ public interface ApiProductConfigMapperExt { -} \ No newline at end of file + + @Select(value = { + "" + }) + @Results({ + @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), + @Result(column="recharge_type", property="rechargeType", jdbcType=JdbcType.INTEGER), + @Result(column="recharge_platform", property="rechargePlatform", jdbcType=JdbcType.VARCHAR), + @Result(column="phone_recharge_type", property="phoneRechargeType", jdbcType=JdbcType.INTEGER), + @Result(column="operator_type", property="operatorType", jdbcType=JdbcType.INTEGER), + @Result(column="recharge_price", property="rechargePrice", jdbcType=JdbcType.DECIMAL), + @Result(column="product_id", property="productId", jdbcType=JdbcType.BIGINT), + @Result(column="api_config_product_id", property="apiConfigProductId", jdbcType=JdbcType.BIGINT), + @Result(column="sort", property="sort", jdbcType=JdbcType.INTEGER), + @Result(column="discount", property="discount", jdbcType=JdbcType.DECIMAL), + @Result(column="discount_price", property="discountPrice", jdbcType=JdbcType.DECIMAL), + @Result(column="operator_id", property="operatorId", jdbcType=JdbcType.BIGINT), + @Result(column="operator_name", property="operatorName", jdbcType=JdbcType.VARCHAR), + @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), + @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP), + @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), + @Result(column="config_status", property="configStatus", jdbcType=JdbcType.INTEGER), + @Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR), + @Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR), + @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR) + }) + List getListMerchProduct(Long merchantsId); + +} diff --git a/hai-service/src/main/java/com/hai/model/ApiProductConfigModel.java b/hai-service/src/main/java/com/hai/model/ApiProductConfigModel.java new file mode 100644 index 00000000..4d44ab30 --- /dev/null +++ b/hai-service/src/main/java/com/hai/model/ApiProductConfigModel.java @@ -0,0 +1,60 @@ +package com.hai.model; + +import com.hai.entity.ApiProduct; +import com.hai.entity.ApiProductConfig; + +import java.math.BigDecimal; + +public class ApiProductConfigModel extends ApiProduct { + /** + * 折扣比例 + */ + private BigDecimal discount; + + /** + * 折扣价格 + */ + private BigDecimal discountPrice; + + /** + * 主键 + */ + private Long apiConfigProductId; + + /** + * 101 正常 102 下架 100 删除 + */ + private Integer configStatus; + + public Integer getConfigStatus() { + return configStatus; + } + + public void setConfigStatus(Integer configStatus) { + this.configStatus = configStatus; + } + + public Long getApiConfigProductId() { + return apiConfigProductId; + } + + public void setApiConfigProductId(Long apiConfigProductId) { + this.apiConfigProductId = apiConfigProductId; + } + + public BigDecimal getDiscount() { + return discount; + } + + public void setDiscount(BigDecimal discount) { + this.discount = discount; + } + + public BigDecimal getDiscountPrice() { + return discountPrice; + } + + public void setDiscountPrice(BigDecimal discountPrice) { + this.discountPrice = discountPrice; + } +} diff --git a/hai-service/src/main/java/com/hai/service/ApiMerchantsService.java b/hai-service/src/main/java/com/hai/service/ApiMerchantsService.java index 11db0ffc..167fbd74 100644 --- a/hai-service/src/main/java/com/hai/service/ApiMerchantsService.java +++ b/hai-service/src/main/java/com/hai/service/ApiMerchantsService.java @@ -3,6 +3,8 @@ package com.hai.service; import com.alibaba.fastjson.JSONObject; import com.hai.entity.ApiAmountRecord; import com.hai.entity.ApiMerchants; +import com.hai.entity.ApiProductConfig; +import com.hai.model.ApiProductConfigModel; import java.math.BigDecimal; import java.util.List; @@ -77,5 +79,18 @@ public interface ApiMerchantsService { */ List getMerchRechargeData(Long merchantId); + /** + * @Author Sum1Dream + * @name getListMerchProduct.java + * @Description // 查询商户配置产品 + * @Date 10:10 2022/6/9 + * @Param [java.lang.Long] + * @return java.util.List + */ + List getListMerchProduct(Long merchantId); + + + + } diff --git a/hai-service/src/main/java/com/hai/service/ApiProductService.java b/hai-service/src/main/java/com/hai/service/ApiProductService.java index 702073ce..f3cdc626 100644 --- a/hai-service/src/main/java/com/hai/service/ApiProductService.java +++ b/hai-service/src/main/java/com/hai/service/ApiProductService.java @@ -2,6 +2,7 @@ package com.hai.service; import com.alibaba.fastjson.JSONObject; import com.hai.entity.ApiProduct; +import com.hai.entity.ApiProductConfig; import io.swagger.annotations.Api; import java.util.List; @@ -65,4 +66,24 @@ public interface ApiProductService { * @return void */ void configApiProduct(JSONObject object); + + /** + * @Author Sum1Dream + * @name updateConfigApiProduct.java + * @Description // 修改配置产品 + * @Date 11:17 2022/6/9 + * @Param [com.alibaba.fastjson.JSONObject] + * @return void + */ + void updateConfigApiProduct(ApiProductConfig apiProductConfig); + + /** + * @Author Sum1Dream + * @name findProductConfigById.java + * @Description // 查询配置产品 + * @Date 11:02 2022/6/9 + * @Param [java.lang.Long] + * @return com.hai.entity.ApiProductConfig + */ + ApiProductConfig findProductConfigById(Long id); } diff --git a/hai-service/src/main/java/com/hai/service/impl/ApiMerchantsServiceImpl.java b/hai-service/src/main/java/com/hai/service/impl/ApiMerchantsServiceImpl.java index 9906d362..74eb336c 100644 --- a/hai-service/src/main/java/com/hai/service/impl/ApiMerchantsServiceImpl.java +++ b/hai-service/src/main/java/com/hai/service/impl/ApiMerchantsServiceImpl.java @@ -7,7 +7,9 @@ import com.hai.common.security.UserCenter; import com.hai.common.utils.RedisUtil; import com.hai.dao.ApiAmountRecordMapper; import com.hai.dao.ApiMerchantsMapper; +import com.hai.dao.ApiProductConfigMapper; import com.hai.entity.*; +import com.hai.model.ApiProductConfigModel; import com.hai.model.UserInfoModel; import com.hai.service.ApiMerchantsService; import org.apache.commons.collections4.MapUtils; @@ -37,6 +39,9 @@ public class ApiMerchantsServiceImpl implements ApiMerchantsService { @Resource private ApiAmountRecordMapper apiAmountRecordMapper; + @Resource + private ApiProductConfigMapper apiProductConfigMapper; + @Override public void insertApiMerchants(ApiMerchants apiMerchants) { apiMerchantsMapper.insert(apiMerchants); @@ -134,4 +139,10 @@ public class ApiMerchantsServiceImpl implements ApiMerchantsService { example.createCriteria().andMchIdEqualTo(apiMerchants.getMchId()); return apiAmountRecordMapper.selectByExample(example); } + + @Override + public List getListMerchProduct(Long merchantId) { + return apiProductConfigMapper.getListMerchProduct(merchantId); + } + } diff --git a/hai-service/src/main/java/com/hai/service/impl/ApiProductServiceImpl.java b/hai-service/src/main/java/com/hai/service/impl/ApiProductServiceImpl.java index b28ff8a8..1efd8890 100644 --- a/hai-service/src/main/java/com/hai/service/impl/ApiProductServiceImpl.java +++ b/hai-service/src/main/java/com/hai/service/impl/ApiProductServiceImpl.java @@ -112,7 +112,9 @@ public class ApiProductServiceImpl implements ApiProductService { // 转换产品数组 JSONArray productsArray = object.getJSONArray("productIds"); ApiProductConfig apiProductConfig; + ApiProduct apiProduct; for (Object productId : productsArray) { + apiProduct = apiProductMapper.selectByPrimaryKey(Long.valueOf(productId.toString())); apiProductConfig = new ApiProductConfig(); apiProductConfig.setProductId(Long.valueOf(productId.toString())); apiProductConfig.setCreateTime(new Date()); @@ -120,9 +122,20 @@ public class ApiProductServiceImpl implements ApiProductService { apiProductConfig.setOperatorName(sessionModel.getSecUser().getUserName()); apiProductConfig.setStatus(101); apiProductConfig.setDiscount(object.getBigDecimal("discount")); + apiProductConfig.setDiscountPrice(apiProduct.getRechargePrice().multiply(object.getBigDecimal("discount")).divide(new BigDecimal(100))); apiProductConfig.setMerchantsId(object.getLong("merchantsId")); apiProductConfig.setUpdateTime(new Date()); apiProductConfigMapper.insert(apiProductConfig); } } + + @Override + public ApiProductConfig findProductConfigById(Long id) { + return apiProductConfigMapper.selectByPrimaryKey(id); + } + + @Override + public void updateConfigApiProduct(ApiProductConfig apiProductConfig) { + apiProductConfigMapper.updateByPrimaryKey(apiProductConfig); + } } diff --git a/hai-service/src/main/resources/dev/commonConfig.properties b/hai-service/src/main/resources/dev/commonConfig.properties index e1b6f8d6..01d060e7 100644 --- a/hai-service/src/main/resources/dev/commonConfig.properties +++ b/hai-service/src/main/resources/dev/commonConfig.properties @@ -14,10 +14,10 @@ qinzhuSecret=ktxb49sh2jfhgn8g qianzhuOrderNotify=https://hsg.dctpay.com/crest/qianzhu/orderNotify # ??????? -huiliantongUrl=https://gzapi.deepermobile.com.cn -huiliantongAppNo=guizhouhuilt -huiliantongAppkey=e0ja2Ex%2BmQ2hIPF6x%2BHA%3D -huiliantongAppsecret=52662415DDCE55C7BA34223BCF53877A +huiliantongUrl=https://gzapitest.deepermobile.com.cn:441 +huiliantongAppNo=guizhouhltcs +huiliantongAppkey=g%2BNnjR54YSUWM2iKg%2Fd82A9x9hg2kYV7 +huiliantongAppsecret=FA28E95ACABFA4B2B8E25857437B07F1 # ???????? HuiLianTongUnionCardUrl=http://hltgz.com:4010/api/v2/execute.json