parent
e31ee1efef
commit
eaf7871b10
@ -0,0 +1,284 @@ |
|||||||
|
package com.bweb.controller; |
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject; |
||||||
|
import com.bweb.config.SysConst; |
||||||
|
import com.github.pagehelper.PageHelper; |
||||||
|
import com.github.pagehelper.PageInfo; |
||||||
|
import com.hfkj.common.QRCodeGenerator; |
||||||
|
import com.hfkj.common.exception.ErrorCode; |
||||||
|
import com.hfkj.common.exception.ErrorHelp; |
||||||
|
import com.hfkj.common.exception.SysCode; |
||||||
|
import com.hfkj.common.security.AESEncodeUtil; |
||||||
|
import com.hfkj.common.security.SessionObject; |
||||||
|
import com.hfkj.common.security.UserCenter; |
||||||
|
import com.hfkj.common.utils.DateUtil; |
||||||
|
import com.hfkj.common.utils.IDGenerator; |
||||||
|
import com.hfkj.common.utils.ResponseMsgUtil; |
||||||
|
import com.hfkj.config.CommonSysConst; |
||||||
|
import com.hfkj.entity.BsGasStaff; |
||||||
|
import com.hfkj.entity.BsMerchant; |
||||||
|
import com.hfkj.model.ResponseData; |
||||||
|
import com.hfkj.model.SecUserSessionObject; |
||||||
|
import com.hfkj.service.BsMerchantService; |
||||||
|
import com.hfkj.service.CommonService; |
||||||
|
import com.hfkj.service.gas.BsGasStaffService; |
||||||
|
import com.hfkj.sysenum.SecUserObjectTypeEnum; |
||||||
|
import com.hfkj.sysenum.gas.GasStaffStatus; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import org.apache.commons.lang3.StringUtils; |
||||||
|
import org.slf4j.Logger; |
||||||
|
import org.slf4j.LoggerFactory; |
||||||
|
import org.springframework.stereotype.Controller; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
import java.net.URLEncoder; |
||||||
|
import java.util.Date; |
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
@Controller |
||||||
|
@RequestMapping(value = "/gasStaff") |
||||||
|
@Api(value = "加油站员工管理") |
||||||
|
public class BsGasStaffController { |
||||||
|
|
||||||
|
private static Logger log = LoggerFactory.getLogger(BsGasStaffController.class); |
||||||
|
|
||||||
|
@Resource |
||||||
|
private BsGasStaffService gasStaffService; |
||||||
|
@Resource |
||||||
|
private BsMerchantService merchantService; |
||||||
|
@Resource |
||||||
|
private CommonService commonService; |
||||||
|
@Resource |
||||||
|
private UserCenter userCenter; |
||||||
|
|
||||||
|
@RequestMapping(value="/addGasStaff",method = RequestMethod.POST) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "增加员工") |
||||||
|
public ResponseData addStaff(@RequestBody JSONObject body) { |
||||||
|
try { |
||||||
|
SecUserSessionObject userInfoModel = userCenter.getSessionModel(SecUserSessionObject.class); |
||||||
|
if (userInfoModel == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.ACCOUNT_LOGIN_NOT, ""); |
||||||
|
} |
||||||
|
if (!userInfoModel.getAccount().getObjectType().equals(SecUserObjectTypeEnum.type2.getCode())) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.ROLE_NOT_PERMISSIONS, ""); |
||||||
|
} |
||||||
|
if (StringUtils.isBlank(body.getString("name")) |
||||||
|
|| StringUtils.isBlank(body.getString("telephone")) |
||||||
|
|| StringUtils.isBlank(body.getString("positionType"))) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); |
||||||
|
} |
||||||
|
|
||||||
|
BsGasStaff gasStaff = new BsGasStaff(); |
||||||
|
gasStaff.setMerId(userInfoModel.getAccount().getObjectId()); |
||||||
|
gasStaff.setAvatar(body.getString("avatar")); |
||||||
|
gasStaff.setName(body.getString("name")); |
||||||
|
gasStaff.setTelephone(body.getString("telephone")); |
||||||
|
gasStaff.setPositionType(body.getInteger("positionType")); |
||||||
|
gasStaff.setPositionName(commonService.getDictionaryCodeName("GAS_STAFF_POSITION_TYPE", body.getString("positionType"))); |
||||||
|
gasStaffService.addStaff(gasStaff); |
||||||
|
|
||||||
|
return ResponseMsgUtil.success("操作成功"); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
log.error("HighGasStaffController -> addStaff() error!",e); |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@RequestMapping(value="/updateGasStaff",method = RequestMethod.POST) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "修改员工") |
||||||
|
public ResponseData updateGasStaff(@RequestBody JSONObject body) { |
||||||
|
try { |
||||||
|
if (body.getLong("id") == null |
||||||
|
|| StringUtils.isBlank(body.getString("name")) |
||||||
|
|| StringUtils.isBlank(body.getString("telephone")) |
||||||
|
|| StringUtils.isBlank(body.getString("positionType")) |
||||||
|
) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询员工信息
|
||||||
|
BsGasStaff gasStaff = gasStaffService.getStaffDetailById(body.getLong("id")); |
||||||
|
if (gasStaff == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到员工信息"); |
||||||
|
} |
||||||
|
gasStaff.setAvatar(body.getString("avatar")); |
||||||
|
gasStaff.setName(body.getString("name")); |
||||||
|
gasStaff.setTelephone(body.getString("telephone")); |
||||||
|
gasStaff.setPositionType(body.getInteger("positionType")); |
||||||
|
gasStaff.setPositionName(commonService.getDictionaryCodeName("GAS_STAFF_POSITION_TYPE", body.getString("positionType"))); |
||||||
|
gasStaffService.updateStaff(gasStaff); |
||||||
|
|
||||||
|
return ResponseMsgUtil.success("操作成功"); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
log.error("HighGasStaffController -> updateGasStaff() error!",e); |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@RequestMapping(value="/queryQrCode",method = RequestMethod.POST) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "查询二维码") |
||||||
|
public ResponseData queryQrCode(@RequestBody JSONObject body) { |
||||||
|
try { |
||||||
|
if (body.getLong("gasStaffId") == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询员工信息
|
||||||
|
BsGasStaff gasStaff = gasStaffService.getStaffDetailById(body.getLong("gasStaffId")); |
||||||
|
if (gasStaff == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到员工信息"); |
||||||
|
} |
||||||
|
|
||||||
|
if (StringUtils.isBlank(gasStaff.getQrCodeImgUrl())) { |
||||||
|
// 查询加油站
|
||||||
|
BsMerchant merchantStore = merchantService.getMerchant(gasStaff.getMerId()); |
||||||
|
if (merchantStore == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到加油站信息"); |
||||||
|
} |
||||||
|
// 员工ID签名
|
||||||
|
String signId = AESEncodeUtil.aesEncrypt(gasStaff.getId().toString()); |
||||||
|
|
||||||
|
// 生成二维码
|
||||||
|
String param = "/hsgH5?accountId=0000021"; |
||||||
|
String qrCodeImgUrl = DateUtil.date2String(new Date(),"yyyyMMddHHmmss") + IDGenerator.nextId(1) +".jpg"; |
||||||
|
QRCodeGenerator.generateQRCodeImage(param, 350, 350, SysConst.getSysConfig().getFileUrl()+"/gasStaff/"+qrCodeImgUrl); |
||||||
|
|
||||||
|
gasStaff.setQrCodeImgUrl(qrCodeImgUrl); |
||||||
|
gasStaffService.updateStaff(gasStaff); |
||||||
|
} |
||||||
|
|
||||||
|
return ResponseMsgUtil.success(gasStaff.getQrCodeImgUrl()); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
log.error("HighGasStaffController -> queryQrCode() error!",e); |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@RequestMapping(value="/disabled",method = RequestMethod.POST) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "禁用员工") |
||||||
|
public ResponseData disabled(@RequestBody JSONObject body) { |
||||||
|
try { |
||||||
|
if (body.getLong("staffId") == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); |
||||||
|
} |
||||||
|
// 查询油站员工
|
||||||
|
BsGasStaff gasStaff = gasStaffService.getStaffDetailById(body.getLong("staffId")); |
||||||
|
if (gasStaff == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到员工"); |
||||||
|
} |
||||||
|
gasStaff.setStatus(GasStaffStatus.status2.getStatus()); |
||||||
|
gasStaffService.editData(gasStaff); |
||||||
|
|
||||||
|
return ResponseMsgUtil.success("操作成功"); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
log.error("HighGasStaffController -> disabled() error!",e); |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@RequestMapping(value="/recover",method = RequestMethod.POST) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "恢复正常") |
||||||
|
public ResponseData recover(@RequestBody JSONObject body) { |
||||||
|
try { |
||||||
|
if (body.getLong("staffId") == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); |
||||||
|
} |
||||||
|
// 查询油站员工
|
||||||
|
BsGasStaff gasStaff = gasStaffService.getStaffDetailById(body.getLong("staffId")); |
||||||
|
if (gasStaff == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到员工"); |
||||||
|
} |
||||||
|
gasStaff.setStatus(GasStaffStatus.status1.getStatus()); |
||||||
|
gasStaffService.editData(gasStaff); |
||||||
|
return ResponseMsgUtil.success("操作成功"); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
log.error("HighGasStaffController -> delStaff() error!",e); |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@RequestMapping(value="/delStaff",method = RequestMethod.POST) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "删除员工") |
||||||
|
public ResponseData delStaff(@RequestBody JSONObject body) { |
||||||
|
try { |
||||||
|
|
||||||
|
if (body.getLong("staffId") == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); |
||||||
|
} |
||||||
|
|
||||||
|
gasStaffService.delStaff(body.getLong("staffId")); |
||||||
|
return ResponseMsgUtil.success("操作成功"); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
log.error("HighGasStaffController -> delStaff() error!",e); |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@RequestMapping(value="/getStaffDetail",method = RequestMethod.GET) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "查询员工详情") |
||||||
|
public ResponseData getStaffDetail(@RequestParam(name = "staffId", required = true) Long staffId) { |
||||||
|
try { |
||||||
|
|
||||||
|
return ResponseMsgUtil.success(gasStaffService.getStaffDetailById(staffId)); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
log.error("HighGasStaffController -> getStaffDetail() error!",e); |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping(value="/getStaffList",method = RequestMethod.GET) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "查询员工列表") |
||||||
|
public ResponseData getStaffList(@RequestParam(name = "merchantStoreId", required = false) Long merchantStoreId, |
||||||
|
@RequestParam(name = "name", required = false) String name, |
||||||
|
@RequestParam(name = "telephone", required = false) String telephone, |
||||||
|
@RequestParam(name = "positionType", required = false) Integer positionType, |
||||||
|
@RequestParam(name = "status", required = false) Integer status, |
||||||
|
@RequestParam(name = "pageNum", required = true) Integer pageNum, |
||||||
|
@RequestParam(name = "pageSize", required = true) Integer pageSize) { |
||||||
|
try { |
||||||
|
SecUserSessionObject userInfoModel = userCenter.getSessionModel(SecUserSessionObject.class); |
||||||
|
if (userInfoModel == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.ACCOUNT_LOGIN_NOT, ""); |
||||||
|
} |
||||||
|
Map<String,Object> param = new HashMap<>(); |
||||||
|
if (userInfoModel.getAccount().getObjectType().equals(SecUserObjectTypeEnum.type1.getCode())) { |
||||||
|
param.put("merchantStoreId", merchantStoreId); |
||||||
|
} else if (userInfoModel.getAccount().getObjectType().equals(SecUserObjectTypeEnum.type2.getCode())) { |
||||||
|
param.put("merchantStoreId", userInfoModel.getAccount().getObjectId()); |
||||||
|
} else { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.ROLE_NOT_PERMISSIONS, ""); |
||||||
|
} |
||||||
|
param.put("name", name); |
||||||
|
param.put("telephone", telephone); |
||||||
|
param.put("positionType", positionType); |
||||||
|
param.put("status", status); |
||||||
|
|
||||||
|
PageHelper.startPage(pageNum,pageSize); |
||||||
|
return ResponseMsgUtil.success(new PageInfo<>(gasStaffService.getStaffList(param))); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
log.error("HighGasStaffController -> getStaffList() error!",e); |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,79 @@ |
|||||||
|
package com.cweb.controller; |
||||||
|
|
||||||
|
import com.github.pagehelper.PageHelper; |
||||||
|
import com.github.pagehelper.PageInfo; |
||||||
|
import com.hfkj.common.utils.ResponseMsgUtil; |
||||||
|
import com.hfkj.model.ResponseData; |
||||||
|
import com.hfkj.service.gas.BsGasService; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import org.slf4j.Logger; |
||||||
|
import org.slf4j.LoggerFactory; |
||||||
|
import org.springframework.stereotype.Controller; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
import java.math.BigDecimal; |
||||||
|
|
||||||
|
@Controller |
||||||
|
@RequestMapping(value = "/gas") |
||||||
|
@Api(value = "油站管理") |
||||||
|
public class BsGasController { |
||||||
|
private static Logger log = LoggerFactory.getLogger(BsGasController.class); |
||||||
|
|
||||||
|
@Resource |
||||||
|
private BsGasService gasService; |
||||||
|
|
||||||
|
@RequestMapping(value="/oilPriceCompute",method = RequestMethod.GET) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "油价计算") |
||||||
|
public ResponseData oilPriceCompute(@RequestParam(name = "isTyAgent", required = false) Boolean isTyAgent, |
||||||
|
@RequestParam(name = "refuelPrice", required = true) BigDecimal refuelPrice, |
||||||
|
@RequestParam(name = "merNo", required = true) String merNo, |
||||||
|
@RequestParam(name = "oilNo", required = true) String oilNo) { |
||||||
|
try { |
||||||
|
|
||||||
|
return ResponseMsgUtil.success(gasService.refuelPriceCompute(refuelPrice,merNo,oilNo,isTyAgent)); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@RequestMapping(value="/queryGasList",method = RequestMethod.GET) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "查询加油站列表") |
||||||
|
public ResponseData queryGasList(@RequestParam(name = "isTyAgent", required = false) Boolean isTyAgent, |
||||||
|
@RequestParam(name = "gasName", required = false) String gasName, |
||||||
|
@RequestParam(name = "distanceLimit", required = false) Integer distanceLimit, |
||||||
|
@RequestParam(name = "oilNo", required = true) String oilNo, |
||||||
|
@RequestParam(name = "longitude", required = true) String longitude, |
||||||
|
@RequestParam(name = "latitude", required = true) String latitude, |
||||||
|
@RequestParam(name = "pageNum", required = true) Integer pageNum, |
||||||
|
@RequestParam(name = "pageSize", required = true) Integer pageSize |
||||||
|
) { |
||||||
|
try { |
||||||
|
|
||||||
|
PageHelper.startPage(pageNum,pageSize); |
||||||
|
return ResponseMsgUtil.success(new PageInfo<>(gasService.getGasList(longitude,latitude,oilNo,gasName,distanceLimit))); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@RequestMapping(value="/queryGasDetail",method = RequestMethod.GET) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "查询加油站详情") |
||||||
|
public ResponseData queryGasDetail(@RequestParam(name = "merNo", required = true) String merNo, |
||||||
|
@RequestParam(name = "isTyAgent", required = false) Boolean isTyAgent) { |
||||||
|
try { |
||||||
|
|
||||||
|
return ResponseMsgUtil.success(gasService.getGasDetail(merNo)); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,133 @@ |
|||||||
|
package com.hfkj.dao; |
||||||
|
|
||||||
|
import com.hfkj.entity.BsGasStaff; |
||||||
|
import com.hfkj.entity.BsGasStaffExample; |
||||||
|
import java.util.List; |
||||||
|
import org.apache.ibatis.annotations.Delete; |
||||||
|
import org.apache.ibatis.annotations.DeleteProvider; |
||||||
|
import org.apache.ibatis.annotations.Insert; |
||||||
|
import org.apache.ibatis.annotations.InsertProvider; |
||||||
|
import org.apache.ibatis.annotations.Options; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
import org.apache.ibatis.annotations.Result; |
||||||
|
import org.apache.ibatis.annotations.Results; |
||||||
|
import org.apache.ibatis.annotations.Select; |
||||||
|
import org.apache.ibatis.annotations.SelectProvider; |
||||||
|
import org.apache.ibatis.annotations.Update; |
||||||
|
import org.apache.ibatis.annotations.UpdateProvider; |
||||||
|
import org.apache.ibatis.type.JdbcType; |
||||||
|
import org.springframework.stereotype.Repository; |
||||||
|
|
||||||
|
/** |
||||||
|
* |
||||||
|
* 代码由工具生成,请勿修改!!! |
||||||
|
* 如果需要扩展请在其父类进行扩展 |
||||||
|
* |
||||||
|
**/ |
||||||
|
@Repository |
||||||
|
public interface BsGasStaffMapper extends BsGasStaffMapperExt { |
||||||
|
@SelectProvider(type=BsGasStaffSqlProvider.class, method="countByExample") |
||||||
|
long countByExample(BsGasStaffExample example); |
||||||
|
|
||||||
|
@DeleteProvider(type=BsGasStaffSqlProvider.class, method="deleteByExample") |
||||||
|
int deleteByExample(BsGasStaffExample example); |
||||||
|
|
||||||
|
@Delete({ |
||||||
|
"delete from bs_gas_staff", |
||||||
|
"where id = #{id,jdbcType=BIGINT}" |
||||||
|
}) |
||||||
|
int deleteByPrimaryKey(Long id); |
||||||
|
|
||||||
|
@Insert({ |
||||||
|
"insert into bs_gas_staff (mer_id, avatar, ", |
||||||
|
"`name`, telephone, ", |
||||||
|
"position_type, position_name, ", |
||||||
|
"qr_code_img_url, `status`, ", |
||||||
|
"create_time, update_time, ", |
||||||
|
"ext_1, ext_2, ext_3)", |
||||||
|
"values (#{merId,jdbcType=BIGINT}, #{avatar,jdbcType=VARCHAR}, ", |
||||||
|
"#{name,jdbcType=VARCHAR}, #{telephone,jdbcType=VARCHAR}, ", |
||||||
|
"#{positionType,jdbcType=INTEGER}, #{positionName,jdbcType=VARCHAR}, ", |
||||||
|
"#{qrCodeImgUrl,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, ", |
||||||
|
"#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, ", |
||||||
|
"#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})" |
||||||
|
}) |
||||||
|
@Options(useGeneratedKeys=true,keyProperty="id") |
||||||
|
int insert(BsGasStaff record); |
||||||
|
|
||||||
|
@InsertProvider(type=BsGasStaffSqlProvider.class, method="insertSelective") |
||||||
|
@Options(useGeneratedKeys=true,keyProperty="id") |
||||||
|
int insertSelective(BsGasStaff record); |
||||||
|
|
||||||
|
@SelectProvider(type=BsGasStaffSqlProvider.class, method="selectByExample") |
||||||
|
@Results({ |
||||||
|
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), |
||||||
|
@Result(column="mer_id", property="merId", jdbcType=JdbcType.BIGINT), |
||||||
|
@Result(column="avatar", property="avatar", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="telephone", property="telephone", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="position_type", property="positionType", jdbcType=JdbcType.INTEGER), |
||||||
|
@Result(column="position_name", property="positionName", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="qr_code_img_url", property="qrCodeImgUrl", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), |
||||||
|
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), |
||||||
|
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP), |
||||||
|
@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<BsGasStaff> selectByExample(BsGasStaffExample example); |
||||||
|
|
||||||
|
@Select({ |
||||||
|
"select", |
||||||
|
"id, mer_id, avatar, `name`, telephone, position_type, position_name, qr_code_img_url, ", |
||||||
|
"`status`, create_time, update_time, ext_1, ext_2, ext_3", |
||||||
|
"from bs_gas_staff", |
||||||
|
"where id = #{id,jdbcType=BIGINT}" |
||||||
|
}) |
||||||
|
@Results({ |
||||||
|
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), |
||||||
|
@Result(column="mer_id", property="merId", jdbcType=JdbcType.BIGINT), |
||||||
|
@Result(column="avatar", property="avatar", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="telephone", property="telephone", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="position_type", property="positionType", jdbcType=JdbcType.INTEGER), |
||||||
|
@Result(column="position_name", property="positionName", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="qr_code_img_url", property="qrCodeImgUrl", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), |
||||||
|
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), |
||||||
|
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP), |
||||||
|
@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) |
||||||
|
}) |
||||||
|
BsGasStaff selectByPrimaryKey(Long id); |
||||||
|
|
||||||
|
@UpdateProvider(type=BsGasStaffSqlProvider.class, method="updateByExampleSelective") |
||||||
|
int updateByExampleSelective(@Param("record") BsGasStaff record, @Param("example") BsGasStaffExample example); |
||||||
|
|
||||||
|
@UpdateProvider(type=BsGasStaffSqlProvider.class, method="updateByExample") |
||||||
|
int updateByExample(@Param("record") BsGasStaff record, @Param("example") BsGasStaffExample example); |
||||||
|
|
||||||
|
@UpdateProvider(type=BsGasStaffSqlProvider.class, method="updateByPrimaryKeySelective") |
||||||
|
int updateByPrimaryKeySelective(BsGasStaff record); |
||||||
|
|
||||||
|
@Update({ |
||||||
|
"update bs_gas_staff", |
||||||
|
"set mer_id = #{merId,jdbcType=BIGINT},", |
||||||
|
"avatar = #{avatar,jdbcType=VARCHAR},", |
||||||
|
"`name` = #{name,jdbcType=VARCHAR},", |
||||||
|
"telephone = #{telephone,jdbcType=VARCHAR},", |
||||||
|
"position_type = #{positionType,jdbcType=INTEGER},", |
||||||
|
"position_name = #{positionName,jdbcType=VARCHAR},", |
||||||
|
"qr_code_img_url = #{qrCodeImgUrl,jdbcType=VARCHAR},", |
||||||
|
"`status` = #{status,jdbcType=INTEGER},", |
||||||
|
"create_time = #{createTime,jdbcType=TIMESTAMP},", |
||||||
|
"update_time = #{updateTime,jdbcType=TIMESTAMP},", |
||||||
|
"ext_1 = #{ext1,jdbcType=VARCHAR},", |
||||||
|
"ext_2 = #{ext2,jdbcType=VARCHAR},", |
||||||
|
"ext_3 = #{ext3,jdbcType=VARCHAR}", |
||||||
|
"where id = #{id,jdbcType=BIGINT}" |
||||||
|
}) |
||||||
|
int updateByPrimaryKey(BsGasStaff record); |
||||||
|
} |
@ -0,0 +1,7 @@ |
|||||||
|
package com.hfkj.dao; |
||||||
|
|
||||||
|
/** |
||||||
|
* mapper扩展类 |
||||||
|
*/ |
||||||
|
public interface BsGasStaffMapperExt { |
||||||
|
} |
@ -0,0 +1,360 @@ |
|||||||
|
package com.hfkj.dao; |
||||||
|
|
||||||
|
import com.hfkj.entity.BsGasStaff; |
||||||
|
import com.hfkj.entity.BsGasStaffExample.Criteria; |
||||||
|
import com.hfkj.entity.BsGasStaffExample.Criterion; |
||||||
|
import com.hfkj.entity.BsGasStaffExample; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
import org.apache.ibatis.jdbc.SQL; |
||||||
|
|
||||||
|
public class BsGasStaffSqlProvider { |
||||||
|
|
||||||
|
public String countByExample(BsGasStaffExample example) { |
||||||
|
SQL sql = new SQL(); |
||||||
|
sql.SELECT("count(*)").FROM("bs_gas_staff"); |
||||||
|
applyWhere(sql, example, false); |
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
public String deleteByExample(BsGasStaffExample example) { |
||||||
|
SQL sql = new SQL(); |
||||||
|
sql.DELETE_FROM("bs_gas_staff"); |
||||||
|
applyWhere(sql, example, false); |
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
public String insertSelective(BsGasStaff record) { |
||||||
|
SQL sql = new SQL(); |
||||||
|
sql.INSERT_INTO("bs_gas_staff"); |
||||||
|
|
||||||
|
if (record.getMerId() != null) { |
||||||
|
sql.VALUES("mer_id", "#{merId,jdbcType=BIGINT}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getAvatar() != null) { |
||||||
|
sql.VALUES("avatar", "#{avatar,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getName() != null) { |
||||||
|
sql.VALUES("`name`", "#{name,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getTelephone() != null) { |
||||||
|
sql.VALUES("telephone", "#{telephone,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getPositionType() != null) { |
||||||
|
sql.VALUES("position_type", "#{positionType,jdbcType=INTEGER}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getPositionName() != null) { |
||||||
|
sql.VALUES("position_name", "#{positionName,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getQrCodeImgUrl() != null) { |
||||||
|
sql.VALUES("qr_code_img_url", "#{qrCodeImgUrl,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getStatus() != null) { |
||||||
|
sql.VALUES("`status`", "#{status,jdbcType=INTEGER}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getCreateTime() != null) { |
||||||
|
sql.VALUES("create_time", "#{createTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getUpdateTime() != null) { |
||||||
|
sql.VALUES("update_time", "#{updateTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt1() != null) { |
||||||
|
sql.VALUES("ext_1", "#{ext1,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt2() != null) { |
||||||
|
sql.VALUES("ext_2", "#{ext2,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt3() != null) { |
||||||
|
sql.VALUES("ext_3", "#{ext3,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
public String selectByExample(BsGasStaffExample example) { |
||||||
|
SQL sql = new SQL(); |
||||||
|
if (example != null && example.isDistinct()) { |
||||||
|
sql.SELECT_DISTINCT("id"); |
||||||
|
} else { |
||||||
|
sql.SELECT("id"); |
||||||
|
} |
||||||
|
sql.SELECT("mer_id"); |
||||||
|
sql.SELECT("avatar"); |
||||||
|
sql.SELECT("`name`"); |
||||||
|
sql.SELECT("telephone"); |
||||||
|
sql.SELECT("position_type"); |
||||||
|
sql.SELECT("position_name"); |
||||||
|
sql.SELECT("qr_code_img_url"); |
||||||
|
sql.SELECT("`status`"); |
||||||
|
sql.SELECT("create_time"); |
||||||
|
sql.SELECT("update_time"); |
||||||
|
sql.SELECT("ext_1"); |
||||||
|
sql.SELECT("ext_2"); |
||||||
|
sql.SELECT("ext_3"); |
||||||
|
sql.FROM("bs_gas_staff"); |
||||||
|
applyWhere(sql, example, false); |
||||||
|
|
||||||
|
if (example != null && example.getOrderByClause() != null) { |
||||||
|
sql.ORDER_BY(example.getOrderByClause()); |
||||||
|
} |
||||||
|
|
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
public String updateByExampleSelective(Map<String, Object> parameter) { |
||||||
|
BsGasStaff record = (BsGasStaff) parameter.get("record"); |
||||||
|
BsGasStaffExample example = (BsGasStaffExample) parameter.get("example"); |
||||||
|
|
||||||
|
SQL sql = new SQL(); |
||||||
|
sql.UPDATE("bs_gas_staff"); |
||||||
|
|
||||||
|
if (record.getId() != null) { |
||||||
|
sql.SET("id = #{record.id,jdbcType=BIGINT}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getMerId() != null) { |
||||||
|
sql.SET("mer_id = #{record.merId,jdbcType=BIGINT}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getAvatar() != null) { |
||||||
|
sql.SET("avatar = #{record.avatar,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getName() != null) { |
||||||
|
sql.SET("`name` = #{record.name,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getTelephone() != null) { |
||||||
|
sql.SET("telephone = #{record.telephone,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getPositionType() != null) { |
||||||
|
sql.SET("position_type = #{record.positionType,jdbcType=INTEGER}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getPositionName() != null) { |
||||||
|
sql.SET("position_name = #{record.positionName,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getQrCodeImgUrl() != null) { |
||||||
|
sql.SET("qr_code_img_url = #{record.qrCodeImgUrl,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getStatus() != null) { |
||||||
|
sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getCreateTime() != null) { |
||||||
|
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getUpdateTime() != null) { |
||||||
|
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt1() != null) { |
||||||
|
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt2() != null) { |
||||||
|
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt3() != null) { |
||||||
|
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
applyWhere(sql, example, true); |
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
public String updateByExample(Map<String, Object> parameter) { |
||||||
|
SQL sql = new SQL(); |
||||||
|
sql.UPDATE("bs_gas_staff"); |
||||||
|
|
||||||
|
sql.SET("id = #{record.id,jdbcType=BIGINT}"); |
||||||
|
sql.SET("mer_id = #{record.merId,jdbcType=BIGINT}"); |
||||||
|
sql.SET("avatar = #{record.avatar,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("`name` = #{record.name,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("telephone = #{record.telephone,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("position_type = #{record.positionType,jdbcType=INTEGER}"); |
||||||
|
sql.SET("position_name = #{record.positionName,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("qr_code_img_url = #{record.qrCodeImgUrl,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); |
||||||
|
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}"); |
||||||
|
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}"); |
||||||
|
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}"); |
||||||
|
|
||||||
|
BsGasStaffExample example = (BsGasStaffExample) parameter.get("example"); |
||||||
|
applyWhere(sql, example, true); |
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
public String updateByPrimaryKeySelective(BsGasStaff record) { |
||||||
|
SQL sql = new SQL(); |
||||||
|
sql.UPDATE("bs_gas_staff"); |
||||||
|
|
||||||
|
if (record.getMerId() != null) { |
||||||
|
sql.SET("mer_id = #{merId,jdbcType=BIGINT}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getAvatar() != null) { |
||||||
|
sql.SET("avatar = #{avatar,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getName() != null) { |
||||||
|
sql.SET("`name` = #{name,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getTelephone() != null) { |
||||||
|
sql.SET("telephone = #{telephone,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getPositionType() != null) { |
||||||
|
sql.SET("position_type = #{positionType,jdbcType=INTEGER}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getPositionName() != null) { |
||||||
|
sql.SET("position_name = #{positionName,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getQrCodeImgUrl() != null) { |
||||||
|
sql.SET("qr_code_img_url = #{qrCodeImgUrl,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getStatus() != null) { |
||||||
|
sql.SET("`status` = #{status,jdbcType=INTEGER}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getCreateTime() != null) { |
||||||
|
sql.SET("create_time = #{createTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getUpdateTime() != null) { |
||||||
|
sql.SET("update_time = #{updateTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt1() != null) { |
||||||
|
sql.SET("ext_1 = #{ext1,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt2() != null) { |
||||||
|
sql.SET("ext_2 = #{ext2,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt3() != null) { |
||||||
|
sql.SET("ext_3 = #{ext3,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
sql.WHERE("id = #{id,jdbcType=BIGINT}"); |
||||||
|
|
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
protected void applyWhere(SQL sql, BsGasStaffExample example, boolean includeExamplePhrase) { |
||||||
|
if (example == null) { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
String parmPhrase1; |
||||||
|
String parmPhrase1_th; |
||||||
|
String parmPhrase2; |
||||||
|
String parmPhrase2_th; |
||||||
|
String parmPhrase3; |
||||||
|
String parmPhrase3_th; |
||||||
|
if (includeExamplePhrase) { |
||||||
|
parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}"; |
||||||
|
parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; |
||||||
|
parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}"; |
||||||
|
parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; |
||||||
|
parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}"; |
||||||
|
parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; |
||||||
|
} else { |
||||||
|
parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}"; |
||||||
|
parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; |
||||||
|
parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}"; |
||||||
|
parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; |
||||||
|
parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}"; |
||||||
|
parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; |
||||||
|
} |
||||||
|
|
||||||
|
StringBuilder sb = new StringBuilder(); |
||||||
|
List<Criteria> oredCriteria = example.getOredCriteria(); |
||||||
|
boolean firstCriteria = true; |
||||||
|
for (int i = 0; i < oredCriteria.size(); i++) { |
||||||
|
Criteria criteria = oredCriteria.get(i); |
||||||
|
if (criteria.isValid()) { |
||||||
|
if (firstCriteria) { |
||||||
|
firstCriteria = false; |
||||||
|
} else { |
||||||
|
sb.append(" or "); |
||||||
|
} |
||||||
|
|
||||||
|
sb.append('('); |
||||||
|
List<Criterion> criterions = criteria.getAllCriteria(); |
||||||
|
boolean firstCriterion = true; |
||||||
|
for (int j = 0; j < criterions.size(); j++) { |
||||||
|
Criterion criterion = criterions.get(j); |
||||||
|
if (firstCriterion) { |
||||||
|
firstCriterion = false; |
||||||
|
} else { |
||||||
|
sb.append(" and "); |
||||||
|
} |
||||||
|
|
||||||
|
if (criterion.isNoValue()) { |
||||||
|
sb.append(criterion.getCondition()); |
||||||
|
} else if (criterion.isSingleValue()) { |
||||||
|
if (criterion.getTypeHandler() == null) { |
||||||
|
sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j)); |
||||||
|
} else { |
||||||
|
sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler())); |
||||||
|
} |
||||||
|
} else if (criterion.isBetweenValue()) { |
||||||
|
if (criterion.getTypeHandler() == null) { |
||||||
|
sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j)); |
||||||
|
} else { |
||||||
|
sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler())); |
||||||
|
} |
||||||
|
} else if (criterion.isListValue()) { |
||||||
|
sb.append(criterion.getCondition()); |
||||||
|
sb.append(" ("); |
||||||
|
List<?> listItems = (List<?>) criterion.getValue(); |
||||||
|
boolean comma = false; |
||||||
|
for (int k = 0; k < listItems.size(); k++) { |
||||||
|
if (comma) { |
||||||
|
sb.append(", "); |
||||||
|
} else { |
||||||
|
comma = true; |
||||||
|
} |
||||||
|
if (criterion.getTypeHandler() == null) { |
||||||
|
sb.append(String.format(parmPhrase3, i, j, k)); |
||||||
|
} else { |
||||||
|
sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler())); |
||||||
|
} |
||||||
|
} |
||||||
|
sb.append(')'); |
||||||
|
} |
||||||
|
} |
||||||
|
sb.append(')'); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if (sb.length() > 0) { |
||||||
|
sql.WHERE(sb.toString()); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -1,7 +1,43 @@ |
|||||||
package com.hfkj.dao; |
package com.hfkj.dao; |
||||||
|
|
||||||
|
import com.hfkj.model.GasListModel; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
import org.apache.ibatis.annotations.Select; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
/** |
/** |
||||||
* mapper扩展类 |
* mapper扩展类 |
||||||
*/ |
*/ |
||||||
public interface BsMerchantMapperExt { |
public interface BsMerchantMapperExt { |
||||||
|
|
||||||
|
@Select("<script>" + |
||||||
|
" select * from (SELECT" + |
||||||
|
" b.mer_no merNo," + |
||||||
|
" b.mer_name merName," + |
||||||
|
" b.address," + |
||||||
|
" b.longitude," + |
||||||
|
" b.latitude," + |
||||||
|
" round(ST_Distance_Sphere(" + |
||||||
|
" point(#{longitude}, #{latitude})," + |
||||||
|
" point(b.longitude, b.latitude)" + |
||||||
|
" ) / 1000, 2) as distance," + |
||||||
|
" a.oil_no oilNo," + |
||||||
|
" a.price_official priceOfficial," + |
||||||
|
" a.price_gun priceGun," + |
||||||
|
" a.price_vip priceVip," + |
||||||
|
" a.gas_station_drop gasStationDrop" + |
||||||
|
" FROM" + |
||||||
|
" bs_gas_oil_price a" + |
||||||
|
" LEFT JOIN bs_merchant b on b.id = a.mer_id" + |
||||||
|
" where a.oil_no = #{oilNo} and a.`status` = 1" + |
||||||
|
" ORDER BY distance asc) a where 1 = 1" + |
||||||
|
"<if test='gasName != null'> and a.merName like concat('%',#{gasName},'%') </if>" + |
||||||
|
"<if test='distanceLimit != null'> <![CDATA[ and a.distance <= #{distanceLimit} ]]> </if>" + |
||||||
|
"</script>") |
||||||
|
List<GasListModel> queryGasList(@Param("longitude") String longitude, |
||||||
|
@Param("latitude") String latitude, |
||||||
|
@Param("oilNo") String oilNo, |
||||||
|
@Param("gasName") String gasName, |
||||||
|
@Param("distanceLimit") Integer distanceLimit); |
||||||
} |
} |
@ -0,0 +1,264 @@ |
|||||||
|
package com.hfkj.entity; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
/** |
||||||
|
* bs_gas_staff |
||||||
|
* @author |
||||||
|
*/ |
||||||
|
/** |
||||||
|
* |
||||||
|
* 代码由工具生成 |
||||||
|
* |
||||||
|
**/ |
||||||
|
public class BsGasStaff implements Serializable { |
||||||
|
/** |
||||||
|
* 主键 |
||||||
|
*/ |
||||||
|
private Long id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 商户id |
||||||
|
*/ |
||||||
|
private Long merId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 员工头像 |
||||||
|
*/ |
||||||
|
private String avatar; |
||||||
|
|
||||||
|
/** |
||||||
|
* 员工名称 |
||||||
|
*/ |
||||||
|
private String name; |
||||||
|
|
||||||
|
/** |
||||||
|
* 员工电话 |
||||||
|
*/ |
||||||
|
private String telephone; |
||||||
|
|
||||||
|
/** |
||||||
|
* 职位类型 1:加油员 |
||||||
|
*/ |
||||||
|
private Integer positionType; |
||||||
|
|
||||||
|
/** |
||||||
|
* 职位类型名称 |
||||||
|
*/ |
||||||
|
private String positionName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 二维码图片地址 |
||||||
|
*/ |
||||||
|
private String qrCodeImgUrl; |
||||||
|
|
||||||
|
/** |
||||||
|
* 状态 0:删除 1:正常 2:禁用 |
||||||
|
*/ |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
/** |
||||||
|
* 创建时间 |
||||||
|
*/ |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改时间 |
||||||
|
*/ |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
private String ext1; |
||||||
|
|
||||||
|
private String ext2; |
||||||
|
|
||||||
|
private String ext3; |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
public Long getId() { |
||||||
|
return id; |
||||||
|
} |
||||||
|
|
||||||
|
public void setId(Long id) { |
||||||
|
this.id = id; |
||||||
|
} |
||||||
|
|
||||||
|
public Long getMerId() { |
||||||
|
return merId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setMerId(Long merId) { |
||||||
|
this.merId = merId; |
||||||
|
} |
||||||
|
|
||||||
|
public String getAvatar() { |
||||||
|
return avatar; |
||||||
|
} |
||||||
|
|
||||||
|
public void setAvatar(String avatar) { |
||||||
|
this.avatar = avatar; |
||||||
|
} |
||||||
|
|
||||||
|
public String getName() { |
||||||
|
return name; |
||||||
|
} |
||||||
|
|
||||||
|
public void setName(String name) { |
||||||
|
this.name = name; |
||||||
|
} |
||||||
|
|
||||||
|
public String getTelephone() { |
||||||
|
return telephone; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTelephone(String telephone) { |
||||||
|
this.telephone = telephone; |
||||||
|
} |
||||||
|
|
||||||
|
public Integer getPositionType() { |
||||||
|
return positionType; |
||||||
|
} |
||||||
|
|
||||||
|
public void setPositionType(Integer positionType) { |
||||||
|
this.positionType = positionType; |
||||||
|
} |
||||||
|
|
||||||
|
public String getPositionName() { |
||||||
|
return positionName; |
||||||
|
} |
||||||
|
|
||||||
|
public void setPositionName(String positionName) { |
||||||
|
this.positionName = positionName; |
||||||
|
} |
||||||
|
|
||||||
|
public String getQrCodeImgUrl() { |
||||||
|
return qrCodeImgUrl; |
||||||
|
} |
||||||
|
|
||||||
|
public void setQrCodeImgUrl(String qrCodeImgUrl) { |
||||||
|
this.qrCodeImgUrl = qrCodeImgUrl; |
||||||
|
} |
||||||
|
|
||||||
|
public Integer getStatus() { |
||||||
|
return status; |
||||||
|
} |
||||||
|
|
||||||
|
public void setStatus(Integer status) { |
||||||
|
this.status = status; |
||||||
|
} |
||||||
|
|
||||||
|
public Date getCreateTime() { |
||||||
|
return createTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setCreateTime(Date createTime) { |
||||||
|
this.createTime = createTime; |
||||||
|
} |
||||||
|
|
||||||
|
public Date getUpdateTime() { |
||||||
|
return updateTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUpdateTime(Date updateTime) { |
||||||
|
this.updateTime = updateTime; |
||||||
|
} |
||||||
|
|
||||||
|
public String getExt1() { |
||||||
|
return ext1; |
||||||
|
} |
||||||
|
|
||||||
|
public void setExt1(String ext1) { |
||||||
|
this.ext1 = ext1; |
||||||
|
} |
||||||
|
|
||||||
|
public String getExt2() { |
||||||
|
return ext2; |
||||||
|
} |
||||||
|
|
||||||
|
public void setExt2(String ext2) { |
||||||
|
this.ext2 = ext2; |
||||||
|
} |
||||||
|
|
||||||
|
public String getExt3() { |
||||||
|
return ext3; |
||||||
|
} |
||||||
|
|
||||||
|
public void setExt3(String ext3) { |
||||||
|
this.ext3 = ext3; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object that) { |
||||||
|
if (this == that) { |
||||||
|
return true; |
||||||
|
} |
||||||
|
if (that == null) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (getClass() != that.getClass()) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
BsGasStaff other = (BsGasStaff) that; |
||||||
|
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) |
||||||
|
&& (this.getMerId() == null ? other.getMerId() == null : this.getMerId().equals(other.getMerId())) |
||||||
|
&& (this.getAvatar() == null ? other.getAvatar() == null : this.getAvatar().equals(other.getAvatar())) |
||||||
|
&& (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName())) |
||||||
|
&& (this.getTelephone() == null ? other.getTelephone() == null : this.getTelephone().equals(other.getTelephone())) |
||||||
|
&& (this.getPositionType() == null ? other.getPositionType() == null : this.getPositionType().equals(other.getPositionType())) |
||||||
|
&& (this.getPositionName() == null ? other.getPositionName() == null : this.getPositionName().equals(other.getPositionName())) |
||||||
|
&& (this.getQrCodeImgUrl() == null ? other.getQrCodeImgUrl() == null : this.getQrCodeImgUrl().equals(other.getQrCodeImgUrl())) |
||||||
|
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus())) |
||||||
|
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime())) |
||||||
|
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime())) |
||||||
|
&& (this.getExt1() == null ? other.getExt1() == null : this.getExt1().equals(other.getExt1())) |
||||||
|
&& (this.getExt2() == null ? other.getExt2() == null : this.getExt2().equals(other.getExt2())) |
||||||
|
&& (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3())); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
final int prime = 31; |
||||||
|
int result = 1; |
||||||
|
result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); |
||||||
|
result = prime * result + ((getMerId() == null) ? 0 : getMerId().hashCode()); |
||||||
|
result = prime * result + ((getAvatar() == null) ? 0 : getAvatar().hashCode()); |
||||||
|
result = prime * result + ((getName() == null) ? 0 : getName().hashCode()); |
||||||
|
result = prime * result + ((getTelephone() == null) ? 0 : getTelephone().hashCode()); |
||||||
|
result = prime * result + ((getPositionType() == null) ? 0 : getPositionType().hashCode()); |
||||||
|
result = prime * result + ((getPositionName() == null) ? 0 : getPositionName().hashCode()); |
||||||
|
result = prime * result + ((getQrCodeImgUrl() == null) ? 0 : getQrCodeImgUrl().hashCode()); |
||||||
|
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode()); |
||||||
|
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode()); |
||||||
|
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode()); |
||||||
|
result = prime * result + ((getExt1() == null) ? 0 : getExt1().hashCode()); |
||||||
|
result = prime * result + ((getExt2() == null) ? 0 : getExt2().hashCode()); |
||||||
|
result = prime * result + ((getExt3() == null) ? 0 : getExt3().hashCode()); |
||||||
|
return result; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String toString() { |
||||||
|
StringBuilder sb = new StringBuilder(); |
||||||
|
sb.append(getClass().getSimpleName()); |
||||||
|
sb.append(" ["); |
||||||
|
sb.append("Hash = ").append(hashCode()); |
||||||
|
sb.append(", id=").append(id); |
||||||
|
sb.append(", merId=").append(merId); |
||||||
|
sb.append(", avatar=").append(avatar); |
||||||
|
sb.append(", name=").append(name); |
||||||
|
sb.append(", telephone=").append(telephone); |
||||||
|
sb.append(", positionType=").append(positionType); |
||||||
|
sb.append(", positionName=").append(positionName); |
||||||
|
sb.append(", qrCodeImgUrl=").append(qrCodeImgUrl); |
||||||
|
sb.append(", status=").append(status); |
||||||
|
sb.append(", createTime=").append(createTime); |
||||||
|
sb.append(", updateTime=").append(updateTime); |
||||||
|
sb.append(", ext1=").append(ext1); |
||||||
|
sb.append(", ext2=").append(ext2); |
||||||
|
sb.append(", ext3=").append(ext3); |
||||||
|
sb.append(", serialVersionUID=").append(serialVersionUID); |
||||||
|
sb.append("]"); |
||||||
|
return sb.toString(); |
||||||
|
} |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,59 @@ |
|||||||
|
package com.hfkj.model; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.math.BigDecimal; |
||||||
|
|
||||||
|
/** |
||||||
|
* 油站列表模型 |
||||||
|
* @className: GasListModel |
||||||
|
* @author: HuRui |
||||||
|
* @date: 2024/6/4 |
||||||
|
**/ |
||||||
|
@Data |
||||||
|
public class GasListModel { |
||||||
|
/** |
||||||
|
* 商户号 |
||||||
|
*/ |
||||||
|
private String merNo; |
||||||
|
/** |
||||||
|
* 商户名称 |
||||||
|
*/ |
||||||
|
private String merName; |
||||||
|
/** |
||||||
|
* 商户地址 |
||||||
|
*/ |
||||||
|
private String address; |
||||||
|
/** |
||||||
|
* 商户经度 |
||||||
|
*/ |
||||||
|
private String longitude; |
||||||
|
/** |
||||||
|
* 商户纬度 |
||||||
|
*/ |
||||||
|
private String latitude; |
||||||
|
/** |
||||||
|
* 距离 |
||||||
|
*/ |
||||||
|
private String distance; |
||||||
|
/** |
||||||
|
* 油品 |
||||||
|
*/ |
||||||
|
private String oilNo; |
||||||
|
/** |
||||||
|
* 国标价 |
||||||
|
*/ |
||||||
|
private BigDecimal priceOfficial; |
||||||
|
/** |
||||||
|
* 枪价 |
||||||
|
*/ |
||||||
|
private BigDecimal priceGun; |
||||||
|
/** |
||||||
|
* VIP价 |
||||||
|
*/ |
||||||
|
private BigDecimal priceVip; |
||||||
|
/** |
||||||
|
* 油站直降 |
||||||
|
*/ |
||||||
|
private BigDecimal gasStationDrop; |
||||||
|
} |
@ -0,0 +1,22 @@ |
|||||||
|
package com.hfkj.model; |
||||||
|
|
||||||
|
import com.hfkj.entity.BsMerchant; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 油站信息模型 |
||||||
|
* @className: GasModel |
||||||
|
* @author: HuRui |
||||||
|
* @date: 2024/6/4 |
||||||
|
**/ |
||||||
|
@Data |
||||||
|
public class GasModel extends BsMerchant { |
||||||
|
|
||||||
|
/** |
||||||
|
* 油站油品 |
||||||
|
*/ |
||||||
|
private List<GasOilPriceModel> gasOilPrice; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,23 @@ |
|||||||
|
package com.hfkj.model; |
||||||
|
|
||||||
|
import com.hfkj.entity.BsGasOilGunNo; |
||||||
|
import com.hfkj.entity.BsGasOilPrice; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 油站油品 |
||||||
|
* @className: GasOilPriceModel |
||||||
|
* @author: HuRui |
||||||
|
* @date: 2024/6/4 |
||||||
|
**/ |
||||||
|
@Data |
||||||
|
public class GasOilPriceModel extends BsGasOilPrice { |
||||||
|
|
||||||
|
/** |
||||||
|
* 油站抢号 |
||||||
|
*/ |
||||||
|
public List<BsGasOilGunNo> gasOilGunNo; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,84 @@ |
|||||||
|
package com.hfkj.model; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.math.BigDecimal; |
||||||
|
|
||||||
|
/** |
||||||
|
* 团购支付价格模型 |
||||||
|
* @author hurui |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class GasPayPriceModel { |
||||||
|
|
||||||
|
/** |
||||||
|
* 加油金额 |
||||||
|
*/ |
||||||
|
private BigDecimal oilingPrice; |
||||||
|
|
||||||
|
/** |
||||||
|
* 优惠价 |
||||||
|
*/ |
||||||
|
private BigDecimal priceVip; |
||||||
|
|
||||||
|
/** |
||||||
|
* 枪价 |
||||||
|
*/ |
||||||
|
private BigDecimal priceGun; |
||||||
|
|
||||||
|
/** |
||||||
|
* 成本价 |
||||||
|
*/ |
||||||
|
private BigDecimal priceCost; |
||||||
|
|
||||||
|
/** |
||||||
|
* 国标价 |
||||||
|
*/ |
||||||
|
private BigDecimal priceOfficial; |
||||||
|
|
||||||
|
/** |
||||||
|
* 平台价 |
||||||
|
*/ |
||||||
|
private BigDecimal pricePlatform; |
||||||
|
|
||||||
|
/** |
||||||
|
* 油站直降 |
||||||
|
*/ |
||||||
|
private BigDecimal gasStationDrop; |
||||||
|
|
||||||
|
/** |
||||||
|
* 平台补贴 |
||||||
|
*/ |
||||||
|
private BigDecimal preferentialMargin; |
||||||
|
|
||||||
|
/** |
||||||
|
* 加油升数,计算方式:加油金额 / 国标价 |
||||||
|
*/ |
||||||
|
private BigDecimal oilLiters; |
||||||
|
|
||||||
|
/** |
||||||
|
* 平台折扣,我们平台或者代理商设置的折扣 |
||||||
|
*/ |
||||||
|
private BigDecimal discount; |
||||||
|
|
||||||
|
/** |
||||||
|
* 每升优惠 |
||||||
|
*/ |
||||||
|
private BigDecimal litersPreferences; |
||||||
|
|
||||||
|
/** |
||||||
|
* 优惠价格 |
||||||
|
*/ |
||||||
|
private BigDecimal pricePreferences; |
||||||
|
|
||||||
|
/** |
||||||
|
* 本次优惠 |
||||||
|
*/ |
||||||
|
private BigDecimal totalPreferences; |
||||||
|
|
||||||
|
/** |
||||||
|
* 支付价格,计算方式:加油金额 - 本次优惠 |
||||||
|
*/ |
||||||
|
private BigDecimal payPrice; |
||||||
|
|
||||||
|
} |
@ -1,4 +1,4 @@ |
|||||||
package com.hfkj.service; |
package com.hfkj.service.gas; |
||||||
|
|
||||||
import com.hfkj.entity.BsGasOilGunNo; |
import com.hfkj.entity.BsGasOilGunNo; |
||||||
import com.hfkj.entity.BsGasOilPrice; |
import com.hfkj.entity.BsGasOilPrice; |
@ -1,4 +1,4 @@ |
|||||||
package com.hfkj.service; |
package com.hfkj.service.gas; |
||||||
|
|
||||||
import com.hfkj.entity.BsGasOilPriceOfficial; |
import com.hfkj.entity.BsGasOilPriceOfficial; |
||||||
|
|
@ -1,4 +1,4 @@ |
|||||||
package com.hfkj.service; |
package com.hfkj.service.gas; |
||||||
|
|
||||||
import com.hfkj.entity.BsGasOilPriceTask; |
import com.hfkj.entity.BsGasOilPriceTask; |
||||||
|
|
@ -0,0 +1,54 @@ |
|||||||
|
package com.hfkj.service.gas; |
||||||
|
|
||||||
|
import com.hfkj.model.GasListModel; |
||||||
|
import com.hfkj.model.GasModel; |
||||||
|
import com.hfkj.model.GasPayPriceModel; |
||||||
|
|
||||||
|
import java.math.BigDecimal; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* @className: BsGasService |
||||||
|
* @author: HuRui |
||||||
|
* @date: 2024/6/4 |
||||||
|
**/ |
||||||
|
public interface BsGasService { |
||||||
|
|
||||||
|
/** |
||||||
|
* 更新缓存 |
||||||
|
* @param data |
||||||
|
*/ |
||||||
|
void cache(GasModel data); |
||||||
|
|
||||||
|
/** |
||||||
|
* 清除缓存 |
||||||
|
* @param merNo |
||||||
|
*/ |
||||||
|
void clean(String merNo); |
||||||
|
|
||||||
|
/** |
||||||
|
* 加油计算 |
||||||
|
* @param refuelPrice |
||||||
|
* @param merNo |
||||||
|
* @param oilNo |
||||||
|
* @param isTyAgent |
||||||
|
* @return |
||||||
|
* @throws Exception |
||||||
|
*/ |
||||||
|
GasPayPriceModel refuelPriceCompute(BigDecimal refuelPrice, String merNo, String oilNo, Boolean isTyAgent) ; |
||||||
|
|
||||||
|
/** |
||||||
|
* 查询油站信息 |
||||||
|
* @param merNo 商户号 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
GasModel getGasDetail(String merNo); |
||||||
|
|
||||||
|
/** |
||||||
|
* 查询油站列表 |
||||||
|
* @param |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
List<GasListModel> getGasList(String longitude,String latitude,String oilNo,String gasName,Integer distanceLimit); |
||||||
|
} |
@ -0,0 +1,51 @@ |
|||||||
|
package com.hfkj.service.gas; |
||||||
|
|
||||||
|
import com.hfkj.entity.BsGasStaff; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* 加油站员工 |
||||||
|
* @author hurui |
||||||
|
*/ |
||||||
|
public interface BsGasStaffService { |
||||||
|
|
||||||
|
/** |
||||||
|
* 编辑员工数据 |
||||||
|
* @param gasStaff |
||||||
|
*/ |
||||||
|
void editData(BsGasStaff gasStaff); |
||||||
|
|
||||||
|
/** |
||||||
|
* 增加员工 |
||||||
|
* @param gasStaff |
||||||
|
*/ |
||||||
|
void addStaff(BsGasStaff gasStaff) throws Exception; |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改员工 |
||||||
|
* @param gasStaff |
||||||
|
*/ |
||||||
|
void updateStaff(BsGasStaff gasStaff); |
||||||
|
|
||||||
|
/** |
||||||
|
* 删除员工 |
||||||
|
* @param id |
||||||
|
*/ |
||||||
|
void delStaff(Long id); |
||||||
|
|
||||||
|
/** |
||||||
|
* 根据id查询 |
||||||
|
* @param id |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
BsGasStaff getStaffDetailById(Long id); |
||||||
|
|
||||||
|
/** |
||||||
|
* 查询员工列表 |
||||||
|
* @param param |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
List<BsGasStaff> getStaffList(Map<String, Object> param); |
||||||
|
} |
@ -1,12 +1,12 @@ |
|||||||
package com.hfkj.service.impl; |
package com.hfkj.service.gas.impl; |
||||||
|
|
||||||
import com.alibaba.fastjson.JSONArray; |
import com.alibaba.fastjson.JSONArray; |
||||||
import com.alibaba.fastjson.JSONObject; |
import com.alibaba.fastjson.JSONObject; |
||||||
import com.hfkj.common.utils.HttpsUtils; |
import com.hfkj.common.utils.HttpsUtils; |
||||||
import com.hfkj.dao.BsGasOilPriceOfficialMapper; |
import com.hfkj.dao.BsGasOilPriceOfficialMapper; |
||||||
import com.hfkj.entity.*; |
import com.hfkj.entity.*; |
||||||
import com.hfkj.service.BsGasOilPriceOfficialService; |
import com.hfkj.service.gas.BsGasOilPriceOfficialService; |
||||||
import com.hfkj.service.BsGasOilPriceService; |
import com.hfkj.service.gas.BsGasOilPriceService; |
||||||
import com.hfkj.service.CommonService; |
import com.hfkj.service.CommonService; |
||||||
import org.apache.commons.collections4.MapUtils; |
import org.apache.commons.collections4.MapUtils; |
||||||
import org.apache.commons.lang3.StringUtils; |
import org.apache.commons.lang3.StringUtils; |
@ -0,0 +1,180 @@ |
|||||||
|
package com.hfkj.service.gas.impl; |
||||||
|
|
||||||
|
import com.hfkj.common.exception.ErrorCode; |
||||||
|
import com.hfkj.common.exception.ErrorHelp; |
||||||
|
import com.hfkj.common.exception.SysCode; |
||||||
|
import com.hfkj.common.utils.RedisUtil; |
||||||
|
import com.hfkj.dao.BsMerchantMapper; |
||||||
|
import com.hfkj.entity.BsGasOilPrice; |
||||||
|
import com.hfkj.entity.BsMerchant; |
||||||
|
import com.hfkj.model.GasListModel; |
||||||
|
import com.hfkj.model.GasModel; |
||||||
|
import com.hfkj.model.GasOilPriceModel; |
||||||
|
import com.hfkj.model.GasPayPriceModel; |
||||||
|
import com.hfkj.service.gas.BsGasOilGunNoService; |
||||||
|
import com.hfkj.service.gas.BsGasOilPriceService; |
||||||
|
import com.hfkj.service.gas.BsGasService; |
||||||
|
import com.hfkj.service.BsMerchantService; |
||||||
|
import org.springframework.beans.BeanUtils; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
import java.math.BigDecimal; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @className: BsGasServiceImpl |
||||||
|
* @author: HuRui |
||||||
|
* @date: 2024/6/4 |
||||||
|
**/ |
||||||
|
@Service("gasService") |
||||||
|
public class BsGasServiceImpl implements BsGasService { |
||||||
|
@Resource |
||||||
|
private BsMerchantMapper merchantMapper; |
||||||
|
@Resource |
||||||
|
private BsMerchantService merchantService; |
||||||
|
@Resource |
||||||
|
private BsGasOilPriceService gasOilPriceService; |
||||||
|
@Resource |
||||||
|
private BsGasOilGunNoService gasOilGunNoService; |
||||||
|
@Resource |
||||||
|
private RedisUtil redisUtil; |
||||||
|
private final static String CACHE_GAS_KEY = "GAS:"; |
||||||
|
|
||||||
|
@Override |
||||||
|
public void cache(GasModel data) { |
||||||
|
redisUtil.set(CACHE_GAS_KEY + data.getMerNo(), data); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void clean(String merNo) { |
||||||
|
redisUtil.del(CACHE_GAS_KEY+merNo); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public GasPayPriceModel refuelPriceCompute(BigDecimal refuelPrice, String merNo, String oilNo, Boolean isTyAgent) { |
||||||
|
// 查询油站信息
|
||||||
|
BsMerchant merchant = merchantService.getMerchant(merNo); |
||||||
|
if (merchant == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到油站"); |
||||||
|
} |
||||||
|
|
||||||
|
// 优惠比例
|
||||||
|
BigDecimal discount = new BigDecimal("100"); |
||||||
|
|
||||||
|
if (isTyAgent != null && isTyAgent.equals(true)) { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
discount = discount.divide(new BigDecimal("100")); |
||||||
|
|
||||||
|
// 查询油站价格
|
||||||
|
BsGasOilPrice gasOilPrice = gasOilPriceService.getGasOilPrice(merchant.getId(), oilNo); |
||||||
|
if (gasOilPrice == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到油站价格"); |
||||||
|
} |
||||||
|
// 国标价
|
||||||
|
BigDecimal priceOfficial = gasOilPrice.getPriceOfficial(); |
||||||
|
// 油站价
|
||||||
|
BigDecimal priceGun = gasOilPrice.getPriceGun(); |
||||||
|
// 油站直降
|
||||||
|
BigDecimal gasStationDrop = gasOilPrice.getGasStationDrop(); |
||||||
|
// 油站优惠价
|
||||||
|
BigDecimal priceVip = gasOilPrice.getPriceVip(); |
||||||
|
|
||||||
|
GasPayPriceModel payPriceModel = new GasPayPriceModel(); |
||||||
|
|
||||||
|
// 嗨森逛平台价 油枪价 * 折扣
|
||||||
|
BigDecimal pricePlatform = priceGun.multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP); |
||||||
|
|
||||||
|
// 加油金额
|
||||||
|
payPriceModel.setOilingPrice(refuelPrice); |
||||||
|
|
||||||
|
// 油站枪价
|
||||||
|
payPriceModel.setPriceGun(priceGun); |
||||||
|
|
||||||
|
// 油站优惠价
|
||||||
|
payPriceModel.setPriceVip(priceVip); |
||||||
|
|
||||||
|
// 油站国标价
|
||||||
|
payPriceModel.setPriceOfficial(priceOfficial); |
||||||
|
|
||||||
|
// 油站直降
|
||||||
|
payPriceModel.setGasStationDrop(gasStationDrop); |
||||||
|
|
||||||
|
// 平台补贴
|
||||||
|
payPriceModel.setPreferentialMargin(gasOilPrice.getPreferentialMargin()); |
||||||
|
|
||||||
|
// 平台价
|
||||||
|
payPriceModel.setPricePlatform(pricePlatform); |
||||||
|
|
||||||
|
// 加油升数,计算方式:加油金额 / 枪价
|
||||||
|
payPriceModel.setOilLiters(refuelPrice.divide(priceGun, 2, BigDecimal.ROUND_HALF_DOWN)); |
||||||
|
|
||||||
|
// 平台折扣,我们平台或者代理商设置的折扣
|
||||||
|
payPriceModel.setDiscount(discount.compareTo(new BigDecimal("1.00")) == 0 ? new BigDecimal("1.00") : discount); |
||||||
|
|
||||||
|
// 加油补贴, 计算方式:加油站枪价 - 加油站VIP价
|
||||||
|
// payPriceModel.setOilSubsidy(priceGun.subtract(priceVip));
|
||||||
|
|
||||||
|
// 折扣,1 -平台折扣
|
||||||
|
BigDecimal decimal1 = new BigDecimal("1").subtract(discount); |
||||||
|
|
||||||
|
// 油枪价 - 平台补贴
|
||||||
|
// BigDecimal price = payPriceModel.getPriceGun().subtract(preferentialMargin);
|
||||||
|
|
||||||
|
// 优惠价格 油站VIP价 * 系统折扣
|
||||||
|
payPriceModel.setPricePreferences(priceVip.multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP)); |
||||||
|
|
||||||
|
// 每升优惠 油站价 - 优惠价格
|
||||||
|
payPriceModel.setLitersPreferences(payPriceModel.getPriceGun().subtract(payPriceModel.getPricePreferences())); |
||||||
|
|
||||||
|
// 本次优惠 加油升数 * 每升优惠
|
||||||
|
payPriceModel.setTotalPreferences(payPriceModel.getOilLiters().multiply(payPriceModel.getLitersPreferences()).setScale(2, BigDecimal.ROUND_HALF_UP)); |
||||||
|
|
||||||
|
// 支付价格 加油金额 - 本次优惠
|
||||||
|
payPriceModel.setPayPrice(refuelPrice.subtract(payPriceModel.getTotalPreferences())); |
||||||
|
|
||||||
|
return payPriceModel; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public GasModel getGasDetail(String merNo) { |
||||||
|
// 缓存
|
||||||
|
Object cacheObj = redisUtil.get(CACHE_GAS_KEY + merNo); |
||||||
|
if (cacheObj != null) { |
||||||
|
return (GasModel) cacheObj; |
||||||
|
} |
||||||
|
// 查询商户
|
||||||
|
BsMerchant merchant = merchantService.getMerchant(merNo); |
||||||
|
if (merchant == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到油站"); |
||||||
|
} |
||||||
|
GasModel gasModel = new GasModel(); |
||||||
|
BeanUtils.copyProperties(merchant, gasModel); |
||||||
|
|
||||||
|
// 查询油品
|
||||||
|
List<BsGasOilPrice> oilNoList = gasOilPriceService.getGasOilPriceList(merchant.getId()); |
||||||
|
|
||||||
|
List<GasOilPriceModel> oilNoModelList = new ArrayList<>(); |
||||||
|
for (BsGasOilPrice gasOilPrice : oilNoList) { |
||||||
|
GasOilPriceModel oilNo = new GasOilPriceModel(); |
||||||
|
BeanUtils.copyProperties(gasOilPrice, oilNo); |
||||||
|
// 查询抢号
|
||||||
|
oilNo.setGasOilGunNo(gasOilGunNoService.getOilGunNoList(merNo)); |
||||||
|
|
||||||
|
oilNoModelList.add(oilNo); |
||||||
|
} |
||||||
|
gasModel.setGasOilPrice(oilNoModelList); |
||||||
|
// 存入缓存
|
||||||
|
cache(gasModel); |
||||||
|
return gasModel; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public List<GasListModel> getGasList(String longitude, String latitude, String oilNo, String gasName, Integer distanceLimit) { |
||||||
|
return merchantMapper.queryGasList(longitude,latitude,oilNo,gasName,distanceLimit); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,150 @@ |
|||||||
|
package com.hfkj.service.gas.impl; |
||||||
|
|
||||||
|
import com.hfkj.common.exception.ErrorCode; |
||||||
|
import com.hfkj.common.exception.ErrorHelp; |
||||||
|
import com.hfkj.common.exception.SysCode; |
||||||
|
import com.hfkj.common.utils.MD5Util; |
||||||
|
import com.hfkj.dao.BsGasStaffMapper; |
||||||
|
import com.hfkj.entity.BsGasStaff; |
||||||
|
import com.hfkj.entity.BsGasStaffExample; |
||||||
|
import com.hfkj.entity.SecUser; |
||||||
|
import com.hfkj.service.gas.BsGasStaffService; |
||||||
|
import com.hfkj.service.sec.SecUserService; |
||||||
|
import com.hfkj.sysenum.SecUserObjectTypeEnum; |
||||||
|
import com.hfkj.sysenum.gas.GasStaffStatus; |
||||||
|
import org.apache.commons.collections4.MapUtils; |
||||||
|
import org.apache.commons.lang3.StringUtils; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
import org.springframework.transaction.annotation.Propagation; |
||||||
|
import org.springframework.transaction.annotation.Transactional; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
import java.util.Date; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
@Service("gasStaffService") |
||||||
|
public class BsGasStaffServiceImpl implements BsGasStaffService { |
||||||
|
|
||||||
|
@Resource |
||||||
|
private BsGasStaffMapper gasStaffMapper; |
||||||
|
|
||||||
|
@Resource |
||||||
|
private SecUserService userService; |
||||||
|
|
||||||
|
@Override |
||||||
|
public void editData(BsGasStaff gasStaff) { |
||||||
|
if (gasStaff.getId() == null) { |
||||||
|
gasStaff.setCreateTime(new Date()); |
||||||
|
gasStaff.setUpdateTime(new Date()); |
||||||
|
gasStaff.setStatus(GasStaffStatus.status1.getStatus()); |
||||||
|
gasStaffMapper.insert(gasStaff); |
||||||
|
} else { |
||||||
|
gasStaff.setUpdateTime(new Date()); |
||||||
|
gasStaffMapper.updateByPrimaryKey(gasStaff); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
@Transactional(propagation= Propagation.REQUIRES_NEW) |
||||||
|
public void addStaff(BsGasStaff gasStaff) throws Exception { |
||||||
|
if (userService.getDetailByLoginName(gasStaff.getTelephone()) != null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "电话已存在,请更换"); |
||||||
|
} |
||||||
|
editData(gasStaff); |
||||||
|
|
||||||
|
SecUser secUser = new SecUser(); |
||||||
|
secUser.setAvatar(gasStaff.getAvatar()); |
||||||
|
secUser.setUserName(gasStaff.getName()); |
||||||
|
secUser.setLoginName(gasStaff.getTelephone()); |
||||||
|
secUser.setPassword(MD5Util.encode("123456".getBytes())); |
||||||
|
secUser.setStatus(1); |
||||||
|
secUser.setRoleId(4L); |
||||||
|
secUser.setObjectType(SecUserObjectTypeEnum.type3.getCode()); |
||||||
|
secUser.setObjectId(gasStaff.getId()); |
||||||
|
secUser.setCreateTime(new Date()); |
||||||
|
secUser.setUpdateTime(new Date()); |
||||||
|
userService.editUser(secUser); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
@Transactional(propagation= Propagation.REQUIRES_NEW) |
||||||
|
public void updateStaff(BsGasStaff gasStaff) { |
||||||
|
BsGasStaff detail = getStaffDetailById(gasStaff.getId()); |
||||||
|
if (detail == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); |
||||||
|
} |
||||||
|
|
||||||
|
if (!detail.getTelephone().equals(gasStaff.getTelephone())) { |
||||||
|
if (userService.getDetailByLoginName(gasStaff.getTelephone()) != null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "电话已存在,请更换"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
editData(gasStaff); |
||||||
|
|
||||||
|
// 查询账户
|
||||||
|
SecUser account = userService.getDetail(SecUserObjectTypeEnum.type3, gasStaff.getId()); |
||||||
|
if (account == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到账户"); |
||||||
|
} |
||||||
|
account.setAvatar(gasStaff.getAvatar()); |
||||||
|
account.setUserName(gasStaff.getName()); |
||||||
|
account.setLoginName(gasStaff.getTelephone()); |
||||||
|
account.setUpdateTime(new Date()); |
||||||
|
userService.editUser(account); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
@Transactional(propagation= Propagation.REQUIRES_NEW) |
||||||
|
public void delStaff(Long id) { |
||||||
|
BsGasStaff gasStaff = getStaffDetailById(id); |
||||||
|
if (gasStaff == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到员工"); |
||||||
|
} |
||||||
|
gasStaff.setStatus(GasStaffStatus.status0.getStatus()); |
||||||
|
editData(gasStaff); |
||||||
|
|
||||||
|
// 查询账户
|
||||||
|
SecUser account = userService.getDetail(SecUserObjectTypeEnum.type3, gasStaff.getId()); |
||||||
|
if (account == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到账户"); |
||||||
|
} |
||||||
|
account.setStatus(0); |
||||||
|
userService.editUser(account); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public BsGasStaff getStaffDetailById(Long id) { |
||||||
|
return gasStaffMapper.selectByPrimaryKey(id); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public List<BsGasStaff> getStaffList(Map<String, Object> param) { |
||||||
|
BsGasStaffExample example = new BsGasStaffExample(); |
||||||
|
BsGasStaffExample.Criteria criteria = example.createCriteria().andStatusNotEqualTo(0); |
||||||
|
|
||||||
|
if (MapUtils.getLong(param, "merchantStoreId") != null) { |
||||||
|
criteria.andMerchantStoreIdEqualTo(MapUtils.getLong(param, "merchantStoreId")); |
||||||
|
} |
||||||
|
|
||||||
|
if (StringUtils.isNotBlank(MapUtils.getString(param, "name"))) { |
||||||
|
criteria.andNameLike("%" + MapUtils.getString(param, "name") + "%"); |
||||||
|
} |
||||||
|
|
||||||
|
if (StringUtils.isNotBlank(MapUtils.getString(param, "telephone"))) { |
||||||
|
criteria.andTelephoneLike("%" + MapUtils.getString(param, "telephone") + "%"); |
||||||
|
} |
||||||
|
|
||||||
|
if (MapUtils.getInteger(param, "positionType") != null) { |
||||||
|
criteria.andPositionTypeEqualTo(MapUtils.getInteger(param, "positionType")); |
||||||
|
} |
||||||
|
|
||||||
|
if (MapUtils.getInteger(param, "status") != null) { |
||||||
|
criteria.andStatusEqualTo(MapUtils.getInteger(param, "status")); |
||||||
|
} |
||||||
|
|
||||||
|
example.setOrderByClause("create_time desc"); |
||||||
|
return gasStaffMapper.selectByExample(example); |
||||||
|
} |
||||||
|
} |
@ -1,4 +1,4 @@ |
|||||||
package com.hfkj.sysenum; |
package com.hfkj.sysenum.gas; |
||||||
|
|
||||||
import java.util.Objects; |
import java.util.Objects; |
||||||
|
|
@ -1,4 +1,4 @@ |
|||||||
package com.hfkj.sysenum; |
package com.hfkj.sysenum.gas; |
||||||
|
|
||||||
import java.util.Objects; |
import java.util.Objects; |
||||||
|
|
@ -0,0 +1,36 @@ |
|||||||
|
package com.hfkj.sysenum.gas; |
||||||
|
|
||||||
|
/** |
||||||
|
* 加油站员工状态 |
||||||
|
* @author hurui |
||||||
|
*/ |
||||||
|
public enum GasStaffStatus { |
||||||
|
status0(0 , "删除"), |
||||||
|
status1(1 , "正常"), |
||||||
|
status2(2 , "禁用"), |
||||||
|
; |
||||||
|
|
||||||
|
private Integer status; |
||||||
|
private String name; |
||||||
|
|
||||||
|
GasStaffStatus(int status , String name) { |
||||||
|
this.status = status; |
||||||
|
this.name = name; |
||||||
|
} |
||||||
|
|
||||||
|
public Integer getStatus() { |
||||||
|
return status; |
||||||
|
} |
||||||
|
|
||||||
|
public void setStatus(Integer status) { |
||||||
|
this.status = status; |
||||||
|
} |
||||||
|
|
||||||
|
public String getName() { |
||||||
|
return name; |
||||||
|
} |
||||||
|
|
||||||
|
public void setName(String name) { |
||||||
|
this.name = name; |
||||||
|
} |
||||||
|
} |
@ -1,4 +1,4 @@ |
|||||||
package com.hfkj.sysenum; |
package com.hfkj.sysenum.gas; |
||||||
|
|
||||||
/** |
/** |
||||||
* 加油站价格任务 |
* 加油站价格任务 |
@ -1,4 +1,4 @@ |
|||||||
package com.hfkj.sysenum; |
package com.hfkj.sysenum.gas; |
||||||
|
|
||||||
/** |
/** |
||||||
* 加油站价格任务 |
* 加油站价格任务 |
@ -1,4 +1,4 @@ |
|||||||
package com.hfkj.sysenum; |
package com.hfkj.sysenum.gas; |
||||||
|
|
||||||
/** |
/** |
||||||
* 加油站价格任务 |
* 加油站价格任务 |
Loading…
Reference in new issue